diff --git a/surfsense_web/components/layout/index.ts b/surfsense_web/components/layout/index.ts index 18f8cc9d3..7a57bf73f 100644 --- a/surfsense_web/components/layout/index.ts +++ b/surfsense_web/components/layout/index.ts @@ -11,7 +11,6 @@ export type { User, } from "./types/layout.types"; export { - AllSearchSpacesSheet, ChatListItem, CreateSearchSpaceDialog, Header, diff --git a/surfsense_web/components/layout/providers/LayoutDataProvider.tsx b/surfsense_web/components/layout/providers/LayoutDataProvider.tsx index 70bc96f58..c22af5962 100644 --- a/surfsense_web/components/layout/providers/LayoutDataProvider.tsx +++ b/surfsense_web/components/layout/providers/LayoutDataProvider.tsx @@ -28,7 +28,6 @@ import { resetUser, trackLogout } from "@/lib/posthog/events"; import { cacheKeys } from "@/lib/query-client/cache-keys"; import type { ChatItem, NavItem, NoteItem, SearchSpace } from "../types/layout.types"; import { CreateSearchSpaceDialog } from "../ui/dialogs"; -import { AllSearchSpacesSheet } from "../ui/sheets"; import { LayoutShell } from "../ui/shell"; import { AllChatsSidebar } from "../ui/sidebar/AllChatsSidebar"; import { AllNotesSidebar } from "../ui/sidebar/AllNotesSidebar"; @@ -114,8 +113,7 @@ export function LayoutDataProvider({ const [isAllChatsSidebarOpen, setIsAllChatsSidebarOpen] = useState(false); const [isAllNotesSidebarOpen, setIsAllNotesSidebarOpen] = useState(false); - // Search space sheet and dialog state - const [isAllSearchSpacesSheetOpen, setIsAllSearchSpacesSheetOpen] = useState(false); + // Search space dialog state const [isCreateSearchSpaceDialogOpen, setIsCreateSearchSpaceDialogOpen] = useState(false); // Delete dialogs state @@ -210,10 +208,6 @@ export function LayoutDataProvider({ setIsCreateSearchSpaceDialogOpen(true); }, []); - const handleSeeAllSearchSpaces = useCallback(() => { - setIsAllSearchSpacesSheetOpen(true); - }, []); - const handleUserSettings = useCallback(() => { router.push("/dashboard/user/settings"); }, [router]); @@ -397,10 +391,9 @@ export function LayoutDataProvider({ onAddNote={handleAddNote} onViewAllNotes={handleViewAllNotes} user={{ email: user?.email || "", name: user?.email?.split("@")[0] }} - onSettings={handleSettings} - onManageMembers={handleManageMembers} - onSeeAllSearchSpaces={handleSeeAllSearchSpaces} - onUserSettings={handleUserSettings} + onSettings={handleSettings} + onManageMembers={handleManageMembers} + onUserSettings={handleUserSettings} onLogout={handleLogout} pageUsage={pageUsage} breadcrumb={breadcrumb} @@ -470,20 +463,6 @@ export function LayoutDataProvider({ onAddNote={handleAddNote} /> - {/* All Search Spaces Sheet */} - { - setIsAllSearchSpacesSheetOpen(false); - setIsCreateSearchSpaceDialogOpen(true); - }} - onSettings={handleSearchSpaceSettings} - onDelete={handleDeleteSearchSpace} - /> - {/* Create Search Space Dialog */} void; onManageMembers?: () => void; - onSeeAllSearchSpaces?: () => void; onToggleTheme?: () => void; onLogout?: () => void; pageUsage?: PageUsage; diff --git a/surfsense_web/components/layout/ui/index.ts b/surfsense_web/components/layout/ui/index.ts index bd3d54838..1c3ddb2ca 100644 --- a/surfsense_web/components/layout/ui/index.ts +++ b/surfsense_web/components/layout/ui/index.ts @@ -1,7 +1,6 @@ export { CreateSearchSpaceDialog } from "./dialogs"; export { Header } from "./header"; export { IconRail, NavIcon, SearchSpaceAvatar } from "./icon-rail"; -export { AllSearchSpacesSheet } from "./sheets"; export { LayoutShell } from "./shell"; export { ChatListItem, diff --git a/surfsense_web/components/layout/ui/sheets/AllSearchSpacesSheet.tsx b/surfsense_web/components/layout/ui/sheets/AllSearchSpacesSheet.tsx deleted file mode 100644 index 401de41c3..000000000 --- a/surfsense_web/components/layout/ui/sheets/AllSearchSpacesSheet.tsx +++ /dev/null @@ -1,241 +0,0 @@ -"use client"; - -import { - Calendar, - MoreHorizontal, - Search, - Settings, - Share2, - Trash2, - UserCheck, - Users, -} from "lucide-react"; -import { useTranslations } from "next-intl"; -import { useState } from "react"; -import { - AlertDialog, - AlertDialogAction, - AlertDialogCancel, - AlertDialogContent, - AlertDialogDescription, - AlertDialogFooter, - AlertDialogHeader, - AlertDialogTitle, -} from "@/components/ui/alert-dialog"; -import { Badge } from "@/components/ui/badge"; -import { Button } from "@/components/ui/button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuSeparator, - DropdownMenuTrigger, -} from "@/components/ui/dropdown-menu"; -import { - Sheet, - SheetContent, - SheetDescription, - SheetHeader, - SheetTitle, -} from "@/components/ui/sheet"; -import type { SearchSpace } from "../../types/layout.types"; - -function formatDate(dateString: string): string { - return new Date(dateString).toLocaleDateString("en-US", { - year: "numeric", - month: "short", - day: "numeric", - }); -} - -interface AllSearchSpacesSheetProps { - open: boolean; - onOpenChange: (open: boolean) => void; - searchSpaces: SearchSpace[]; - onSearchSpaceSelect: (id: number) => void; - onCreateNew?: () => void; - onSettings?: (id: number) => void; - onDelete?: (id: number) => void; -} - -export function AllSearchSpacesSheet({ - open, - onOpenChange, - searchSpaces, - onSearchSpaceSelect, - onCreateNew, - onSettings, - onDelete, -}: AllSearchSpacesSheetProps) { - const t = useTranslations("searchSpace"); - const tCommon = useTranslations("common"); - - const [spaceToDelete, setSpaceToDelete] = useState(null); - - const handleSelect = (id: number) => { - onSearchSpaceSelect(id); - onOpenChange(false); - }; - - const handleSettings = (e: React.MouseEvent, space: SearchSpace) => { - e.stopPropagation(); - onOpenChange(false); - onSettings?.(space.id); - }; - - const handleDeleteClick = (e: React.MouseEvent, space: SearchSpace) => { - e.stopPropagation(); - setSpaceToDelete(space); - }; - - const confirmDelete = () => { - if (spaceToDelete) { - onDelete?.(spaceToDelete.id); - setSpaceToDelete(null); - } - }; - - return ( - <> - - - -
-
- -
-
- {t("all_search_spaces")} - - {t("search_spaces_count", { count: searchSpaces.length })} - -
-
-
- -
- {searchSpaces.length === 0 ? ( -
-
- -
-
-

{t("no_search_spaces")}

-

{t("create_first_search_space")}

-
- {onCreateNew && ( - - )} -
- ) : ( - searchSpaces.map((space) => ( - - - - handleSettings(e, space)}> - - {tCommon("settings")} - - - handleDeleteClick(e, space)} - className="text-destructive focus:text-destructive" - > - - {tCommon("delete")} - - - - )} -
- - -
- - {space.isOwner ? ( - - ) : ( - - )} - {t("members_count", { count: space.memberCount })} - - {space.createdAt && ( - - - {formatDate(space.createdAt)} - - )} -
- - )) - )} - - - {searchSpaces.length > 0 && onCreateNew && ( -
- -
- )} -
-
- - !open && setSpaceToDelete(null)}> - - - {t("delete_title")} - - {t("delete_confirm", { name: spaceToDelete?.name ?? "" })} - - - - {tCommon("cancel")} - - {tCommon("delete")} - - - - - - ); -} diff --git a/surfsense_web/components/layout/ui/sheets/index.ts b/surfsense_web/components/layout/ui/sheets/index.ts deleted file mode 100644 index d3db749bb..000000000 --- a/surfsense_web/components/layout/ui/sheets/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { AllSearchSpacesSheet } from "./AllSearchSpacesSheet"; diff --git a/surfsense_web/components/layout/ui/shell/LayoutShell.tsx b/surfsense_web/components/layout/ui/shell/LayoutShell.tsx index 1bb0a015a..d3fdafa5c 100644 --- a/surfsense_web/components/layout/ui/shell/LayoutShell.tsx +++ b/surfsense_web/components/layout/ui/shell/LayoutShell.tsx @@ -40,7 +40,6 @@ interface LayoutShellProps { user: User; onSettings?: () => void; onManageMembers?: () => void; - onSeeAllSearchSpaces?: () => void; onUserSettings?: () => void; onLogout?: () => void; pageUsage?: PageUsage; @@ -77,7 +76,6 @@ export function LayoutShell({ user, onSettings, onManageMembers, - onSeeAllSearchSpaces, onUserSettings, onLogout, pageUsage, @@ -132,7 +130,6 @@ export function LayoutShell({ user={user} onSettings={onSettings} onManageMembers={onManageMembers} - onSeeAllSearchSpaces={onSeeAllSearchSpaces} onUserSettings={onUserSettings} onLogout={onLogout} pageUsage={pageUsage} @@ -181,7 +178,6 @@ export function LayoutShell({ user={user} onSettings={onSettings} onManageMembers={onManageMembers} - onSeeAllSearchSpaces={onSeeAllSearchSpaces} onUserSettings={onUserSettings} onLogout={onLogout} pageUsage={pageUsage} diff --git a/surfsense_web/components/layout/ui/sidebar/MobileSidebar.tsx b/surfsense_web/components/layout/ui/sidebar/MobileSidebar.tsx index c1874bfd1..cae81f613 100644 --- a/surfsense_web/components/layout/ui/sidebar/MobileSidebar.tsx +++ b/surfsense_web/components/layout/ui/sidebar/MobileSidebar.tsx @@ -40,7 +40,6 @@ interface MobileSidebarProps { user: User; onSettings?: () => void; onManageMembers?: () => void; - onSeeAllSearchSpaces?: () => void; onUserSettings?: () => void; onLogout?: () => void; pageUsage?: PageUsage; @@ -80,7 +79,6 @@ export function MobileSidebar({ user, onSettings, onManageMembers, - onSeeAllSearchSpaces, onUserSettings, onLogout, pageUsage, @@ -141,15 +139,14 @@ export function MobileSidebar({ onNoteDelete={onNoteDelete} onAddNote={onAddNote} onViewAllNotes={onViewAllNotes} - user={user} - onSettings={onSettings} - onManageMembers={onManageMembers} - onSeeAllSearchSpaces={onSeeAllSearchSpaces} - onUserSettings={onUserSettings} - onLogout={onLogout} - pageUsage={pageUsage} - className="w-full border-none" - /> + user={user} + onSettings={onSettings} + onManageMembers={onManageMembers} + onUserSettings={onUserSettings} + onLogout={onLogout} + pageUsage={pageUsage} + className="w-full border-none" + /> diff --git a/surfsense_web/components/layout/ui/sidebar/Sidebar.tsx b/surfsense_web/components/layout/ui/sidebar/Sidebar.tsx index 0fdec2a03..5bc1e62b9 100644 --- a/surfsense_web/components/layout/ui/sidebar/Sidebar.tsx +++ b/surfsense_web/components/layout/ui/sidebar/Sidebar.tsx @@ -44,7 +44,6 @@ interface SidebarProps { user: User; onSettings?: () => void; onManageMembers?: () => void; - onSeeAllSearchSpaces?: () => void; onUserSettings?: () => void; onLogout?: () => void; pageUsage?: PageUsage; @@ -72,7 +71,6 @@ export function Sidebar({ user, onSettings, onManageMembers, - onSeeAllSearchSpaces, onUserSettings, onLogout, pageUsage, @@ -103,7 +101,6 @@ export function Sidebar({ isCollapsed={isCollapsed} onSettings={onSettings} onManageMembers={onManageMembers} - onSeeAllSearchSpaces={onSeeAllSearchSpaces} />
void; onManageMembers?: () => void; - onSeeAllSearchSpaces?: () => void; className?: string; } @@ -27,7 +26,6 @@ export function SidebarHeader({ isCollapsed, onSettings, onManageMembers, - onSeeAllSearchSpaces, className, }: SidebarHeaderProps) { const t = useTranslations("sidebar"); @@ -59,11 +57,6 @@ export function SidebarHeader({ {t("search_space_settings")} - - - - {t("see_all_search_spaces")} -