'use client';

import { Sidebar } from '@/components/Sidebar';
import { CommandPaletteProvider } from '@/components/CommandPalette';
import { QueryProvider } from '@/components/QueryProvider';
import { AuthGate } from '@/components/AuthGate';
import { useAdminEvents } from '@/hooks/useAdminEvents';

function LiveEvents() {
  useAdminEvents(true);
  return null;
}

export function AppShell({ children }: { children: React.ReactNode }) {
  return (
    <QueryProvider>
      <AuthGate>
        <CommandPaletteProvider>
          <LiveEvents />
          <div className="zy-shell">
            <Sidebar />
            <main className="zy-main">{children}</main>
          </div>
        </CommandPaletteProvider>
      </AuthGate>
    </QueryProvider>
  );
}
