- 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
23 lines
528 B
TypeScript
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>
|
|
)
|
|
}
|