Commit Graph

4 Commits

Author SHA1 Message Date
Michele
9e5bddc312 feat(01-04): SlideViewer con edit inline e ProgressIndicator con polling
- SlideViewer.tsx: navigazione frecce sinistra/destra tra 8 slide (Cover + 6 centrali + CTA)
  - EditableField component: click-to-edit per ogni campo (input/textarea)
  - Dot indicators + keyboard navigation (frecce sinistra/destra)
  - Caption Instagram editabile con contatore caratteri
  - Callback onEdit propaga modifiche al parent
- ProgressIndicator.tsx: polling real-time via useJobStatus(jobId)
  - Barra progresso visuale con percentuale
  - Lista post con icone stato: pending/running/success/failed
  - onComplete(jobId) chiamato quando status diventa 'completed'
  - Poll ogni 2s (condizionale nel hook, si ferma quando completed/failed)
2026-03-08 02:26:54 +01:00
Michele
a2ebd72041 feat(01-04): badge PN/Schwartz e PostCard con stati success/failed/pending
- BadgePN.tsx: 6 colori distinti per tipi PN (valore/storytelling/news/riprova_sociale/coinvolgimento/promozione)
- BadgeSchwartz.tsx: 5 livelli L1-L5 con tooltip descriptivo, colori progressivi
- PostCard.tsx: stati success (espandibile con SlideViewer) / failed (errore + pulsante Riprova) / pending (loader)
- SlideViewer.tsx: stub per compilazione (completato nel task successivo)
- PostCard usa useGenerateSingle() per rigenerazione inline post falliti
2026-03-08 02:25:17 +01:00
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
Michele
62f4b487b0 feat(01-01): React + Vite + Tailwind v4 SPA scaffold con API client
- Vite react-ts project con base: '/postgenerator/' (Pitfall #9 risolto)
- Tailwind v4 via @tailwindcss/vite plugin + @import "tailwindcss" in index.css
- react-router-dom con BrowserRouter basename="/postgenerator"
- @tanstack/react-query con QueryClientProvider
- lucide-react installato per icone
- src/api/client.ts: API_BASE='/postgenerator/api', apiFetch<T> con error handling
- Dev proxy: /postgenerator/api -> http://localhost:8000 (strip /postgenerator)
- App.tsx: HomePage placeholder "Setup completo", struttura Routes pronta
- Build Vite: 253.90kB JS + 5.53kB CSS, nessun errore TypeScript
2026-03-08 01:55:19 +01:00