mirivlad
|
9878ab4fb3
|
refactor(frontend): extract FilesTab from App.svelte
• Create lib/components/files/FilesTab.svelte (616 lines)
- Self-contained file browser with internal state
- Folder navigation, breadcrumbs, file list
- File preview with CheckFileAction for .md → note editor flow
- Import dialog (copy/link)
- Drag-and-drop, selection, keyboard shortcuts
- Cut/copy/paste, rename, delete, duplicate
- Public API: resetToNode(), filesHandleKeydown()
• Remove ~594 lines from App.svelte (4794 → 4200)
- Removed: loadingFiles, currentFolderId, folderStack, fileItems,
previewItem/Content/Loading/Error, clipboard, selectedIds, dragIds,
importing, importSummary, showImportDialog, pendingImportPath/Parent,
treeItems, expanded, childrenMap, dropRootValid, inboxDropValid,
captureDropActive/Label/DragDepth/lastCaptureDragOverAt/captureDragResetTimer
- Removed: loadTree, loadFolder, navigateToFolder, navigateBack,
navigateToBreadcrumb, openPreview, closePreview, createFile,
duplicateItem, renameItem, cutItem, copyItem, pasteItem,
toggleSelection, selectOne, selectAll, rangeSelect, clearSelection,
getTargetIds, deleteSelected, cutSelected, copySelected,
onDragStart, onDragOver, onDrop, openSelected, openSelectedExternal,
addFile, addFolder, startImport, confirmImport, cancelImport, deleteFile
- Keyboard handler delegates to filesTabRef.filesHandleKeydown()
- selectNode() calls filesTabRef.resetToNode()
• Update docs/frontend-architecture.md — Files Flow section
• Update docs/frontend-change-map.md — Phase 2 & 5 marked complete
• Build passes: npm run build ✓, go test ✓, build.sh gui ✓
|
2026-06-15 20:31:23 +08:00 |
mirivlad
|
490a3dd624
|
refactor(frontend): modularise App.svelte — Phase 1-4
• Create docs/frontend-architecture.md and docs/frontend-change-map.md
• Extract API layer: lib/services/ (wails, notes, files, search, inbox,
trash, sync, journal, actions, links, activity, nodes, suggestions,
today, browserEvents)
• Extract ErrorBanner.svelte component
• Extract CaptureDropOverlay.svelte component
• Extract OverviewTab.svelte component
• Extract NotesTab.svelte component
• Wire all extracted components into App.svelte
• Build passes (npm run build ✓)
|
2026-06-15 19:03:07 +08:00 |