diff --git a/app/carnet/page.tsx b/app/carnet/page.tsx index fec4247e..830e9346 100644 --- a/app/carnet/page.tsx +++ b/app/carnet/page.tsx @@ -7,9 +7,7 @@ import Navigation from "@/components/carnet/navigation"; import { NotesView } from "@/components/carnet/notes-view"; import { Editor } from "@/components/carnet/editor"; import { PanelResizer } from "@/components/carnet/panel-resizer"; -import Header from "@/components/carnet/header"; import { useMediaQuery } from "@/hooks/use-media-query"; -import { toast } from "sonner"; // Layout modes export enum PaneLayout { @@ -26,19 +24,10 @@ interface Note { lastEdited: Date; } -interface NextcloudStatus { - isConnected: boolean; - folders: string[]; - error?: string; -} - export default function CarnetPage() { const { data: session, status } = useSession(); - const [layout, setLayout] = useState(PaneLayout.ItemSelection); - const [nextcloudFolders, setNextcloudFolders] = useState([]); - const [selectedFolder, setSelectedFolder] = useState(null); const [isLoading, setIsLoading] = useState(true); - const [error, setError] = useState(null); + const [layoutMode, setLayoutMode] = useState(PaneLayout.ItemSelection); const [selectedNote, setSelectedNote] = useState(null); const [isMobile, setIsMobile] = useState(false); const [showNav, setShowNav] = useState(true); @@ -54,27 +43,6 @@ export default function CarnetPage() { const isSmallScreen = useMediaQuery("(max-width: 768px)"); const isMediumScreen = useMediaQuery("(max-width: 1024px)"); - useEffect(() => { - const fetchNextcloudFolders = async () => { - try { - const response = await fetch('/api/nextcloud/status'); - if (!response.ok) { - throw new Error('Failed to fetch Nextcloud folders'); - } - const data = await response.json(); - setNextcloudFolders(data.folders || []); - setError(null); - } catch (err) { - setError(err instanceof Error ? err.message : 'An error occurred'); - setNextcloudFolders([]); - } finally { - setIsLoading(false); - } - }; - - fetchNextcloudFolders(); - }, []); - useEffect(() => { if (status === "unauthenticated") { redirect("/signin"); @@ -129,64 +97,78 @@ export default function CarnetPage() { console.log('Saving note:', note); }; - const handleFolderSelect = (folder: string) => { - setSelectedFolder(folder); - setLayout(PaneLayout.ItemSelection); - }; - if (isLoading) { return ( -
-
-
- ); - } - - if (error) { - return ( -
-
{error}
+
+
); } return ( -
- -
-
- {selectedFolder ? ( -
-

{selectedFolder}

- {/* Add your folder content here */} -
- ) : ( -
- {showNotes && ( - <> -
- -
- setIsDraggingNotes(true)} - onDragEnd={() => setIsDraggingNotes(false)} - onDrag={handleNotesResize} - /> - - )} -
- -
-
- )} -
+
+ {/* Navigation Panel */} + {showNav && ( + <> +
+ +
+ + {/* Navigation Resizer */} + setIsDraggingNav(true)} + onDragEnd={() => setIsDraggingNav(false)} + onDrag={handleNavResize} + /> + + )} + + {/* Notes Panel */} + {showNotes && ( + <> +
+ +
+ + {/* Notes Resizer */} + setIsDraggingNotes(true)} + onDragEnd={() => setIsDraggingNotes(false)} + onDrag={handleNotesResize} + /> + + )} + + {/* Editor Panel */} +
+
-
+ + {/* Mobile Navigation Toggle */} + {isMobile && ( +
+ + +
+ )} + ); -} \ No newline at end of file +} \ No newline at end of file