"use client"; import { useLocale, useTranslations } from "next-intl"; import { Link, useRouter, usePathname } from "@/i18n/routing"; import { Pencil, LogOut } from "lucide-react"; import { useAuthStore } from "@/lib/stores/auth.store"; import { useCafeSettings } from "@/lib/hooks/use-cafe-settings"; import { Button } from "@/components/ui/button"; import { Skeleton } from "@/components/ui/skeleton"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { HeaderCenterCluster } from "@/components/layout/header-center-cluster"; import { BranchSwitcher } from "@/components/layout/branch-switcher"; import { NotificationCenter } from "@/components/notifications/notification-center"; import { SyncStatusIndicator } from "@/components/layout/sync-status-indicator"; const locales = ["fa", "ar", "en"] as const; export function Topbar() { const t = useTranslations(); const locale = useLocale(); const router = useRouter(); const pathname = usePathname(); const clearAuth = useAuthStore((s) => s.clearAuth); const cafeId = useAuthStore((s) => s.user?.cafeId); const { data: cafeSettings, isLoading, isPending } = useCafeSettings(cafeId); const cafeDisplayName = cafeSettings?.name ?? t("dashboard.cafeName"); const showNameSkeleton = (isLoading || isPending) && !cafeSettings; const switchLocale = (next: string) => { router.replace(pathname, { locale: next }); }; return (
{/* Cafe name */}
{showNameSkeleton ? ( ) : (

{cafeDisplayName}

{t("dashboard.editCafeSettings")} )}
{/* Actions */}
{/* Language switcher */} {locales.map((code) => ( switchLocale(code)} className={locale === code ? "font-semibold text-primary cursor-pointer" : "cursor-pointer"} > {t(`languages.${code}`)} ))} {/* Logout */}
); }