feat(settings): add comfortable/compact density toggle (#683)

Adds a per-device appearance preference that compresses row, cell, and
tile padding across dashboard, settings, audit log, and every shared
table without changing typography or layout structure.

Density is stored in localStorage and applied to the document body as a
class that swaps a set of CSS variables. Components opt in by consuming
the tokens, so the global table primitive scales all seven consumers at
once.

A new Appearance section in the Identity group lets users pick between
Comfortable and Compact via a Combobox, with a helper line that
reflects the current choice.
This commit is contained in:
Anso
2026-04-18 18:48:58 -04:00
committed by GitHub
parent 591dc75d1e
commit ad90bd9404
14 changed files with 167 additions and 11 deletions
+20 -1
View File
@@ -13,7 +13,7 @@ Open the Settings Hub by clicking the **Profile** icon in the top bar and select
| Group | What it covers |
|-------|----------------|
| **Identity** | Account, License, Users, SSO, API Tokens |
| **Identity** | Account, Appearance, License, Users, SSO, API Tokens |
| **System** (node-scoped) | System Limits, Registries, Nodes |
| **Alerts** | Notifications, Routing, Webhooks |
| **Advanced** | Labels, Security, Developer, App Store, Support, About |
@@ -54,6 +54,25 @@ Click **Update Password** to apply. The change takes effect immediately; existin
---
## Appearance
**Scope:** Per-device (saved to this browser only)
Control how much information Sencho packs on screen. Each browser you sign in from remembers its own choice, so a compact laptop setup does not force the same rhythm on a larger desktop.
<Frame>
<img src="/images/settings/appearance-density.png" alt="Appearance settings showing the Density selector" />
</Frame>
| Density | When to pick it |
|---------|-----------------|
| **Comfortable** | Default spacing. Roomier rows and tiles for review and orientation. |
| **Compact** | Tighter rows and tiles. Fits more stacks, tasks, and audit entries on screen at once. |
Density affects the dashboard stack table, the resource gauge strip, the Settings Hub sidebar, the Schedules and Audit Log tables, and every other data table in Sencho. Typography, color, and layout structure stay the same; only vertical padding compresses.
---
## License
**Scope:** Global