From 259fa8a2adca0df48782a560a52248380c6f4ce7 Mon Sep 17 00:00:00 2001 From: hellocloudwebdev Date: Thu, 22 Oct 2026 01:03:41 +0530 Subject: [PATCH 1/2] feat(desktop): redesign the shell as a floating shelf window 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. --- Docs/assets/ui-redesign/after-grid-dark.webp | Bin 0 -> 43090 bytes Docs/assets/ui-redesign/after-grid-light.webp | Bin 0 -> 42018 bytes Docs/assets/ui-redesign/after-list-light.webp | Bin 0 -> 48498 bytes .../ui-redesign/after-rail-collapsed.webp | Bin 0 -> 27938 bytes Docs/assets/ui-redesign/before-grid.webp | Bin 0 -> 39724 bytes app/bundle-budget.json | 4 +- app/src/App.css | 791 ++++++++++++++++++ app/src/App.tsx | 11 + .../components/desktop/DesktopDashboard.tsx | 88 +- .../desktop/dashboard/DriveFrame.tsx | 24 + .../components/desktop/dashboard/FileCard.tsx | 131 ++- .../desktop/dashboard/FileExplorer.tsx | 33 +- .../desktop/dashboard/FileListItem.tsx | 5 +- .../components/desktop/dashboard/Sidebar.tsx | 616 ++++++++------ .../desktop/dashboard/SidebarItem.tsx | 9 +- .../components/desktop/dashboard/TopBar.tsx | 466 ++++++----- app/src/components/dev/ShellPreview.tsx | 160 ++++ 17 files changed, 1759 insertions(+), 579 deletions(-) create mode 100644 Docs/assets/ui-redesign/after-grid-dark.webp create mode 100644 Docs/assets/ui-redesign/after-grid-light.webp create mode 100644 Docs/assets/ui-redesign/after-list-light.webp create mode 100644 Docs/assets/ui-redesign/after-rail-collapsed.webp create mode 100644 Docs/assets/ui-redesign/before-grid.webp create mode 100644 app/src/components/desktop/dashboard/DriveFrame.tsx create mode 100644 app/src/components/dev/ShellPreview.tsx diff --git a/Docs/assets/ui-redesign/after-grid-dark.webp b/Docs/assets/ui-redesign/after-grid-dark.webp new file mode 100644 index 0000000000000000000000000000000000000000..c7a690a6f3cfbcca60e8165f564f9741d3ebf696 GIT binary patch literal 43090 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 literal 0 HcmV?d00001 diff --git a/Docs/assets/ui-redesign/after-grid-light.webp b/Docs/assets/ui-redesign/after-grid-light.webp new file mode 100644 index 0000000000000000000000000000000000000000..39330b7db3438026b1f062f1050e9c1b75bf5e88 GIT binary patch literal 42018 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 z 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 TQmbwUYpCV8yE>i)3hI9VkNOx| literal 0 HcmV?d00001 diff --git a/Docs/assets/ui-redesign/after-list-light.webp b/Docs/assets/ui-redesign/after-list-light.webp new file mode 100644 index 0000000000000000000000000000000000000000..2d7990d7cf84be737560887dc075ef5ff8801c3e GIT binary patch literal 48498 zcmb@sW0YiFwgsBDZQC{~ZQHh0iArZyqSCf)Rob>yY1?+jtFLvx?%REPjQ3vrh!N|I zh`sk&d+xdBnkST{#Ko;Ufq*o`gca2lxrp?Ce|BsI%>t(R0$~OwV8oOpNk&pwkf$8h z6AK4zW&d_r{wbx4M69oROS3m_)Ng$fkjcSpuhMJ&as)cV+58z9fAOTZkwhrt*ZEfd z+Ijr#Q{$4d1@g?H#!u9*r7Kr39bo%0^7I4H|5kT7{nq?Cy(;LBcmUYx)bKk6002?f zydOayTL8dw4p8?5VAOBzu>)}SR(9S0X#udf+-e8BF#jB;fKH^j7mK_)fU}*EeZzbK+!$i^Id#i{Fml9N-!7dl k#S4VGH25OuoJTT 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 XsMvh{{+TM-ETM%gwN%ITugm`rzYXBB literal 0 HcmV?d00001 diff --git a/Docs/assets/ui-redesign/before-grid.webp b/Docs/assets/ui-redesign/before-grid.webp new file mode 100644 index 0000000000000000000000000000000000000000..8d271bfc67600a755633d4f465e9915087989dba GIT binary patch literal 39724 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 literal 0 HcmV?d00001 diff --git a/app/bundle-budget.json b/app/bundle-budget.json index 8a672c5..e399a0d 100644 --- a/app/bundle-budget.json +++ b/app/bundle-budget.json @@ -2,7 +2,7 @@ "maxInitialJavaScriptBytes": 550000, "maxJavaScriptChunkBytes": 550000, "maxTotalJavaScriptBytes": 3300000, - "maxTotalCssBytes": 140000, + "maxTotalCssBytes": 160000, "maxTotalLocaleDataBytes": 1600000, "maxLocaleDataBytes": 120000, "routeJavaScriptBudgets": { @@ -15,5 +15,5 @@ "src/components/desktop/dashboard/ArchiveViewerModal.tsx": 25000, "node_modules/hls.js/dist/hls.mjs": 540000 }, - "policy": "No-regression ceilings based on the lazy-feature and lazy-locale production build. Increases require an explicit performance review. PdfViewer raised 500000 -> 510000 for the pdfjs-dist 6.3.289 security upgrade (GHSA-hq66-cqwq-w95j)." + "policy": "No-regression ceilings based on the lazy-feature and lazy-locale production build. Increases require an explicit performance review. PdfViewer raised 500000 -> 510000 for the pdfjs-dist 6.3.289 security upgrade (GHSA-hq66-cqwq-w95j). Total CSS raised 140000 -> 160000 for the desktop shell theme layer (tinted desk, floating window, sidebar rail, content tiles and list rows), which adds ~16 kB of hand-written CSS so the shell derives every surface from the existing app-* tokens and keeps user themes intact." } diff --git a/app/src/App.css b/app/src/App.css index 6a26604..5f97ed7 100644 --- a/app/src/App.css +++ b/app/src/App.css @@ -1155,6 +1155,797 @@ label.search-field input[type="search"]:focus-visible { min-width: 9rem; } +/* ═══════════════════════════════════════════════════════════════════════ + Shelf Daylight — desktop shell + One floating rounded window resting on a tinted desk: hairline dividers, + quiet pill controls, tinted file tiles with their label underneath. + Every colour is derived from the active --color-app-* palette, so the + built-in base themes and any stored custom theme keep working. + ═══════════════════════════════════════════════════════════════════════ */ + +.drive-shell { + --drive-canvas: color-mix(in srgb, var(--color-app-canvas) 93%, var(--color-app-text) 7%); + --drive-window: var(--color-app-surface-raised); + --drive-rail: color-mix(in srgb, var(--color-app-surface-raised) 93%, var(--color-app-canvas)); + --drive-tile: color-mix(in srgb, var(--color-app-text) 4%, var(--color-app-surface-raised)); + --drive-pill: color-mix(in srgb, var(--color-app-text) 6%, transparent); + --drive-pill-strong: color-mix(in srgb, var(--color-app-text) 10%, transparent); + --drive-hairline: color-mix(in srgb, var(--color-app-border) 78%, transparent); + --drive-hairline-strong: var(--color-app-border); + --drive-shadow-window: 0 1px 2px rgba(12, 24, 46, 0.04), 0 18px 40px -18px rgba(12, 24, 46, 0.24); + --drive-shadow-tile: 0 1px 2px rgba(12, 24, 46, 0.05); + --drive-shadow-tile-hover: 0 2px 4px rgba(12, 24, 46, 0.05), 0 14px 26px -14px rgba(12, 24, 46, 0.26); + --drive-shadow-art: 0 1px 2px rgba(12, 24, 46, 0.06), 0 8px 16px -8px rgba(12, 24, 46, 0.2); + --drive-radius-window: 1.375rem; + --drive-radius-tile: 0.875rem; + + display: flex; + height: 100%; + width: 100%; + min-height: 0; + overflow: hidden; + padding: 0.625rem; + background: var(--drive-canvas); +} + +/* Reference values for the two shipped base themes. Custom themes keep the + color-mix() derivation above so their own palette stays authoritative. */ +:root.light:not(.custom-theme) .drive-shell { + --drive-canvas: #e9ecf1; + --drive-window: #ffffff; + --drive-rail: #fcfcfd; + --drive-tile: #f4f5f7; + --drive-pill: #f0f2f5; + --drive-pill-strong: #e8ebef; + --drive-hairline: #eaedf1; + --drive-hairline-strong: #dfe3e9; + --drive-shadow-window: 0 1px 2px rgba(17, 32, 58, 0.06), 0 24px 56px -26px rgba(17, 32, 58, 0.3); + --drive-shadow-tile: 0 1px 2px rgba(17, 32, 58, 0.05); + --drive-shadow-tile-hover: 0 2px 3px rgba(17, 32, 58, 0.05), 0 12px 22px -14px rgba(17, 32, 58, 0.3); + --drive-shadow-art: 0 1px 2px rgba(17, 32, 58, 0.07), 0 8px 16px -8px rgba(17, 32, 58, 0.22); +} + +:root.dark:not(.custom-theme) .drive-shell { + --drive-canvas: #05080f; + --drive-window: #101725; + --drive-rail: #0d131f; + --drive-tile: #161e2e; + --drive-pill: rgba(255, 255, 255, 0.06); + --drive-pill-strong: rgba(255, 255, 255, 0.1); + --drive-hairline: rgba(255, 255, 255, 0.07); + --drive-hairline-strong: rgba(255, 255, 255, 0.13); + --drive-shadow-window: 0 24px 60px -26px rgba(0, 0, 0, 0.8); + --drive-shadow-tile: 0 1px 2px rgba(0, 0, 0, 0.4); + --drive-shadow-tile-hover: 0 10px 24px -14px rgba(0, 0, 0, 0.8); + --drive-shadow-art: 0 6px 16px -8px rgba(0, 0, 0, 0.7); +} + +.drive-window { + display: flex; + min-height: 0; + width: 100%; + overflow: hidden; + border: 1px solid var(--drive-hairline); + border-radius: var(--drive-radius-window); + background: var(--drive-window); + box-shadow: var(--drive-shadow-window); +} + +.drive-window-sidebar { + display: flex; + flex: 0 0 auto; + min-height: 0; + border-inline-end: 1px solid var(--drive-hairline); + background: var(--drive-rail); +} + +.drive-window-main { + position: relative; + display: flex; + flex: 1 1 auto; + min-width: 0; + min-height: 0; + flex-direction: column; + background: var(--drive-window); +} + +/* ── Navigation column ─────────────────────────────────────────────────── */ + +.drive-sidebar { + display: flex; + min-height: 0; + flex-direction: column; +} + +.drive-sidebar-head { + display: flex; + flex: none; + align-items: center; + gap: 0.625rem; + padding: 1rem 0.75rem 0.875rem 1rem; +} + +.drive-logo-tile { + display: grid; + flex: none; + place-items: center; + height: 2.25rem; + width: 2.25rem; + border: 1px solid var(--drive-hairline); + border-radius: 0.75rem; + background: + radial-gradient(120% 120% at 18% 0%, color-mix(in srgb, var(--color-app-accent) 18%, transparent), transparent 72%), + var(--drive-window); + box-shadow: var(--drive-shadow-tile); +} + +.drive-sidebar-identity { + display: flex; + min-width: 0; + flex-direction: column; + gap: 0.0625rem; +} + +.drive-sidebar-name { + font-size: 0.9375rem; + font-weight: 650; + line-height: 1.15; + letter-spacing: -0.015em; + color: var(--color-app-text); +} + +.drive-sidebar-sub { + font-size: 0.6875rem; + line-height: 0.9375rem; + color: var(--color-app-text-secondary); +} + +.drive-collapse { + display: grid; + flex: none; + place-items: center; + height: 1.875rem; + width: 1.875rem; + border-radius: 0.5rem; + color: var(--color-app-text-secondary); + transition: color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard); +} + +.drive-collapse:hover { + background: var(--drive-pill); + color: var(--color-app-text); +} + +.drive-sidebar-actions { + display: flex; + flex: none; + flex-direction: column; + gap: 0.25rem; + padding: 0 0.625rem 0.25rem; +} + +.drive-upload { + display: flex; + align-items: center; + justify-content: center; + gap: 0.5rem; + height: 2.5rem; + width: 100%; + border: 1px solid var(--drive-hairline-strong); + border-radius: 0.75rem; + background: var(--drive-window); + font-size: 0.8125rem; + font-weight: 600; + letter-spacing: -0.005em; + color: var(--color-app-text); + box-shadow: var(--drive-shadow-tile); + transition: border-color var(--motion-fast) var(--ease-standard), + box-shadow var(--motion-fast) var(--ease-standard), + background-color var(--motion-fast) var(--ease-standard); +} + +.drive-upload:hover { + border-color: color-mix(in srgb, var(--color-app-text) 26%, transparent); + box-shadow: var(--drive-shadow-tile-hover); +} + +.drive-upload:active { + background: var(--drive-pill); +} + +.drive-icon-circle { + display: grid; + flex: none; + place-items: center; + height: 1.875rem; + width: 1.875rem; + border: 1px solid var(--drive-hairline-strong); + border-radius: 999px; + background: var(--drive-window); + color: var(--color-app-text-secondary); + transition: color var(--motion-fast) var(--ease-standard), + border-color var(--motion-fast) var(--ease-standard), + background-color var(--motion-fast) var(--ease-standard); +} + +.drive-icon-circle:hover { + border-color: color-mix(in srgb, var(--color-app-text) 24%, transparent); + background: var(--drive-pill); + color: var(--color-app-text); +} + +.drive-mini-btn { + display: grid; + flex: none; + place-items: center; + height: 1.5rem; + width: 1.5rem; + border-radius: 0.375rem; + color: var(--color-app-text-tertiary); + transition: color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard); +} + +.drive-mini-btn:hover { + background: var(--drive-pill); + color: var(--color-app-text); +} + + + + + +.drive-nav-label { + padding: 0.875rem 0.5rem 0.375rem; + font-size: 0.6875rem; + font-weight: 600; + letter-spacing: 0.07em; + text-transform: uppercase; + color: var(--color-app-text-tertiary); +} + +.drive-nav-row { + display: flex; + align-items: center; + gap: 0.625rem; + height: 2rem; + width: 100%; + padding-inline: 0.5rem; + border-radius: 0.625rem; + font-size: 0.8125rem; + font-weight: 500; + letter-spacing: -0.005em; + color: var(--color-app-text-secondary); + transition: color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), + box-shadow var(--motion-fast) var(--ease-standard); +} + +.drive-nav-row:hover { + background: var(--drive-pill); + color: var(--color-app-text); +} + +.drive-nav-row[data-active="true"] { + background: var(--drive-pill-strong); + color: var(--color-app-text); + font-weight: 600; + box-shadow: inset 0 0 0 1px var(--drive-hairline); +} + +.drive-nav-row[data-active="true"] .drive-nav-icon { + color: var(--color-app-text); +} + +.drive-nav-row[data-active="true"] .drive-nav-icon, +.drive-nav-row[data-active="true"]:hover .drive-nav-icon { + color: var(--color-app-accent); +} + +.drive-nav-row[data-drop="true"] { + background: color-mix(in srgb, var(--color-app-accent) 12%, transparent); + box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-app-accent) 45%, transparent); + color: var(--color-app-text); +} + +.drive-divider { + height: 1px; + margin: 0.5rem 0.5rem; + background: var(--drive-hairline); +} + +.drive-sidebar-scroll { + display: flex; + min-height: 0; + flex: 1 1 auto; + flex-direction: column; + gap: 0.0625rem; + overflow-y: auto; + padding: 0 0.5rem 0.5rem; +} + +.drive-sidebar-utility { + flex: none; + padding: 0.5rem 0.625rem; + border-top: 1px solid var(--drive-hairline); +} + +.drive-new-folder { + display: flex; + align-items: center; + gap: 0.5rem; + height: 2.125rem; + width: 100%; + padding-inline: 0.625rem; + border: 1px dashed var(--drive-hairline-strong); + border-radius: 0.625rem; + font-size: 0.75rem; + font-weight: 600; + color: var(--color-app-text-secondary); + transition: color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), + background-color var(--motion-fast) var(--ease-standard); +} + +.drive-new-folder:hover { + border-color: color-mix(in srgb, var(--color-app-accent) 48%, transparent); + background: color-mix(in srgb, var(--color-app-accent) 5%, transparent); + color: var(--color-app-accent); +} + +.drive-sidebar-footer { + display: flex; + flex: none; + flex-direction: column; + gap: 0.5rem; + padding: 0.75rem; + border-top: 1px solid var(--drive-hairline); +} + +.drive-status { + display: flex; + align-items: center; + gap: 0.5rem; + font-size: 0.6875rem; + color: var(--color-app-text-secondary); +} + +.drive-footer-actions { + display: flex; + gap: 0.5rem; +} + +.drive-footer-btn { + display: flex; + flex: 1 1 0; + align-items: center; + justify-content: center; + gap: 0.375rem; + height: 1.875rem; + padding-inline: 0.625rem; + border: 1px solid var(--drive-hairline-strong); + border-radius: 0.625rem; + font-size: 0.6875rem; + font-weight: 600; + color: var(--color-app-text-secondary); + transition: color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), + border-color var(--motion-fast) var(--ease-standard); +} + +.drive-footer-btn:hover { + background: var(--drive-pill); + color: var(--color-app-text); +} + +.drive-footer-btn[data-tone="danger"]:hover { + border-color: color-mix(in srgb, var(--color-app-danger) 38%, var(--drive-hairline-strong)); + background: color-mix(in srgb, var(--color-app-danger) 10%, transparent); + color: var(--color-app-danger); +} + +/* ── Content column ────────────────────────────────────────────────────── */ + +.drive-header { + display: flex; + flex: none; + align-items: center; + gap: 1rem; + padding: 1.0625rem 1.375rem 0.8125rem; +} + +.drive-title { + font-size: 1.25rem; + font-weight: 650; + line-height: 1.5rem; + letter-spacing: -0.025em; + color: var(--color-app-text); +} + +.drive-search { + display: flex; + align-items: center; + gap: 0.5rem; + height: 2.125rem; + min-width: 0; + max-width: 24rem; + flex: 1 1 auto; + padding-inline: 0.8125rem; + border: 1px solid var(--drive-hairline); + border-radius: 999px; + background: var(--drive-tile); + color: var(--color-app-text-secondary); + transition: border-color var(--motion-fast) var(--ease-standard), + background-color var(--motion-fast) var(--ease-standard), + box-shadow var(--motion-fast) var(--ease-standard); +} + +.drive-search:hover { + border-color: var(--drive-hairline-strong); +} + +.drive-search:focus-within { + border-color: color-mix(in srgb, var(--color-app-accent) 45%, transparent); + background: var(--drive-window); + box-shadow: 0 0 0 3px var(--color-app-accent-soft); +} + +.drive-actions { + display: flex; + flex: none; + align-items: center; + gap: 0.4375rem; + margin-inline-start: auto; +} + +.drive-icon-btn { + display: grid; + flex: none; + place-items: center; + height: 2.125rem; + width: 2.125rem; + border-radius: 999px; + color: var(--color-app-text-secondary); + transition: color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard); +} + +.drive-icon-btn:hover { + background: var(--drive-pill); + color: var(--color-app-text); +} + +.drive-icon-btn[data-state="open"] { + background: var(--drive-pill-strong); + color: var(--color-app-text); +} + +.drive-pill-btn { + display: flex; + flex: none; + align-items: center; + gap: 0.4375rem; + height: 2.125rem; + padding-inline: 0.9375rem; + border: 1px solid transparent; + border-radius: 999px; + font-size: 0.8125rem; + font-weight: 600; + letter-spacing: -0.005em; + transition: background-color var(--motion-fast) var(--ease-standard), + border-color var(--motion-fast) var(--ease-standard), + box-shadow var(--motion-fast) var(--ease-standard); +} + +.drive-pill-btn[data-tone="primary"] { + background: var(--color-app-accent); + color: var(--color-app-accent-contrast); + box-shadow: 0 1px 2px rgba(12, 24, 46, 0.16), + 0 10px 20px -12px color-mix(in srgb, var(--color-app-accent) 75%, transparent); +} + +.drive-pill-btn[data-tone="primary"]:hover { + background: var(--color-app-accent-hover); +} + +.drive-pill-btn[data-tone="secondary"] { + border-color: var(--drive-hairline-strong); + background: var(--drive-window); + color: var(--color-app-text); + box-shadow: var(--drive-shadow-tile); +} + +.drive-pill-btn[data-tone="secondary"]:hover { + border-color: color-mix(in srgb, var(--color-app-text) 26%, transparent); +} + +.drive-sortbar { + display: flex; + flex: none; + align-items: center; + gap: 0.5rem; + padding: 0 1.375rem 0.75rem; +} + +.drive-sort-label { + font-size: 0.75rem; + color: var(--color-app-text-secondary); +} + +.drive-sort-btn { + display: flex; + align-items: center; + gap: 0.375rem; + height: 1.75rem; + padding-inline: 0.5rem; + border-radius: 0.5rem; + font-size: 0.75rem; + font-weight: 600; + color: var(--color-app-text-secondary); + transition: color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard); +} + +.drive-sort-btn:hover { + background: var(--drive-pill); + color: var(--color-app-text); +} + +.drive-content { + min-height: 0; + flex: 1 1 auto; + overflow: auto; + padding: 0.125rem 1.375rem 1.5rem; +} + + +/* ── File tiles ────────────────────────────────────────────────────────── */ + +.shelf-card { + display: flex; + flex-direction: column; + height: 100%; + min-width: 0; + cursor: pointer; +} + +.shelf-tile { + position: relative; + width: 100%; + flex: none; + overflow: hidden; + border: 1px solid var(--drive-hairline); + border-radius: var(--drive-radius-tile); + background: var(--drive-tile); + transition: border-color var(--motion-standard) var(--ease-standard), + box-shadow var(--motion-standard) var(--ease-standard), + background-color var(--motion-standard) var(--ease-standard); +} + +.shelf-card:hover .shelf-tile { + border-color: var(--drive-hairline-strong); + box-shadow: var(--drive-shadow-tile-hover); +} + +.shelf-card:focus-visible .shelf-tile { + outline: 2px solid var(--color-app-accent); + outline-offset: 2px; +} + +.shelf-card[data-drag-over="true"] .shelf-tile { + border-color: var(--color-app-accent); + background: color-mix(in srgb, var(--color-app-accent) 10%, var(--drive-tile)); +} + +.shelf-card[data-selected="true"] .shelf-tile { + border-color: var(--color-app-accent); + background: color-mix(in srgb, var(--color-app-accent) 6%, var(--drive-tile)); + box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-app-accent) 30%, transparent); +} + +.shelf-tile[data-tint="folder"] { + background: color-mix(in srgb, var(--color-app-accent) 5%, var(--drive-tile)); +} + +.shelf-tile[data-tint="rose"] { + background: color-mix(in srgb, #fb7185 6%, var(--drive-tile)); +} + +.shelf-tile[data-tint="violet"] { + background: color-mix(in srgb, #8b5cf6 6%, var(--drive-tile)); +} + +.shelf-tile[data-tint="emerald"] { + background: color-mix(in srgb, #10b981 6%, var(--drive-tile)); +} + +.shelf-tile[data-tint="sky"] { + background: color-mix(in srgb, #0ea5e9 6%, var(--drive-tile)); +} + +.shelf-tile[data-tint="amber"] { + background: color-mix(in srgb, #f59e0b 8%, var(--drive-tile)); +} + +.shelf-tile[data-tint="slate"] { + background: color-mix(in srgb, #64748b 5%, var(--drive-tile)); +} + +.shelf-art { + position: absolute; + inset: 0; + display: grid; + place-items: center; +} + +.shelf-art-badge { + display: grid; + place-items: center; + height: 2.75rem; + width: 2.75rem; + border: 1px solid var(--drive-hairline); + border-radius: 0.875rem; + background: color-mix(in srgb, var(--drive-window) 88%, transparent); + box-shadow: var(--drive-shadow-art); +} + +.shelf-stack { + position: relative; + display: grid; + height: 100%; + width: 100%; + place-items: center; +} + +.shelf-stack-sheet { + position: absolute; + height: 42%; + width: 46%; + border: 1px solid var(--drive-hairline); + border-radius: 0.5rem; + background: color-mix(in srgb, var(--drive-window) 86%, transparent); + box-shadow: var(--drive-shadow-tile); +} + +.shelf-stack-sheet:nth-child(1) { + transform: translate(4%, -30%) rotate(-6deg); + opacity: 0.55; +} + +.shelf-stack-sheet:nth-child(2) { + transform: translate(-3%, -12%) rotate(4deg); + opacity: 0.8; +} + +.shelf-stack-face { + position: relative; + z-index: 1; + display: grid; + place-items: center; + height: 2.5rem; + width: 2.5rem; + margin-top: 12%; + border: 1px solid var(--drive-hairline); + border-radius: 0.75rem; + background: var(--drive-window); + box-shadow: var(--drive-shadow-art); +} + +.shelf-tile-meta { + display: flex; + align-items: flex-start; + gap: 0.375rem; + padding: 0.5rem 0.125rem 0; +} + +.shelf-name { + font-size: 0.8125rem; + font-weight: 600; + line-height: 1.0625rem; + letter-spacing: -0.008em; + color: var(--color-app-text); +} + +.shelf-sub { + margin-top: 0.0625rem; + font-size: 0.6875rem; + line-height: 0.9375rem; + color: var(--color-app-text-secondary); +} + +.shelf-more { + display: grid; + flex: none; + place-items: center; + height: 1.5rem; + width: 1.5rem; + border-radius: 999px; + opacity: 0; + color: var(--color-app-text-secondary); + transition: opacity var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard); +} + +.shelf-card:hover .shelf-more, +.shelf-card:focus-within .shelf-more { + opacity: 1; +} + +.shelf-more:hover { + background: var(--drive-pill-strong); + color: var(--color-app-text); +} + +@media (hover: none) { + .shelf-more { + opacity: 1; + } +} + + +.shelf-add { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 0.4375rem; + height: 100%; + width: 100%; + border: 1px dashed var(--drive-hairline-strong); + border-radius: var(--drive-radius-tile); + font-size: 0.75rem; + font-weight: 600; + color: var(--color-app-text-secondary); + transition: color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), + background-color var(--motion-fast) var(--ease-standard); +} + +.shelf-add:hover { + border-color: color-mix(in srgb, var(--color-app-accent) 50%, transparent); + background: color-mix(in srgb, var(--color-app-accent) 5%, transparent); + color: var(--color-app-accent); +} + +.shelf-add-icon { + display: grid; + place-items: center; + height: 2.125rem; + width: 2.125rem; + border: 1px solid var(--drive-hairline-strong); + border-radius: 999px; + background: var(--drive-window); +} + +/* ── List view ─────────────────────────────────────────────────────────── */ + +.drive-list-head { + display: grid; + align-items: center; + gap: 0.75rem; + height: 2rem; + padding-inline: 0.625rem; + border-bottom: 1px solid var(--drive-hairline); + font-size: 0.6875rem; + font-weight: 600; + letter-spacing: 0.06em; + text-transform: uppercase; + color: var(--color-app-text-tertiary); +} + +.drive-list-row { + display: grid; + align-items: center; + gap: 0.75rem; + height: 2.5rem; + padding-inline: 0.625rem; + border-bottom: 1px solid var(--drive-hairline); + border-radius: 0.5rem; + font-size: 0.8125rem; + color: var(--color-app-text); + transition: background-color var(--motion-fast) var(--ease-standard); +} + +.drive-list-row:hover { + background: var(--drive-pill); +} + +.drive-list-row[data-selected="true"] { + background: color-mix(in srgb, var(--color-app-accent) 8%, transparent); +} + @media (prefers-reduced-motion: reduce) { .tv-shell button:focus-visible, .tv-shell a[href]:focus-visible, diff --git a/app/src/App.tsx b/app/src/App.tsx index 497fd31..df4b53b 100644 --- a/app/src/App.tsx +++ b/app/src/App.tsx @@ -22,6 +22,10 @@ const AccessibilityAudit = import.meta.env.DEV const AccessibilityFixtures = import.meta.env.DEV ? React.lazy(() => import("./components/dev/AccessibilityFixtures")) : null; +// Desktop shell preview with sample content: UI review without a Telegram session. +const ShellPreview = import.meta.env.DEV + ? React.lazy(() => import("./components/dev/ShellPreview")) + : null; // Mobile shell: ships in the production build for phones/tablets and is // also previewable in a browser via ?mobile without an Android device. const MobileDashboard = React.lazy(() => import("./components/mobile/MobileDashboard")); @@ -262,6 +266,9 @@ function App() { const showAccessibilityFixture = Boolean( AccessibilityFixtures && typeof window !== 'undefined' && new URLSearchParams(window.location.search).has('a11y-fixture') ); + const showShellPreview = Boolean( + ShellPreview && typeof window !== 'undefined' && new URLSearchParams(window.location.search).has('shell-preview') + ); return ( @@ -272,6 +279,10 @@ function App() { }> + ) : showShellPreview && ShellPreview ? ( + }> + + ) : showDesignGallery && DesignGallery ? ( }> diff --git a/app/src/components/desktop/DesktopDashboard.tsx b/app/src/components/desktop/DesktopDashboard.tsx index 1b965f6..7571770 100644 --- a/app/src/components/desktop/DesktopDashboard.tsx +++ b/app/src/components/desktop/DesktopDashboard.tsx @@ -25,6 +25,7 @@ import { formatBytes, isMediaFile, isPdfFile, isArchiveFile, isImageFile, copyTo // Components import { Sidebar } from './dashboard/Sidebar'; +import { DriveFrame } from './dashboard/DriveFrame'; import { TopBar } from './dashboard/TopBar'; import { FileExplorer, type SortDirection, type SortField } from './dashboard/FileExplorer'; import { TransferCenter } from './dashboard/TransferCenter'; @@ -727,7 +728,7 @@ export function Dashboard({ onLogout }: { onLogout: () => void }) { onDragCancel={() => setInternalDrag(null)} onDragEnd={handleInternalDragEnd} > -

