Shares view rev 3 (#571): underline tabs, grouped cards, shared-with-me table #643

Merged
Cordy merged 10 commits from fix-571v3 into main 2026-09-22 02:20:09 +00:00
Owner

The approved shares-view-571-rev3.html mockup, implemented.

  • Tabs: the Shares view adopts the app-wide underline idiom (.admtab, exactly as Admin and Federated render it) with counts that vanish at zero. The boxed .stab styling is deleted, and the style guide gains a Tabs section making underline the canon.
  • My shares: grouped-by-file cards — sunk path header (dimmed folder prefix + file icon), one row per person/group/link/federated share with avatar chips, the editable role select restyled to badge shape, link expiry + Key-link/Password/File-drop badges kept, and bordered Copy/Revoke buttons via one sharesRevokeBtn helper (type pinned; the v0.6.236 guard follows it).
  • Shared with me: a navigating table — Name, Shared by, Access (with the honest "via group" note), Modified. sharedResp gains Modified = the file's mtime statted through the /shared overlay the caller already reads from (best-effort, grant-date fallback client-side).
  • Empty states: dashed cards for both tabs. Eight new strings ×4 languages; orphaned noSharedWithMe/sharedBy keys and .slink styling leave with the old list.

Guards: shares-tabs.test.js (static pins) + a rewritten shares-view.test.js glue harness that renders both tabs against a fake DOM.

The approved `shares-view-571-rev3.html` mockup, implemented. - **Tabs**: the Shares view adopts the app-wide underline idiom (`.admtab`, exactly as Admin and Federated render it) with counts that vanish at zero. The boxed `.stab` styling is deleted, and the style guide gains a Tabs section making underline the canon. - **My shares**: grouped-by-file cards — sunk path header (dimmed folder prefix + file icon), one row per person/group/link/federated share with avatar chips, the editable role select restyled to badge shape, link expiry + Key-link/Password/File-drop badges kept, and bordered Copy/Revoke buttons via one `sharesRevokeBtn` helper (type pinned; the v0.6.236 guard follows it). - **Shared with me**: a navigating table — Name, Shared by, Access (with the honest "via group" note), Modified. `sharedResp` gains `Modified` = the file's mtime statted through the `/shared` overlay the caller already reads from (best-effort, grant-date fallback client-side). - **Empty states**: dashed cards for both tabs. Eight new strings ×4 languages; orphaned `noSharedWithMe`/`sharedBy` keys and `.slink` styling leave with the old list. Guards: `shares-tabs.test.js` (static pins) + a rewritten `shares-view.test.js` glue harness that renders both tabs against a fake DOM.
The tabs adopt the app-wide underline idiom (.admtab, as in Admin and Federated) with counts that vanish at zero; the boxed .stab styling dies and the style guide gains a Tabs section making underline the canon. My shares becomes the approved grouped-by-file cards: sunk path header with dimmed folder prefix and file icon, avatar chips (person initials, group square, link glyph, federated at-sign), the editable role select restyled to badge shape, link expiry and badges kept, and bordered Copy/Revoke buttons instead of bare red text. Shared with me becomes a navigating table (Name, Shared by, Access with via-group note, Modified = file mtime statted through the /shared overlay, falling back to the grant date). Both tabs get honest dashed empty states. Eight new strings x4 languages; the orphaned noSharedWithMe/sharedBy keys and slink styling leave with the old list.
Changelog for v0.6.238
All checks were successful
ci / test-and-build (pull_request) Successful in 1m6s
9736f0776a
Cordy merged commit 9d3c712f6e into main 2026-09-22 02:20:09 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#643
No description provided.