Repository navigation
feat(desktop): redesign the shell as a floating shelf window - #1
Merged
hellocloudwebdev merged 2 commits intoOct 22, 2026
Merged
Conversation
Rework the desktop UI to the new mockup: a tinted desk with a floating rounded window, a sidebar rail with brand tile, upload pill, circular quick actions and pill navigation, a header with inline search and action cluster, a sort row, and large content tiles whose name, metadata and actions sit under the artwork. - App.css: add a "Shelf Daylight" layer that derives every surface from the existing app-* tokens, with light/dark reference values. Stored custom themes keep working and the design-gallery fixtures stay pixel-identical. - DriveFrame: new window / sidebar / main frame used by the dashboard. - Sidebar, SidebarItem: rail layout, upload entry point, search and settings quick actions, group chips, collapsible footer and rail. - TopBar: header with title, search, filter, action cluster and sort row; the workspace/library entry moved into the overflow menu. - FileCard, FileExplorer, FileListItem: artwork tiles with type-coded tints, label and metadata underneath, hover action pill, list head and rows, upload tiles. - ShellPreview: dev-only fixture (?shell-preview) for UI review without a Telegram session. - bundle-budget.json: total CSS raised 140000 -> 160000 for the layer. Verified: tsc, vitest 301 tests, Playwright 26 tests, i18n:check, build:verify.
…hadow The group editor lived on the old quiet surface and added its own side margins inside the new rail padding. Give it the rail's card treatment and replace the accent-tinted glow on the primary pill with a neutral shadow that reads the same in light and dark.
Contributor
Author
|
Added the Windows installers for 4.5.0 were built from this branch on Windows 11 x64 (Rust 1.98.1,
Both carry |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Redesigns the desktop UI to match the new shelf mockup: a tinted desk with a floating rounded window, a sidebar rail (brand tile, upload pill, circular quick actions, pill navigation), a header with inline search plus an action cluster, a sort row, and large content tiles whose name, metadata and actions sit under the artwork.
Before vs after
How it is built
app/src/App.css— new "Shelf Daylight" layer that derives every surface (--drive-canvas,--drive-window,--drive-rail,--drive-tile, hairlines, shadows, radii) from the existing--color-app-*tokens withcolor-mix(), plus explicit light/dark reference values under:root.light:not(.custom-theme)and:root.dark:not(.custom-theme). Stored custom themes and the 15 presets keep working; global@themetokens,--radius-*,quiet-*classes and sharedui/primitives are untouched, so the committed design-gallery snapshots stay pixel-identical.DriveFrame.tsx— new window frame (sidebar column + main column) used byDesktopDashboard.Sidebar.tsx/SidebarItem.tsx— rail layout, upload entry point (wired to the existing manual upload), search and settings quick actions, group chips, collapsible footer, 64px collapsed rail.TopBar.tsx— header with title, inline search, filter,Create Folder/Uploadpills, view toggle, overflow menu (the workspace/library entry moved here) and a separate sort row.FileCard.tsx/FileExplorer.tsx/FileListItem.tsx— artwork tiles with type-coded tints, name and metadata below the artwork, hover action pill and a...menu button, list head and rows, restyled upload tiles.ShellPreview.tsx— dev-only fixture (?shell-preview,&view=list) that mounts the real chrome with sample data, so the shell can be reviewed without a Telegram session.bundle-budget.json— total CSS raised140000 -> 160000for the theme layer (~16 kB), documented inpolicy.Behaviour
No functional changes: same data flow, drag and drop, context menus, selection, sorting, filters, folder actions, sync, logout, bandwidth widget and shortcuts. Sidebar search/settings shortcuts now focus the header search and open the settings dialog. All new icon buttons carry
aria-label+title; contrast, focus rings andprefers-reduced-motionare preserved.Verification
npx tsc --noEmitnpm run test— 59 files / 301 testsnpx playwright test— 26 tests, including the pixel snapshots and the axe audit of the real dashboard screennpm run i18n:check— literal debt 449 / 486, no new keysnpm run build:verify— build + bundle budgets