+
void }) { )} - setRenameFolder({ id, name })} - onToggleVisibility={async (id, _name, isPublic) => { - try { - await handleFolderToggleVisibility(id, !isPublic); - queryClient.invalidateQueries({ queryKey: ['folders'] }); - } catch { /* toast handled in hook */ } - }} - onExportInvite={async (id, _name) => { - try { - const info = await handleExportFolderInvite(id); + setRenameFolder({ id, name })} + onToggleVisibility={async (id, _name, isPublic) => { try { - await copyToClipboard(info.link); - toast.success(`Invite link copied: ${info.link}`); - } catch (e) { - toast.error(`Failed to copy to clipboard: ${e}`); - } - } catch { /* backend error already toasted in hook */ } - }} - onCreate={handleCreateFolder} - isSyncing={isSyncing} - isConnected={isConnected} - onSync={() => void handleManualSync()} - onLogout={handleLogout} - bandwidth={bandwidth || null} - onAssignFolderToGroup={handleAssignFolderToGroup} - onCreateGroup={handleCreateGroup} - onUpdateGroup={handleUpdateGroup} - onDeleteGroup={handleDeleteGroup} - createFolderRequest={createFolderRequest} - activeSmartView={activeSmartView} - onSmartViewChange={setActiveSmartView} - /> + await handleFolderToggleVisibility(id, !isPublic); + queryClient.invalidateQueries({ queryKey: ['folders'] }); + } catch { /* toast handled in hook */ } + }} + onExportInvite={async (id, _name) => { + try { + const info = await handleExportFolderInvite(id); + try { + await copyToClipboard(info.link); + toast.success(`Invite link copied: ${info.link}`); + } catch (e) { + toast.error(`Failed to copy to clipboard: ${e}`); + } + } catch { /* backend error already toasted in hook */ } + }} + onCreate={handleCreateFolder} + isSyncing={isSyncing} + isConnected={isConnected} + onSync={() => void handleManualSync()} + onLogout={handleLogout} + bandwidth={bandwidth || null} + onAssignFolderToGroup={handleAssignFolderToGroup} + onCreateGroup={handleCreateGroup} + onUpdateGroup={handleUpdateGroup} + onDeleteGroup={handleDeleteGroup} + createFolderRequest={createFolderRequest} + activeSmartView={activeSmartView} + onSmartViewChange={setActiveSmartView} + onUpload={handleManualUpload} + /> + } + > -
-
void }) { onNewFolderClick={() => setCreateFolderRequest((value) => value + 1)} onShowShortcuts={() => setShowShortcuts(true)} onShowHelp={() => setShowHelp(true)} + onOpenLibrary={() => setWorkspaceKeys([])} /> {(searchTerm.trim().length > 0 || searchFilters.type !== 'all' || searchFilters.size !== 'any' || searchFilters.date !== 'any') && ( -
+

{displayedFiles.length.toLocaleString()} result{displayedFiles.length === 1 ? '' : 's'}{searchTerm.trim() ? <> for "{searchTerm}" : null}

@@ -898,7 +902,7 @@ export function Dashboard({ onLogout }: { onLogout: () => void }) { syncProgress={folderSyncProgress} selectionDisabled={isCrossFolderView} /> -
+
{workspaceKeys !== null && setWorkspaceKeys(null)} onOpen={(file, orderedFiles, localPath) => handlePreview(file, orderedFiles, localPath)} onFolder={id => { setWorkspaceKeys(null); setActiveSmartView(null); setActiveFolderId(id); }} />} diff --git a/app/src/components/desktop/dashboard/DriveFrame.tsx b/app/src/components/desktop/dashboard/DriveFrame.tsx new file mode 100644 index 0000000..e1ea80e --- /dev/null +++ b/app/src/components/desktop/dashboard/DriveFrame.tsx @@ -0,0 +1,24 @@ +import type { ReactNode } from 'react'; + +interface DriveFrameProps { + sidebar: ReactNode; + children: ReactNode; +} + +/** + * Desktop window frame: one floating rounded window holding the navigation + * column and the content column. Shared by the live dashboard and the + * development shell preview so both stay pixel-identical. + */ +export function DriveFrame({ sidebar, children }: DriveFrameProps) { + return ( +
+
+ {sidebar} +
+
+ {children} +
+
+ ); +} diff --git a/app/src/components/desktop/dashboard/FileCard.tsx b/app/src/components/desktop/dashboard/FileCard.tsx index c0ab8c4..85c2725 100644 --- a/app/src/components/desktop/dashboard/FileCard.tsx +++ b/app/src/components/desktop/dashboard/FileCard.tsx @@ -1,6 +1,6 @@ import { sourceFolder } from '../../../services/fileIdentity'; import { useCallback, useState, useEffect } from 'react'; -import { Folder, Eye, Trash2, Link, Check } from 'lucide-react'; +import { Folder, Eye, Trash2, Link, Check, MoreVertical } from 'lucide-react'; import { useDraggable, useDroppable } from '@dnd-kit/core'; import { TelegramFile } from '../../../types'; import { forgetThumbnail, getCachedThumbnail, loadThumbnail } from '../../../services/imagePreviewCache'; @@ -13,6 +13,26 @@ import { EncryptionBadge } from '../../shared/EncryptionBadge'; import { describeFileActions } from './fileActionDescriptors'; import i18n from '../../../i18n'; +/** Height reserved under the artwork for the name and metadata lines. */ +export const FILE_CARD_LABEL_HEIGHT = 46; + +type TileTint = 'folder' | 'rose' | 'violet' | 'emerald' | 'sky' | 'amber' | 'slate'; + +const TINTS_BY_EXTENSION: Record = { + jpg: 'rose', jpeg: 'rose', png: 'rose', gif: 'rose', webp: 'rose', bmp: 'rose', heic: 'rose', avif: 'rose', svg: 'rose', + mp4: 'violet', mov: 'violet', mkv: 'violet', webm: 'violet', avi: 'violet', m4v: 'violet', + xls: 'emerald', xlsx: 'emerald', csv: 'emerald', ods: 'emerald', numbers: 'emerald', + pdf: 'sky', doc: 'sky', docx: 'sky', txt: 'sky', md: 'sky', rtf: 'sky', odt: 'sky', pages: 'sky', ppt: 'sky', pptx: 'sky', + zip: 'amber', rar: 'amber', '7z': 'amber', tar: 'amber', gz: 'amber', bz2: 'amber', +}; + +/** Quiet, type-coded wash so tiles read as content without shouting. */ +function tileTint(file: TelegramFile, isFolder: boolean): TileTint { + if (isFolder) return 'folder'; + const ext = file.name.split('.').pop()?.toLowerCase() || ''; + return TINTS_BY_EXTENSION[ext] ?? 'slate'; +} + interface FileCardProps { file: TelegramFile; onDelete: () => void; @@ -108,27 +128,34 @@ export function FileCard({ file, onDelete, onDownload, onPreview, onShare, isSel return () => { cancelled = true; }; }, [file.id, file.name, sourceFolderId, isFolder]); + const openMenu = (event: React.MouseEvent) => { + event.preventDefault(); + event.stopPropagation(); + onContextMenu?.(event); + }; + return (
- {/* Thumbnail or Icon */} + {/* Artwork: real thumbnail when available, tinted glyph otherwise */} {thumbnail ? ( -
+ <> {!thumbnailReady && } - {/* Gradient overlay for text readability */} -
-
+ ) : ( -
+
{isFolder ? ( - - ) : thumbnailLoading && isImageFile(file.name) ? ( - + ) : ( - + )}
)} - {/* Selection Checkmark */} + {/* Selection toggle */} - {/* File info overlay at bottom */} -
-

{file.name}

-
-

{file.sizeStr}

+ {/* Quick actions on hover */} +
+ + + {actions.canShare && onShare && ( + + )} + +
+
+ + {/* Label and metadata live under the artwork, the way a shelf is read */} +
+
+

{file.name}

+
+ {file.sizeStr} {cachedQualities.length > 0 && ( {cachedQualities.map(q => ( - + {q} @@ -191,24 +246,18 @@ export function FileCard({ file, onDelete, onDownload, onPreview, onShare, isSel )}
- - {/* Quick actions on hover */} -
- - - {actions.canShare && onShare && ( - - )} - -
+ )}
) diff --git a/app/src/components/desktop/dashboard/FileExplorer.tsx b/app/src/components/desktop/dashboard/FileExplorer.tsx index c16d07c..af98b93 100644 --- a/app/src/components/desktop/dashboard/FileExplorer.tsx +++ b/app/src/components/desktop/dashboard/FileExplorer.tsx @@ -4,7 +4,7 @@ import { Plus, ArrowUpDown, ArrowUp, ArrowDown, FolderUp } from 'lucide-react'; import { useVirtualizer } from '@tanstack/react-virtual'; import { useTranslation } from 'react-i18next'; import { useSettings } from '../../../context/SettingsContext'; -import { FileCard } from './FileCard'; +import { FileCard, FILE_CARD_LABEL_HEIGHT } from './FileCard'; import { EmptyState } from './EmptyState'; import { TelegramFile, TelegramFolder } from '../../../types'; import { ContextMenu } from './ContextMenu'; @@ -102,7 +102,8 @@ export function FileExplorer({ const columns = Math.min(desiredColumns, safeColumns); const cardWidth = (containerWidth - (GRID_GAP * (columns - 1))) / columns; - const cardHeight = Math.max(MIN_CARD_HEIGHT, cardWidth * 0.75); // 4:3 until the protected minimum + // Artwork keeps a 4:3-ish frame; the label block underneath is fixed so rows stay even. + const cardHeight = Math.max(MIN_CARD_HEIGHT, cardWidth * 0.58) + FILE_CARD_LABEL_HEIGHT; const handleContextMenu = useCallback((e: React.MouseEvent, file: TelegramFile) => { e.preventDefault(); @@ -189,7 +190,7 @@ export function FileExplorer({ if (loading || (!error && syncProgress?.active && files.length === 0)) { return ( -
+
{viewMode === 'grid' ? (
{Array.from({ length: 12 }, (_, index) => ( @@ -216,12 +217,12 @@ export function FileExplorer({ } if (error) { - return
Error loading files
; + return
Error loading files
; } if (files.length === 0) { return ( -
+
); @@ -230,7 +231,7 @@ export function FileExplorer({ return (
{syncProgress?.active && syncProgress.count > 0 && (
@@ -263,10 +264,10 @@ export function FileExplorer({ ); @@ -276,10 +277,10 @@ export function FileExplorer({ ); @@ -310,9 +311,9 @@ export function FileExplorer({
) : ( -
+
{/* List Header */} -
+
#
); @@ -357,10 +358,10 @@ export function FileExplorer({ >
); diff --git a/app/src/components/desktop/dashboard/FileListItem.tsx b/app/src/components/desktop/dashboard/FileListItem.tsx index 9ea4741..4eceb36 100644 --- a/app/src/components/desktop/dashboard/FileListItem.tsx +++ b/app/src/components/desktop/dashboard/FileListItem.tsx @@ -71,10 +71,11 @@ export function FileListItem({ style={{ opacity: isDragging ? 0.45 : undefined }} {...(!isFolder ? attributes : {})} {...(!isFolder ? listeners : {})} - className={`group grid h-10 cursor-pointer grid-cols-[1.75rem_minmax(0,1fr)_2rem] items-center gap-3 border-b border-app-border-subtle px-3 transition-colors hover:bg-app-hover sm:grid-cols-[1.75rem_minmax(0,2fr)_6rem_8rem_2rem] + className={`drive-list-row grid-cols-[1.75rem_minmax(0,1fr)_2rem] group cursor-pointer sm:grid-cols-[1.75rem_minmax(0,2fr)_6rem_8rem_2rem] ${selectedIds.includes(file.id) ? 'bg-app-selected' : ''} - ${isFileDragOver ? 'bg-app-selected ring-2 ring-inset ring-app-accent' : ''} + ${isFileDragOver ? 'ring-2 ring-inset ring-app-accent' : ''} `} + data-selected={selectedIds.includes(file.id)} >
{isFolder ? : } diff --git a/app/src/components/desktop/dashboard/Sidebar.tsx b/app/src/components/desktop/dashboard/Sidebar.tsx index df29355..57e2191 100644 --- a/app/src/components/desktop/dashboard/Sidebar.tsx +++ b/app/src/components/desktop/dashboard/Sidebar.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { HardDrive, Folder, Plus, RefreshCw, LogOut, ChevronLeft, ChevronRight, Settings2, Trash2, Check, X, Eye, EyeOff, Clock3, Star, FileWarning, Copy, Database, Files, Image, Film, FileText } from 'lucide-react'; +import { HardDrive, Folder, Plus, RefreshCw, LogOut, ChevronLeft, ChevronRight, Settings2, Trash2, Check, X, Eye, EyeOff, Clock3, Star, FileWarning, Copy, Database, Files, Image, Film, FileText, UploadCloud, Search } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import { SidebarItem } from './SidebarItem'; import { BandwidthWidget } from './BandwidthWidget'; @@ -65,10 +65,10 @@ function GroupTab({ id, groupId, label, colorHex, active, onClick, onEdit, isSor {...attributes} {...listeners} onClick={onClick} - className={`quiet-control flex h-7 flex-shrink-0 cursor-pointer select-none items-center gap-1.5 border px-2 text-badge font-medium ${ + className={`flex h-7 flex-shrink-0 cursor-pointer select-none items-center gap-1.5 rounded-full border px-2.5 text-badge font-medium transition-colors ${ active - ? 'border-app-accent/30 bg-app-selected text-app-accent' - : 'border-app-border bg-app-surface text-app-text-secondary hover:border-app-border-strong hover:text-app-text' + ? 'border-app-border-strong bg-app-surface-raised text-app-text' + : 'border-app-border-subtle bg-transparent text-app-text-secondary hover:bg-app-hover hover:text-app-text' }`} > {colorHex && ( @@ -115,12 +115,14 @@ interface SidebarProps { createFolderRequest?: number; activeSmartView?: SmartView | null; onSmartViewChange?: (view: SmartView | null) => void; + onUpload?: () => void; } export function Sidebar({ folders, groups = [], activeFolderId, setActiveFolderId, onDelete, onRename, onToggleVisibility, onExportInvite, onCreate, isSyncing, isConnected, onSync, onLogout, bandwidth, - onAssignFolderToGroup, onCreateGroup, onUpdateGroup, onDeleteGroup, createFolderRequest = 0, activeSmartView = null, onSmartViewChange + onAssignFolderToGroup, onCreateGroup, onUpdateGroup, onDeleteGroup, createFolderRequest = 0, activeSmartView = null, onSmartViewChange, + onUpload, }: SidebarProps) { const [showNewFolderInput, setShowNewFolderInput] = useState(false); const { t } = useTranslation(); @@ -167,276 +169,356 @@ export function Sidebar({ return folder.group_id === activeGroupId; }); + /** Focus the shared search field in the header so the sidebar shortcut + * lands on the single source of truth for the query. */ + const focusSearch = () => { + const input = document.querySelector('input[data-file-search]'); + if (!input) return; + input.focus(); + input.select(); + }; + + const openSettings = () => window.dispatchEvent(new Event('shelf-drive-open-settings')); + const collapsed = settings.sidebarCollapsed; + return ( -