From a0a9e2360b8d4b4a09468cc115f4125a2ca44f15 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sat, 31 Jan 2026 18:49:59 +0100 Subject: [PATCH] Add renderTextItem and renderFolder functions in App.tsx --- src/App.tsx | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/src/App.tsx b/src/App.tsx index 1048209..51c366e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1190,6 +1190,91 @@ export default function App() { return () => window.removeEventListener("keydown", handleKeyDown); }, [confirmState, handleSaveVersion, selectedTextId, settingsOpen]); + const renderTextItem = (text: Text, depth: number, parentFolderId: string | null) => ( +
handleDragStartText(event, text)} + onDragEnd={handleDragEnd} + onDragOver={(event) => event.preventDefault()} + onDrop={(event) => handleTextDrop(event, text.id, parentFolderId)} + onClick={() => setSelectedTextId(text.id)} + onContextMenu={(event) => handleTextContextMenu(event, text.id)} + role="button" + tabIndex={0} + onKeyDown={(event) => { + if (event.key === "Enter" || event.key === " ") { + event.preventDefault(); + setSelectedTextId(text.id); + } + }} + > +
+
{text.title}
+
Updated {formatDate(text.updated_at)}
+
+ +
+ ); + + const renderFolder = (folder: Folder, depth: number) => { + if (hasSearch && !visibleFolderIds?.has(folder.id)) return null; + const expanded = isFolderExpanded(folder.id); + const childFolders = foldersByParent.get(folder.id) ?? []; + const childTexts = textsByFolder.get(folder.id) ?? []; + + return ( +
+
handleDragStartFolder(event, folder)} + onDragEnd={handleDragEnd} + onDragOver={(event) => event.preventDefault()} + onDrop={(event) => handleFolderDrop(event, folder)} + onClick={() => toggleFolderExpanded(folder.id)} + > + +
{folder.name}
+
+ {expanded ? ( +
+ {childFolders.map((child) => renderFolder(child, depth + 1))} + {childTexts.map((text) => renderTextItem(text, depth + 1, folder.id))} +
+ ) : null} +
+ ); + }; + return (
{!sidebarCollapsed ? (