import { Navigate, Outlet, useLocation, useSearchParams } from 'react-router' import { Logo } from '@/components/logo' import { useMe } from '@/lib/auth' import { safeReturnPath } from '@/lib/return-path' import { t } from '@/lib/strings' import { paths } from './nav-items' /** Oturum kontrol edilirken gösterilen tam ekran açılış. */ export function Splash() { return (
) } /** Oturum gerektiren sayfalar. Oturum yoksa → /giris?donus=<şimdiki adres> */ export function RequireAuth() { const me = useMe() const location = useLocation() if (me.isPending) return if (!me.data) { const back = location.pathname + location.search const to = back === '/' ? paths.login : `${paths.login}?donus=${encodeURIComponent(back)}` return } return } /** * Yalnızca oturumsuzken: giriş/kayıt. * Oturum açılınca (giriş/kayıt başarılı olduğunda da) `?donus=` adresine, yoksa panele gönderir. * Yönlendirme yalnızca burada yapılır — formlar ayrıca `navigate` çağırmaz (yarış durumu olmasın). */ export function RequireGuest() { const me = useMe() const [params] = useSearchParams() if (me.isPending) return if (me.data) return return }