"use client"; import React from "react"; import { ButtonWithTooltip } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { useTranslation } from "@/lib/i18n/client"; import { useBookmarkLayout } from "@/lib/userLocalSettings/bookmarksLayout"; import { updateBookmarksLayout } from "@/lib/userLocalSettings/userLocalSettings"; import { Check, LayoutDashboard, LayoutGrid, LayoutList, List, LucideIcon, } from "lucide-react"; type LayoutType = "masonry" | "grid" | "list" | "compact"; const iconMap: Record = { masonry: LayoutDashboard, grid: LayoutGrid, list: LayoutList, compact: List, }; export default function ChangeLayout() { const { t } = useTranslation(); const layout = useBookmarkLayout(); return ( {React.createElement(iconMap[layout], { size: 18 })} {(Object.keys(iconMap) as LayoutType[]).map((key) => ( await updateBookmarksLayout(key as LayoutType)} >
{React.createElement(iconMap[key as LayoutType], { size: 18 })} {t(`layouts.${key}`)}
{layout == key && }
))}
); }