docs: update CLAUDE.md, ROADMAP.md, SESSION-LOG.md

- Registratura v0.4.0 with QuickLook preview description
- New task 3.03d: QuickLook + bug fixes (NAS links, overflow, vault filter)
- Session log updated with all fixes and new features
- attachment-preview.tsx added to key files list
This commit is contained in:
AI Assistant
2026-02-28 19:47:28 +02:00
parent dcce341b8a
commit 5ca276fb26
5 changed files with 89 additions and 30 deletions
+36 -7
View File
@@ -8,7 +8,7 @@
### Context
Continuation of QA improvements. NAS path enhancement: all 4 drives + DNS→IP fallback.
Continuation of QA improvements. NAS path enhancement: all 4 drives + DNS→IP fallback. Detail sheet, column visibility, QuickLook attachment preview, multiple bug fixes.
### Completed
@@ -21,11 +21,10 @@ Continuation of QA improvements. NAS path enhancement: all 4 drives + DNS→IP f
- Validation hint updated to show all 4 drive letters
- **Registratura — Entry Detail Sheet (Side Panel):**
- New `registry-entry-detail.tsx` component (~500 lines)
- New `registry-entry-detail.tsx` component (~700 lines)
- Side panel (Sheet) slides in from the right on Eye icon click or row click
- Full entry visualization: status badges, document info, parties, dates, thread links, legal deadlines, attachments with inline image preview, NAS path links with IP fallback, external tracking, tags, notes
- Action buttons inside sheet: Edită, Închide, Șterge
- Attachment preview: images display inline, files show download button, NAS paths show full UNC + short display + copy + IP fallback
- **Registratura — Column Visibility Manager:**
- Configurable columns via Settings dropdown in table header
@@ -40,20 +39,50 @@ Continuation of QA improvements. NAS path enhancement: all 4 drives + DNS→IP f
- Actions reduced from 3 buttons (close/edit/delete) to 2 (view/edit)
- Close and Delete moved into detail sheet
- Column headers have tooltips explaining naming convention
- Attachment/thread/deadline indicators compacted in Subject column
- **Bug Fix: NAS `file:///` links don't open Explorer:**
- Root cause: all modern browsers block `file:///` URLs from web pages (hard security restriction)
- Solution: click-to-copy-to-clipboard with green "Copiat!" badge feedback (2s timeout)
- Applied to both detail sheet and entry form
- Removed broken `window.open(toFileUrl(...))` calls
- **Learning:** `file:///` cannot be opened from web pages — only clipboard copy works
- **Bug Fix: NAS attachment card overflows Sheet boundary:**
- Root cause: Radix ScrollArea Viewport has `overflow: scroll` on both axes by default
- Fix 1: `overflow-x-hidden` on ScrollArea Viewport via CSS selector override
- Fix 2: Redesigned NAS card from two-row layout to compact single-row (filename + NAS badge + Copiază button)
- Removed `font-mono` on paths (prevents word-break), removed `shortDisplayPath` (replaced with `pathFileName`)
- **Bug Fix: Password Vault — new entry lands on filtered empty view:**
- Root cause: after adding, the module returns to list view but keeps the active category/search filter
- Solution: `handleSubmit` now resets `filters.category` to `"all"` and `filters.search` to `""` after save
- **QuickLook-style Attachment Preview (macOS Quick Look inspired):**
- New `attachment-preview.tsx` component (~480 lines)
- Fullscreen dark overlay (`z-[100]`, `bg-black/90`, `backdrop-blur-sm`) with smooth animations
- **Images**: zoomable (scroll wheel + ±buttons, 25%500%), pannable when zoomed (grab/grabbing cursor), zoom % display, reset with 0 key
- **PDFs**: browser native viewer via blob URL iframe (base64→Blob→createObjectURL), with scroll/zoom/print built-in
- **Navigation**: left/right arrows (keyboard + circular buttons), bottom thumbnail strip when multiple
- **Actions**: download (createElement('a') + click), print (PDF: hidden iframe, image: new window), close (Esc)
- **Fallback**: unsupported types show icon + "Download" button
- Preview button (Eye icon) shown for images AND PDFs in detail sheet
- Replaced old inline image-only preview with fullscreen modal
- React 19 compatible: no `setState` in effects, uses `key` prop for remount-based state reset
- **Documentation updated:**
- CLAUDE.md: Registratura v0.3.0 updated description
- ROADMAP.md: New task 3.03c with detail sheet + column manager features
- CLAUDE.md: Registratura v0.4.0 with QuickLook description
- ROADMAP.md: New task 3.03d with QuickLook + bug fixes
- SESSION-LOG.md: This session entry
### Files Changed
- **New:** `src/modules/registratura/components/registry-entry-detail.tsx`
- **New:** `src/modules/registratura/components/attachment-preview.tsx`
- **Modified:** `src/config/nas-paths.ts` (4 drives, IP fallback helpers, shareLabelFor)
- **Modified:** `src/modules/registratura/components/registry-table.tsx` (column visibility, tooltips, view button, row click)
- **Modified:** `src/modules/registratura/components/registratura-module.tsx` (detail sheet integration, handleView)
- **Modified:** `src/modules/registratura/components/registry-entry-form.tsx` (IP fallback link, share badge, validation hints)
- **Modified:** `src/modules/registratura/components/registry-entry-form.tsx` (NAS link copy-to-clipboard, removed broken file:/// links)
- **Modified:** `src/modules/password-vault/components/password-vault-module.tsx` (filter reset after add/edit)
- **Modified:** `CLAUDE.md`, `ROADMAP.md`, `SESSION-LOG.md`
### Build