Implemented by Ralph autonomous loop. Iteration: 3 Co-Authored-By: Claude <noreply@anthropic.com>
217 lines
8.9 KiB
JSON
217 lines
8.9 KiB
JSON
{
|
|
"projectName": "mobile-fixes-phase3",
|
|
"branchName": "ralph/unified-mobile-md",
|
|
"description": "Corectări navigare mobilă: footer restructurat, tab-uri Clienți/Furnizori, FAB pe Bonuri, hamburger grupat",
|
|
"cssRules": {
|
|
"documentation": [
|
|
"docs/ONBOARDING_CSS.md",
|
|
"docs/DESIGN_TOKENS.md",
|
|
"docs/CSS_PATTERNS.md",
|
|
"docs/MOBILE_PATTERNS.md"
|
|
],
|
|
"goldenRules": [
|
|
"Folosește DOAR design tokens - NICIODATĂ valori hardcodate",
|
|
"Verifică CSS_PATTERNS.md înainte de a scrie CSS nou",
|
|
"Testează în AMBELE teme (light + dark mode)",
|
|
"NICIODATĂ :deep() în componente (PrimeVue → vendor/)",
|
|
"Mobile: toate paginile folosesc MobileTopBar + MobileBottomNav",
|
|
"Mobile: filtrele se pun în BottomSheet, NU inline",
|
|
"Mobile: tab-uri pentru switch Clienți/Furnizori"
|
|
],
|
|
"mobileLayoutTokens": {
|
|
"topBarHeight": "56px",
|
|
"bottomNavHeight": "56px",
|
|
"fabSize": "56px",
|
|
"fabBottomOffset": "72px",
|
|
"touchTargetMin": "48px"
|
|
}
|
|
},
|
|
"userStories": [
|
|
{
|
|
"id": "US-307",
|
|
"title": "Restructurare Footer Nav (4 butoane noi)",
|
|
"description": "Ca utilizator mobil vreau footer navigation cu: Dashboard | Bonuri | Facturi | Setări",
|
|
"priority": 1,
|
|
"acceptanceCriteria": [
|
|
"MobileBottomNav cu 4 butoane: Dashboard, Bonuri, Facturi, Setări",
|
|
"Dashboard: icon pi-home, route /dashboard",
|
|
"Bonuri: icon pi-receipt, route /data-entry",
|
|
"Facturi: icon pi-file-edit, route /reports/invoices",
|
|
"Setări: icon pi-cog, route /settings",
|
|
"Active state corect pe fiecare pagină",
|
|
"Ștergere link Upload din footer (mutat în FAB)",
|
|
"npm run build passes"
|
|
],
|
|
"passes": true,
|
|
"notes": "Completed in iteration 1"
|
|
},
|
|
{
|
|
"id": "US-308",
|
|
"title": "Actualizare Hamburger Menu - Grupat pe Categorii",
|
|
"description": "Ca utilizator mobil vreau meniul hamburger organizat pe categorii clare",
|
|
"priority": 2,
|
|
"acceptanceCriteria": [
|
|
"MobileDrawerMenu.vue restructurat cu secțiuni vizuale",
|
|
"Secțiune PRINCIPALE: Dashboard → /dashboard, Bonuri → /data-entry",
|
|
"Secțiune RAPOARTE: Facturi → /reports/invoices, Balanță → /reports/trial-balance, Casa și Banca → /reports/bank-cash",
|
|
"Secțiune ANALIZE: Scadențe → /reports/maturity-analysis, Facturi Detaliate → /reports/detailed-invoices",
|
|
"Secțiune ADMINISTRARE: Setări → /settings",
|
|
"Separatori vizuali între secțiuni",
|
|
"Header cu logo, Footer cu profil utilizator și logout",
|
|
"npm run build passes"
|
|
],
|
|
"passes": true,
|
|
"notes": "Completed in iteration 2"
|
|
},
|
|
{
|
|
"id": "US-304",
|
|
"title": "Tab-uri Clienți/Furnizori în Facturi",
|
|
"description": "Ca utilizator vreau pagina Facturi să aibă tab-uri pentru Clienți și Furnizori",
|
|
"priority": 3,
|
|
"acceptanceCriteria": [
|
|
"InvoicesView.vue modificat cu tab-uri: Clienți | Furnizori",
|
|
"Tab-uri sub MobileTopBar (design Material, full-width)",
|
|
"Switch între tab-uri păstrează filtrele active",
|
|
"Default: primul tab activ (Clienți)",
|
|
"URL query param pentru tab activ (?tab=suppliers)",
|
|
"MobileTopBar cu title Facturi",
|
|
"MobileBottomNav activ (Facturi highlighted)",
|
|
"npm run build passes"
|
|
],
|
|
"passes": true,
|
|
"notes": "Completed in iteration 1"
|
|
},
|
|
{
|
|
"id": "US-305",
|
|
"title": "Tab-uri Clienți/Furnizori în Scadențe",
|
|
"description": "Ca utilizator vreau pagina Scadențe să aibă tab-uri pentru Clienți și Furnizori",
|
|
"priority": 4,
|
|
"acceptanceCriteria": [
|
|
"MaturityAnalysisView.vue modificat cu tab-uri: Clienți | Furnizori",
|
|
"Tab-uri sub MobileTopBar (design Material, full-width)",
|
|
"Switch între tab-uri păstrează filtrele active",
|
|
"Default: primul tab activ (Clienți)",
|
|
"URL query param pentru tab activ (?tab=suppliers)",
|
|
"MobileTopBar cu title Scadențe și buton ← Înapoi",
|
|
"MobileBottomNav activ",
|
|
"npm run build passes"
|
|
],
|
|
"passes": true,
|
|
"notes": "Completed in iteration 2"
|
|
},
|
|
{
|
|
"id": "US-301",
|
|
"title": "Buton Înapoi în Creare/Editare/Vizualizare Bon",
|
|
"description": "Ca utilizator mobil vreau buton ← Înapoi în MobileTopBar pe pagina de bon",
|
|
"priority": 5,
|
|
"acceptanceCriteria": [
|
|
"ReceiptCreateUnifiedView.vue are MobileTopBar cu showBack=true",
|
|
"Click pe ← navighează la /data-entry (lista bonuri)",
|
|
"Funcționează în toate modurile: create, edit, view",
|
|
"Verify in browser: butonul apare și funcționează",
|
|
"npm run build passes"
|
|
],
|
|
"passes": true,
|
|
"notes": "Completed in iteration 3"
|
|
},
|
|
{
|
|
"id": "US-302",
|
|
"title": "Footer Nav pe toate Paginile de Setări",
|
|
"description": "Ca utilizator mobil vreau MobileBottomNav pe toate paginile din secțiunea Setări",
|
|
"priority": 6,
|
|
"acceptanceCriteria": [
|
|
"OCRMetricsView.vue include MobileBottomNav cu Setări activ",
|
|
"CacheStatsView.vue include MobileBottomNav cu Setări activ",
|
|
"ServerLogsView.vue include MobileBottomNav cu Setări activ",
|
|
"TelegramAdminView.vue include MobileBottomNav cu Setări activ (dacă există)",
|
|
"SettingsHubView.vue include MobileBottomNav cu Setări activ",
|
|
"npm run build passes"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "US-303",
|
|
"title": "FAB pe Pagina Bonuri (Mutare Upload)",
|
|
"description": "Ca utilizator mobil vreau funcția Upload să fie în butonul FAB (+) pe pagina Bonuri",
|
|
"priority": 7,
|
|
"acceptanceCriteria": [
|
|
"ReceiptsListView.vue are buton FAB (+) în colțul dreapta-jos",
|
|
"Click pe FAB deschide meniu popup: Bon Nou | Upload Bulk",
|
|
"FAB poziționat deasupra MobileBottomNav (bottom: 72px)",
|
|
"Bon Nou navighează la /data-entry/receipts/new",
|
|
"Upload Bulk navighează la /data-entry/bulk-upload",
|
|
"FAB vizibil doar pe mobil (isMobile)",
|
|
"npm run build passes"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "US-306",
|
|
"title": "Restaurare Butoane Export și Filtrare pe Rapoarte",
|
|
"description": "Ca utilizator mobil vreau butoane de export și filtrare pe toate rapoartele",
|
|
"priority": 8,
|
|
"acceptanceCriteria": [
|
|
"InvoicesView.vue: buton Export (pi-download) și Filtrare (pi-filter) în MobileTopBar actions",
|
|
"TrialBalanceView.vue: buton Export și Filtrare în MobileTopBar actions",
|
|
"BankCashRegisterView.vue: buton Export și Filtrare în MobileTopBar actions",
|
|
"ReceiptsListView.vue: buton Export și Filtrare în MobileTopBar actions",
|
|
"MaturityAnalysisView.vue: buton Export și Filtrare în MobileTopBar actions",
|
|
"Click pe Filtrare deschide BottomSheet cu filtrele paginii",
|
|
"npm run build passes"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "US-309",
|
|
"title": "Cleanup Dashboard Mobile",
|
|
"description": "Ca utilizator mobil vreau Dashboard-ul să afișeze doar KPIs fără quick-links",
|
|
"priority": 9,
|
|
"acceptanceCriteria": [
|
|
"DashboardView.vue pe mobil: ștergere quick-link cards dacă există",
|
|
"Doar SwipeableCards cu KPIs pe mobil",
|
|
"Desktop rămâne neschimbat",
|
|
"MobileTopBar cu title Dashboard",
|
|
"MobileBottomNav cu Dashboard activ",
|
|
"npm run build passes"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "US-310",
|
|
"title": "Actualizare Router cu Modificările",
|
|
"description": "Ca developer vreau router-ul actualizat pentru a funcționa cu noile pagini",
|
|
"priority": 10,
|
|
"acceptanceCriteria": [
|
|
"Rută /reports/invoices → InvoicesView funcțională",
|
|
"Rută /reports/maturity-analysis → MaturityAnalysisView funcțională",
|
|
"Rutele existente păstrate: /reports/trial-balance, /reports/bank-cash, /reports/detailed-invoices",
|
|
"Cleanup rute nefolosite dacă există",
|
|
"Toate rutele lazy loaded",
|
|
"npm run build passes"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "US-311",
|
|
"title": "Actualizare Documentație MOBILE_PATTERNS.md",
|
|
"description": "Ca developer viitor vreau documentația actualizată cu modificările din Phase 3",
|
|
"priority": 11,
|
|
"acceptanceCriteria": [
|
|
"Secțiune actualizată: Footer Navigation (Dashboard, Bonuri, Facturi, Setări)",
|
|
"Secțiune nouă: FAB Pattern pentru acțiuni contextuale",
|
|
"Secțiune nouă: Tab Pattern pentru switch Clienți/Furnizori",
|
|
"Secțiune actualizată: Hamburger Menu grupat pe categorii",
|
|
"Diagrame ASCII actualizate cu noua structură navigare",
|
|
"npm run build passes"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
}
|
|
]
|
|
}
|