'use client'; import dynamic from 'next/dynamic'; import Link from 'next/link'; import type { User } from '@supabase/supabase-js'; import { ArrowRightIcon } from 'lucide-react'; import { PersonalAccountDropdown } from '@kit/accounts/personal-account-dropdown'; import { useSignOut } from '@kit/supabase/hooks/use-sign-out'; import { useUser } from '@kit/supabase/hooks/use-user'; import { Button } from '@kit/ui/button'; import { If } from '@kit/ui/if'; import { Trans } from '@kit/ui/trans'; import featuresFlagConfig from '~/config/feature-flags.config'; import pathsConfig from '~/config/paths.config'; const ModeToggle = dynamic( () => import('@kit/ui/mode-toggle').then((mod) => mod.ModeToggle), { ssr: false, }, ); const paths = { home: pathsConfig.app.home, }; const features = { enableThemeToggle: featuresFlagConfig.enableThemeToggle, }; export function SiteHeaderAccountSection({ user, }: React.PropsWithChildren<{ user: User | null; }>) { if (!user) { return ; } return ; } function SuspendedPersonalAccountDropdown(props: { user: User | null }) { const signOut = useSignOut(); const user = useUser(props.user); const userData = user.data ?? props.user ?? null; if (userData) { return ( signOut.mutateAsync()} /> ); } return ; } function AuthButtons() { return (
); }