"use client";

import { usePathname } from "next/navigation";
import { GameNav } from "@/components/GameNav";
import { CommandPalette } from "@/components/CommandPalette";
import { VoiceOrb } from "@/components/VoiceOrb";
import { VoiceProvider } from "@/components/VoiceContext";

const BARE_ROUTES = ["/login", "/auth"];

export function AppShell({ children }: { children: React.ReactNode }) {
  const pathname = usePathname() ?? "";
  const isBare = BARE_ROUTES.some((r) => pathname === r || pathname.startsWith(r + "/"));

  if (isBare) {
    return <>{children}</>;
  }

  return (
    <VoiceProvider>
      <div className="relative min-h-screen bg-background">
        <GameNav />
        <main className="relative z-10 mx-auto max-w-7xl px-4 pb-16 pt-6 sm:px-6" key={pathname}>
          {children}
        </main>
        <CommandPalette />
        <VoiceOrb />
      </div>
    </VoiceProvider>
  );
}
