From cf43dd0e5af03445d9a5fc1023af22761c732643 Mon Sep 17 00:00:00 2001 From: Elijah Date: Sat, 23 May 2026 10:39:30 -0700 Subject: [PATCH] feat: change tab title, add favicon, and fix pinned folder live refresh --- frontend/public/favicon.svg | 1 + frontend/src/app/layout.tsx | 5 ++++- frontend/src/components/FileExplorer.tsx | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 frontend/public/favicon.svg diff --git a/frontend/public/favicon.svg b/frontend/public/favicon.svg new file mode 100644 index 0000000..ad4d2ff --- /dev/null +++ b/frontend/public/favicon.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index df26a65..e9fa08b 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -2,8 +2,11 @@ import type { Metadata } from 'next'; import './globals.css'; export const metadata: Metadata = { - title: 'Drive — Your Personal Cloud', + title: "Eli's Drive", description: 'A high-performance, self-hosted file storage and management platform.', + icons: { + icon: '/favicon.svg', + }, }; export default function RootLayout({ diff --git a/frontend/src/components/FileExplorer.tsx b/frontend/src/components/FileExplorer.tsx index 731ba46..f745263 100644 --- a/frontend/src/components/FileExplorer.tsx +++ b/frontend/src/components/FileExplorer.tsx @@ -245,6 +245,7 @@ export default function FileExplorer({ onLogout }: FileExplorerProps) { const [pinnedExpanded, setPinnedExpanded] = useState(false); const [pinnedOrder, setPinnedOrder] = useState([]); const [dragOverPinnedItem, setDragOverPinnedItem] = useState(null); + const [pinnedRefreshCounter, setPinnedRefreshCounter] = useState(0); const [selectionBox, setSelectionBox] = useState<{ startX: number; startY: number; currentX: number; currentY: number } | null>(null); const [initialSelectedFiles, setInitialSelectedFiles] = useState>(new Set()); const searchTimeoutRef = useRef(undefined); @@ -437,7 +438,7 @@ export default function FileExplorer({ onLogout }: FileExplorerProps) { setPinnedFiles(items); }).catch(console.error); } - }, [pinnedExpanded, pinnedOrder]); + }, [pinnedExpanded, pinnedOrder, pinnedRefreshCounter]); async function handlePinnedDragEnd(sourcePath: string, destPath: string) { const newOrder = [...pinnedOrder]; @@ -608,6 +609,7 @@ export default function FileExplorer({ onLogout }: FileExplorerProps) { async function handlePin(file: FileItem) { await api.togglePin(file.path); loadFiles(undefined, true); + setPinnedRefreshCounter(c => c + 1); } async function handleRename(path: string, originalName: string, isDir: boolean) {