forge/frontend/components/AppShell.tsx
DJP 7a804e896d Initial commit - FORGE AI unified platform
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>
2025-12-09 20:39:00 -05:00

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>
);
}