List Sidebar & Drag-Drop
The sidebar shows the user’s Lists and Groups and supports drag-and-drop reordering and grouping. It is built from islands in src/islands over the offline cache.
Components
Section titled “Components”ListCollection.tsx/ListItem.tsx— render the flat + grouped Lists;GroupHeader.tsxrenders expandable/collapsible Groups;MainColumn.tsxcomposes the sidebar column.- Drag-and-drop sets the persisted custom order (fractional
rank) — per-User for Lists and Groups (Product Brief §5.2). A List can move into/out of a Group; Groups never nest (spec 008). For shared Lists, order + group are per-viewer (stored onlistMembers), so each Member arranges them independently (see Idempotency & List-Members Repos).
Counts
Section titled “Counts”List/View counts shown in the sidebar come from src/lib/sidebar/counts-store.ts + src/lib/offline/sidebar-counts.ts (see Sidebar Counts & Local-Today).
Related: Fractional Rank Algorithm (the order keys), Sort Modes & Reordering, Group/List Context Menus, Sidebar Counts & Local-Today.