"use client"; import { useEffect } from "react"; import { ButtonWithTooltip } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { useIsSearchPage } from "@/lib/hooks/bookmark-search"; import { useTranslation } from "@/lib/i18n/client"; import { useSortOrderStore } from "@/lib/store/useSortOrderStore"; import { Check, ListFilter, SortAsc, SortDesc } from "lucide-react"; export default function SortOrderToggle() { const { t } = useTranslation(); const isInSearchPage = useIsSearchPage(); const { sortOrder: currentSort, setSortOrder } = useSortOrderStore(); // also see related on page enter sortOrder.relevance init // in apps/web/app/dashboard/search/page.tsx useEffect(() => { if (!isInSearchPage && currentSort === "relevance") { // reset to default sort order setSortOrder("desc"); } }, [isInSearchPage, currentSort]); return ( {currentSort === "relevance" && } {currentSort === "asc" && } {currentSort === "desc" && } {isInSearchPage && ( setSortOrder("relevance")} >
{t("actions.sort.relevant_first")}
{currentSort === "relevance" && }
)} setSortOrder("desc")} >
{t("actions.sort.newest_first")}
{currentSort === "desc" && }
setSortOrder("asc")} >
{t("actions.sort.oldest_first")}
{currentSort === "asc" && }
); }