Features: - Image generation (OpenAI, Gemini, Leonardo, Bria, Stability, Flux) - Nano Banana iterative editing - Video generation and upscaling - Audio TTS, STT, sound effects (ElevenLabs) - Text prompt studio and alt text - User authentication with JWT/cookies - Admin panel with voice management - Job queue with Celery - PostgreSQL + Redis backend - Next.js 15 + FastAPI architecture 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
31 lines
828 B
TypeScript
31 lines
828 B
TypeScript
'use client';
|
|
|
|
import { usePathname } from 'next/navigation';
|
|
import Sidebar from '@/components/Sidebar';
|
|
import Header from '@/components/Header';
|
|
|
|
// Pages that should not have the app shell (sidebar/header)
|
|
const FULL_SCREEN_PAGES = ['/login', '/signup'];
|
|
|
|
export default function AppShell({ children }: { children: React.ReactNode }) {
|
|
const pathname = usePathname();
|
|
|
|
// Check if current page should be full screen (no sidebar/header)
|
|
const isFullScreen = FULL_SCREEN_PAGES.includes(pathname);
|
|
|
|
if (isFullScreen) {
|
|
return <>{children}</>;
|
|
}
|
|
|
|
return (
|
|
<div className="flex h-screen">
|
|
<Sidebar />
|
|
<div className="flex-1 flex flex-col overflow-hidden">
|
|
<Header />
|
|
<main className="flex-1 overflow-y-auto p-6">
|
|
{children}
|
|
</main>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|