- New clients table with PF/PJ support, fiscal data (CUI, IBAN, eFactura fields)
- Full CRUD API for clients with search, sync integration
- Order lifecycle: edit header (DRAFT), devalidate (VALIDAT→DRAFT), delete order/invoice
- Invoice types: FACTURA (B2B) vs BON_FISCAL (B2C) with different nr formats
- OrderCreateView redesigned as multi-step flow (client→vehicle→details)
- Autocomplete from catalog_norme/catalog_preturi in OrderLineForm
- Dashboard now combines stats + full orders table with filter tabs and search
- ClientPicker and VehiclePicker with inline creation capability
- Frontend schema aligned with backend (missing columns causing sync errors)
- Mobile responsive fixes for OrderDetailView buttons
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dev server now sends Cross-Origin-Opener-Policy and
Cross-Origin-Embedder-Policy headers required for WASM
SharedArrayBuffer support used by wa-sqlite.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- PWA: vite-plugin-pwa with autoUpdate service worker, manifest, offline
caching for assets + NetworkFirst for API calls
- PWA icons: 192x192 and 512x512 placeholder PNGs + favicon.svg
- index.html: theme-color, apple-touch-icon, description meta tags
- UpgradeBanner component: trial expiry warning with upgrade CTA
- SettingsView: complete settings page with:
- Plan info display
- Tenant profile form (firma, CUI, reg com, adresa, IBAN, banca)
- Backup export (JSON with all tenant data from wa-sqlite)
- Restore import (JSON file with validation and INSERT OR REPLACE)
- User management with invite form (email + rol)
- Logout button
- useOffline composable: shared reactive online/offline state
- DashboardView: added UpgradeBanner at top
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- DevizPublicView: standalone public page /p/:token (no auth, no layout)
- Loads order/tenant/lines from backend API
- Accept/Reject buttons with feedback banners
- Mobile-first design with service branding
- usePdf composable: fetch PDF blob from backend and trigger browser download
- PdfDownloadButton component: reusable button for deviz/invoice PDF download
- InvoicesView: table with invoice list from wa-sqlite, PDF download per row
- OrderDetailView: added PDF Deviz download button (visible when not DRAFT)
- Router: added /invoices route, portal /p/:token uses layout: 'none'
- App.vue: supports layout: 'none' for standalone pages
- AppLayout: added Facturi link in sidebar nav
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>