"use client";

import { signOut, useSession } from "next-auth/react";
import { LogOut } from "lucide-react";
import { LanguageToggle } from "@/components/language-toggle";
import { Badge, Button } from "@/components/ui";
import type { Locale } from "@/lib/i18n";

const labels = {
  en: { dashboard: "Dashboard", signOut: "Sign out" },
  ar: { dashboard: "لوحة التحكم", signOut: "تسجيل الخروج" }
} as const;

export function DashboardHeader({ locale }: { locale: Locale }) {
  const { data } = useSession();
  const t = labels[locale];

  return (
    <header className="flex min-h-16 items-center justify-between border-b border-slate-200 bg-white px-4 lg:px-8">
      <div>
        <p className="text-sm font-semibold text-ink">{data?.user?.name || t.dashboard}</p>
        <p className="text-xs text-slate-500">{data?.user?.email}</p>
      </div>
      <div className="flex items-center gap-3">
        <LanguageToggle locale={locale} />
        <Badge tone={data?.user?.subscription_tier === "FREE" ? "slate" : "green"}>{data?.user?.subscription_tier || "FREE"}</Badge>
        <Button variant="secondary" onClick={() => signOut({ callbackUrl: "/" })}>
          <LogOut size={16} />
          {t.signOut}
        </Button>
      </div>
    </header>
  );
}
