import { createFileRoute, Outlet, redirect } from "@tanstack/react-router";
import { supabase } from "@/integrations/supabase/client";
import { BottomTabBar } from "@/components/BottomTabBar";

export const Route = createFileRoute("/_authenticated")({
  ssr: false,
  beforeLoad: async () => {
    const { data } = await supabase.auth.getUser();
    if (!data.user) throw redirect({ to: "/auth" });
    // Check onboarding
    const { data: p } = await supabase
      .from("profiles")
      .select("onboarding_completed")
      .eq("id", data.user.id)
      .maybeSingle();
    return { user: data.user, onboarded: !!p?.onboarding_completed };
  },
  component: AuthedLayout,
});

function AuthedLayout() {
  const { onboarded } = Route.useRouteContext();
  return (
    <div className="min-h-screen bg-background text-foreground">
      <div className="mx-auto max-w-md pb-28">
        <Outlet />
      </div>
      {onboarded ? <BottomTabBar /> : null}
    </div>
  );
}
