Files
verstak/frontend
mirivlad acdbbdfa55 refactor(frontend): extract FilesTab safely
- New component: frontend/src/lib/components/files/FilesTab.svelte
  - Owns all file tab state: loadingFiles, currentFolderId, folderStack,
    fileItems, preview*, clipboard, selectedIds, dragIds, importing, importSummary, etc.
  - Public API via bind:this: resetToNode(), addFile(), loadFolder(),
    openFileById(), focusItem(), handleFilesKeydown(), resetState()
  - Events: openNote, refreshParent, error
  - Inline modals: rename, confirm, import dialog, file preview

- App.svelte changes:
  - Removed all file-specific state variables and functions
  - Preview state renamed to trashPreview* (for trash preview only)
  - Files tab inline markup replaced with <FilesTab> component
  - Overview 'Add file' button delegates to filesTabRef.addFile()
  - openInboxArtifact, navigateToFile, openActivityTarget, openSearchResult
    delegate to filesTabRef for file operations
  - Node rename (tree context menu) uses separate openNodeRename/submitNodeRename
    functions (file rename is now in FilesTab)
  - closeTrashPreview for trash file preview modal

- Build: npm run build , go test ./... , build.sh gui 
2026-06-16 03:00:24 +08:00
..