Redesign phase 2: nav groups, Ebony theme, status chips, files API shared/hold (#311) #313
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/redesign-phase2"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Second pass on the file-browser redesign (#311), covering the two PR1 gaps the operator flagged plus PR2/PR3.
Frontend (web/static/index.html)
SharedandThis instancesub-headers (.navgrp) the mockup shows; each label auto-hides when all of its items are hidden.blacktheme value end-to-end: option in the Appearance dialog,applyPrefs()promoted from binary light/dark to tri-state (system→light/dark, plus explicit black), new-token palette + per-accent overrides (handoff values), and an old-token fallback block so admin/preview/dialog surfaces stay dark under Ebony.Sharedchip and anOn holdchip, driven by the new API fields below. Owner column stays hidden (no backing data — see below).Backend (PR2)
GET /api/v1/filesitems now carrysharedandhold(omitempty). Newinternal/api/listmeta.go:shared— the caller has an active (non-expired) public link on the path.hold— a legal hold covers the path or an ancestor.Resolvebefore matching (cheap, no I/O). Best-effort: a disabled subsystem or an unresolvable path just yields no flag; listing never fails on a badge.owner(storage.FileInfo has no uploader),lock(the only lock is the instance boot-guard, not per-file),itemCount(would be an N+1 on the main-screen hot path). Inventing owner/lock data would be misleading in a product with real legal-hold semantics.Gate
Applied via anchored splices (assert count==1 each).
go vet ./...clean,go test ./internal/api/...green (newapplyFlagsunit tests),go build ./cmd/cairndOK,node --checkon the app scripts OK.Visual confirmation (Ebony, chips, nav labels) is left for the operator — Cairn's in-memory sessions require a fresh login after deploy, which the agent cannot do.