Files
postgenerator/frontend/src/components/Layout.tsx
Michele 738a877d39 feat(01-04): layout, routing, API hooks, tipi TypeScript, Dashboard, Settings
- types.ts: CalendarSlot, GeneratedPost, PostResult, JobStatus, Settings, SettingsStatus
- api/client.ts: aggiunto apiGet, apiPost, apiPut, apiDownload, triggerDownload
- api/hooks.ts: 10+ hooks TanStack Query (settings, generate, job polling, CSV export)
- components/Layout.tsx + Sidebar.tsx: sidebar stone/amber palette con 4 nav link
- pages/Dashboard.tsx: banner API key, quick actions link, step guide
- pages/Settings.tsx: form completo (API key password, LLM select, brand, nicchie checkbox)
- App.tsx: 5 route con BrowserRouter basename='/postgenerator', QueryClientProvider, Layout
2026-03-08 02:23:55 +01:00

23 lines
528 B
TypeScript

/**
* Layout wrapper principale con Sidebar a sinistra e area contenuto a destra.
* Tutti i child sono renderizzati nell'area contenuto scrollabile.
*/
import type { ReactNode } from 'react'
import { Sidebar } from './Sidebar'
interface LayoutProps {
children: ReactNode
}
export function Layout({ children }: LayoutProps) {
return (
<div className="flex min-h-screen bg-stone-900 text-stone-100">
<Sidebar />
<main className="flex-1 overflow-y-auto">
{children}
</main>
</div>
)
}