- frontend/src/types.ts: aggiunge SwipeItem, SwipeItemCreate, SwipeItemUpdate, SwipeListResponse - frontend/src/api/hooks.ts: aggiunge useSwipeItems, useAddSwipeItem, useUpdateSwipeItem, useDeleteSwipeItem - frontend/src/pages/SwipeFile.tsx: pagina completa con form aggiunta, filtro nicchia, modifica inline, eliminazione con dialog conferma, data relativa - frontend/src/components/Sidebar.tsx: aggiunge voce "Swipe File" con icona Lightbulb - frontend/src/App.tsx: registra route /swipe-file - TypeScript + build Vite: nessun errore
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
|
import { BrowserRouter, Route, Routes } from 'react-router-dom'
|
|
import { Layout } from './components/Layout'
|
|
import { Dashboard } from './pages/Dashboard'
|
|
import { GenerateCalendar } from './pages/GenerateCalendar'
|
|
import { GenerateSingle } from './pages/GenerateSingle'
|
|
import { OutputReview } from './pages/OutputReview'
|
|
import { PromptEditor } from './pages/PromptEditor'
|
|
import { Settings } from './pages/Settings'
|
|
import { SwipeFile } from './pages/SwipeFile'
|
|
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
retry: 1,
|
|
staleTime: 30_000,
|
|
},
|
|
},
|
|
})
|
|
|
|
function App() {
|
|
return (
|
|
<QueryClientProvider client={queryClient}>
|
|
{/* basename must match the nginx subpath and Vite base config */}
|
|
<BrowserRouter basename="/postgenerator">
|
|
<Layout>
|
|
<Routes>
|
|
<Route path="/" element={<Dashboard />} />
|
|
<Route path="/genera" element={<GenerateCalendar />} />
|
|
<Route path="/genera-singolo" element={<GenerateSingle />} />
|
|
<Route path="/risultati/:jobId" element={<OutputReview />} />
|
|
<Route path="/prompt-editor" element={<PromptEditor />} />
|
|
<Route path="/swipe-file" element={<SwipeFile />} />
|
|
<Route path="/impostazioni" element={<Settings />} />
|
|
</Routes>
|
|
</Layout>
|
|
</BrowserRouter>
|
|
</QueryClientProvider>
|
|
)
|
|
}
|
|
|
|
export default App
|