mirror of
https://gh-proxy.org/https://github.com/klinsmaya/multica.git
synced 2026-11-08 17:36:45 +08:00
Before: the project sidebar's Library tab was an empty placeholder, and a project had no place to put a file that does not belong to an issue. After: the tab lists every file the project's issues carry in two collapsible groups with counts, Deliverables (agent uploads) and Files (member uploads). It filters by kind, switches between list and grid (remembered per workspace), opens a file in the full-screen deliverable focus, jumps to its issue from the identifier chip, pages with "Load more", and stays current when files are added or removed. "Add" uploads to the project's "Project files" issue and comments the file card there so it shows in that issue's timeline. How: one query per page (projectAttachmentsOptions, keyed by workspace) whose first page also carries both group totals, so the groups are labelled without a second round trip; realtime invalidates the workspace's libraries on attachment changes and on comments that add or remove files. The category filter reuses deliverableCategory on the loaded rows. The view mode lives in a small persisted core store. Zod schemas default every optional field and drop a malformed row alone. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_017deksZDSzZBA4QSqZZoBip