`, `aria-label="Search documents"` on the input.
- QuotaBar: `role="progressbar"` already implemented — no change.
- Audit log table: `
` with ``, `| ` headers.
- FolderDeleteModal, ShareModal: trap focus within modal while open.
---
## Registry Safety
| Registry | Blocks Used | Safety Gate |
|----------|-------------|-------------|
| shadcn official | none | not applicable — no shadcn in this project |
| Third-party | none | not applicable |
No third-party component registries. All new components are hand-authored Tailwind utility classes following established project patterns. No new npm packages for UI components.
---
## New Files Required
| File | Purpose |
|------|---------|
| `frontend/src/components/folders/FolderRow.vue` | Folder row in main content area |
| `frontend/src/components/folders/FolderBreadcrumb.vue` | Breadcrumb navigation |
| `frontend/src/components/folders/FolderDeleteModal.vue` | Non-empty folder delete confirmation |
| `frontend/src/components/sharing/ShareModal.vue` | Share by handle + revoke list |
| `frontend/src/components/documents/DocumentPreviewModal.vue` | In-app PDF preview via iframe |
| `frontend/src/components/documents/SearchBar.vue` | Debounced full-text search input |
| `frontend/src/components/documents/SortControls.vue` | Name / Date / Size sort toggle |
| `frontend/src/components/admin/AuditLogTab.vue` | Admin audit log viewer with filters + export |
| `frontend/src/views/FolderView.vue` | Folder contents view (sub-folders + documents + breadcrumb) |
| `frontend/src/views/SharedView.vue` | "Shared with me" virtual folder view |
Existing files extended (not replaced):
- `frontend/src/components/layout/AppSidebar.vue` — add Shared with me entry + Folders section
- `frontend/src/components/documents/DocumentCard.vue` — add share button + shared indicator pill
- `frontend/src/views/HomeView.vue` — add SearchBar + SortControls above document list
- `frontend/src/views/DocumentView.vue` — add PDF preview trigger logic
- `frontend/src/views/AdminView.vue` — add AuditLog tab
- `frontend/src/views/SettingsView.vue` — add Document Preferences card with pdf_open_mode radio
---
## Checker Sign-Off
- [ ] Dimension 1 Copywriting: PASS
- [ ] Dimension 2 Visuals: PASS
- [ ] Dimension 3 Color: PASS
- [ ] Dimension 4 Typography: PASS
- [ ] Dimension 5 Spacing: PASS
- [ ] Dimension 6 Registry Safety: PASS
**Approval:** pending
|