# PRD: Mobile Navigation Fixes - Phase 3

## 1. Introducere

Acest PRD continuă îmbunătățirile mobile din fazele anterioare, adresând bugfix-uri și ajustări identificate în testare. Scopul este corectarea navigării, restaurarea funcționalităților lipsă și restructurarea meniului footer pentru o experiență consistentă.

**Branch de lucru:** `ralph/unified-mobile-md` (continuare)

## 2. Obiective

### Obiectiv Principal
- **Corectare navigare**: Buton Înapoi funcțional, footer nav consistent pe toate paginile

### Obiective Secundare
- Restaurare butoane export/filtrare pe paginile de rapoarte
- Restructurare footer: Dashboard, Bonuri, Facturi, Setări
- Tab-uri Clienți/Furnizori în Facturi și Scadențe
- Upload doar în butonul + pe pagina Bonuri

### Metrici de Succes
- 100% pagini mobile au footer nav funcțional
- Buton Înapoi pe toate paginile de editare/vizualizare
- Export/Filtrare disponibile pe toate rapoartele

## 3. User Stories

---

### US-301: Buton Înapoi în Creare/Editare/Vizualizare Bon
**Ca** utilizator mobil
**Vreau** buton ← Înapoi în MobileTopBar pe pagina de bon
**Pentru că** acum nu pot reveni la lista de bonuri fără hamburger menu

**Acceptance Criteria:**
- [ ] 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

---

### US-302: Footer Nav pe toate Paginile de Setări
**Ca** utilizator mobil
**Vreau** MobileBottomNav pe toate paginile din secțiunea Setări
**Pentru că** unele pagini (OCR Metrics, Cache Stats, Loguri) nu au footer

**Acceptance Criteria:**
- [ ] OCRMetricsView.vue include MobileBottomNav
- [ ] CacheStatsView.vue include MobileBottomNav
- [ ] ServerLogsView.vue include MobileBottomNav
- [ ] TelegramAdminView.vue include MobileBottomNav (dacă există)
- [ ] SettingsHubView.vue include MobileBottomNav (verificare)
- [ ] Setări activ/highlighted în footer pe aceste pagini
- [ ] npm run build passes

---

### US-303: Mutare Upload din Footer în Butonul + pe Bonuri
**Ca** utilizator mobil
**Vreau** funcția Upload să fie în butonul FAB (+) pe pagina Bonuri
**Pentru că** Upload nu are sens în footer pe alte pagini

**Acceptance Criteria:**
- [ ] MobileBottomNav NU mai are link/buton Upload
- [ ] ReceiptsListView.vue are buton FAB (+) în colțul dreapta-jos
- [ ] Click pe FAB deschide meniu: "Bon Nou" | "Upload Bulk"
- [ ] FAB poziționat deasupra MobileBottomNav (bottom: 72px)
- [ ] Verify in browser: FAB apare doar pe pagina Bonuri
- [ ] npm run build passes

---

### US-304: Tab-uri Clienți/Furnizori în Facturi
**Ca** utilizator
**Vreau** pagina Facturi să aibă tab-uri pentru Clienți și Furnizori
**Pentru că** vreau să comut rapid între cele două perspective

**Acceptance Criteria:**
- [ ] InvoicesView.vue modificat cu tab-uri: "Clienți" | "Furnizori"
- [ ] Tab-uri în MobileTopBar sau sub el (design Material)
- [ ] 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

---

### US-305: Tab-uri Clienți/Furnizori în Scadențe
**Ca** utilizator
**Vreau** pagina Scadențe să aibă tab-uri pentru Clienți și Furnizori
**Pentru că** vreau să comut rapid între cele două perspective

**Acceptance Criteria:**
- [ ] MaturityAnalysisView.vue modificat cu tab-uri: "Clienți" | "Furnizori"
- [ ] Tab-uri în MobileTopBar sau sub el (design Material)
- [ ] 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"
- [ ] MobileBottomNav activ (Rapoarte în hamburger menu)
- [ ] Buton ← Înapoi în MobileTopBar
- [ ] npm run build passes

---

### US-306: Restaurare Butoane Export și Filtrare pe Rapoarte (Mobil)
**Ca** utilizator mobil
**Vreau** butoane de export și filtrare pe Facturi, Balanță, Casa/Banca, Lista Bonuri
**Pentru că** aceste funcționalități au dispărut în implementarea anterioară

**Acceptance Criteria:**
- [ ] InvoicesView.vue: buton Export în MobileTopBar actions
- [ ] InvoicesView.vue: buton Filtrare care deschide BottomSheet
- [ ] TrialBalanceView.vue: buton Export în MobileTopBar actions
- [ ] TrialBalanceView.vue: buton Filtrare care deschide BottomSheet
- [ ] BankCashRegisterView.vue: buton Export în MobileTopBar actions
- [ ] BankCashRegisterView.vue: buton Filtrare care deschide BottomSheet
- [ ] ReceiptsListView.vue: buton Export în MobileTopBar actions
- [ ] ReceiptsListView.vue: buton Filtrare care deschide BottomSheet
- [ ] MaturityAnalysisView.vue: buton Export în MobileTopBar actions
- [ ] MaturityAnalysisView.vue: buton Filtrare care deschide BottomSheet
- [ ] Icons: pi-download (export), pi-filter (filtre)
- [ ] npm run build passes

---

### US-307: Restructurare Footer Nav (4 butoane noi)
**Ca** utilizator mobil
**Vreau** footer navigation cu: Dashboard | Bonuri | Facturi | Setări
**Pentru că** vreau acces rapid la cele mai folosite secțiuni

**Acceptance Criteria:**
- [ ] MobileBottomNav cu 4 butoane: Dashboard, Bonuri, Facturi, Setări
- [ ] Dashboard: icon pi-home sau pi-chart-bar, 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

---

### US-308: Actualizare Hamburger Menu - Grupat pe Categorii
**Ca** utilizator mobil
**Vreau** meniul hamburger organizat pe categorii clare
**Pentru că** vreau să găsesc rapid paginile de care am nevoie

**Acceptance Criteria:**
- [ ] MobileDrawerMenu.vue restructurat cu secțiuni:
- [ ] 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 "SETĂRI":
  - [ ] Setări → /settings (hub)
- [ ] Separatori vizuali între secțiuni
- [ ] Header cu logo
- [ ] Footer cu profil utilizator și logout
- [ ] npm run build passes

---

### US-309: Cleanup Dashboard Mobile
**Ca** utilizator mobil
**Vreau** Dashboard-ul să afișeze doar KPIs fără quick-links
**Pentru că** navigarea se face din footer și hamburger menu

**Acceptance Criteria:**
- [ ] 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

---

### US-310: Actualizare Router cu Modificările
**Ca** developer
**Vreau** router-ul actualizat pentru noile pagini și modificări
**Pentru că** navigarea trebuie să funcționeze corect

**Acceptance Criteria:**
- [ ] Rută /reports/invoices → InvoicesView (cu tab-uri)
- [ ] Rută /reports/maturity-analysis → MaturityAnalysisView (cu tab-uri)
- [ ] Rutele existente păstrate: /reports/trial-balance, /reports/bank-cash
- [ ] Rutele /reports/detailed-invoices funcționale
- [ ] Cleanup rute nefolosite (dacă există)
- [ ] Toate rutele lazy loaded
- [ ] npm run build passes

---

### US-311: Actualizare Documentație MOBILE_PATTERNS.md
**Ca** developer viitor
**Vreau** documentația actualizată cu modificările din Phase 3
**Pentru că** pattern-urile s-au schimbat

**Acceptance Criteria:**
- [ ] 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

---

## 4. Cerințe Funcționale

1. [REQ-001] Toate paginile de editare/vizualizare au buton Înapoi în MobileTopBar
2. [REQ-002] Footer nav are exact 4 butoane: Dashboard, Bonuri, Facturi, Setări
3. [REQ-003] Upload accesibil DOAR din FAB pe pagina Bonuri
4. [REQ-004] Facturi cu tab-uri Clienți/Furnizori
5. [REQ-005] Scadențe cu tab-uri Clienți/Furnizori
6. [REQ-006] Toate rapoartele au butoane Export și Filtrare pe mobil
7. [REQ-007] Hamburger menu organizat pe categorii: Principale, Rapoarte, Analize, Setări
8. [REQ-008] Dashboard afișează doar KPIs pe mobil

## 5. Non-Goals (Ce NU facem)

- ❌ Nu modificăm layout-ul desktop
- ❌ Nu adăugăm funcționalități noi în backend
- ❌ Nu schimbăm logica de business
- ❌ Nu modificăm stilurile cardurilor existente
- ❌ Nu implementăm notificări sau animații complexe
- ❌ Nu creăm pagini separate pentru Clienți/Furnizori (folosim tab-uri)

## 6. Considerații Tehnice

### Stack/Tehnologii
- Vue 3 Composition API
- Vue Router pentru navigare
- Componente existente: MobileTopBar, MobileBottomNav, BottomSheet, MobileDrawerMenu
- PrimeVue TabView sau custom tabs pentru Clienți/Furnizori

### Patterns de Urmat
- Tab Pattern pentru switch între perspective
- FAB Pattern pentru acțiuni contextuale
- BottomSheet pentru filtre pe mobil

### Dependențe
- US-307 trebuie făcut primul (footer restructurare)
- US-304 și US-305 pot fi făcute în paralel (tab-uri)
- US-308 poate fi făcut independent (hamburger menu)

### Riscuri Tehnice
- **Risc scăzut**: Tab-uri în pagini existente pot necesita refactoring
  - Mitigare: Folosire PrimeVue TabView sau custom component simplu

## 7. Considerații UI/UX

### Structură Footer Navigation Nouă
```
┌─────────────────────────────────────────────┐
│         MOBILE BOTTOM NAV (4 butoane)       │
├───────────┬───────────┬───────────┬─────────┤
│ Dashboard │  Bonuri   │ Facturi   │ Setări  │
│    🏠     │    🧾     │    📄     │   ⚙️    │
│/dashboard │/data-entry│ /reports/ │/settings│
│           │           │ invoices  │         │
└───────────┴───────────┴───────────┴─────────┘
```

### FAB pe Pagina Bonuri
```
┌─────────────────────────────────────────────┐
│ Lista Bonuri                     🔍  📥  ☰  │
├─────────────────────────────────────────────┤
│                                             │
│  [Bon 1]                                    │
│  [Bon 2]                                    │
│  [Bon 3]                                    │
│                                       ┌───┐ │
│                                       │ + │ │ ← FAB
│                                       └───┘ │
├─────────────────────────────────────────────┤
│ Dashboard │  Bonuri   │ Facturi   │ Setări  │
└─────────────────────────────────────────────┘

Click pe FAB →
┌─────────────────┐
│ 📝 Bon Nou      │
│ 📤 Upload Bulk  │
└─────────────────┘
```

### Pagina Facturi cu Tab-uri
```
┌─────────────────────────────────────────────┐
│ Facturi                          🔍  📥  ☰  │
├─────────────────────────────────────────────┤
│ ┌─────────────┬─────────────┐               │
│ │  Clienți    │  Furnizori  │  ← Tab-uri    │
│ └─────────────┴─────────────┘               │
├─────────────────────────────────────────────┤
│                                             │
│  [Factură 1]                                │
│  [Factură 2]                                │
│  [Factură 3]                                │
│                                             │
├─────────────────────────────────────────────┤
│ Dashboard │  Bonuri   │ Facturi   │ Setări  │
└─────────────────────────────────────────────┘
```

### Pagina Scadențe cu Tab-uri
```
┌─────────────────────────────────────────────┐
│ ← Scadențe                       🔍  📥  ☰  │
├─────────────────────────────────────────────┤
│ ┌─────────────┬─────────────┐               │
│ │  Clienți    │  Furnizori  │  ← Tab-uri    │
│ └─────────────┴─────────────┘               │
├─────────────────────────────────────────────┤
│                                             │
│  [Scadență 1]                               │
│  [Scadență 2]                               │
│  [Scadență 3]                               │
│                                             │
├─────────────────────────────────────────────┤
│ Dashboard │  Bonuri   │ Facturi   │ Setări  │
└─────────────────────────────────────────────┘
```

### Hamburger Menu Actualizat (Grupat pe Categorii)
```
┌─────────────────────────────────────────────┐
│ [Logo ROA2WEB]                              │
│─────────────────────────────────────────────│
│ PRINCIPALE                                  │
│   🏠 Dashboard                              │
│   🧾 Bonuri                                 │
│─────────────────────────────────────────────│
│ RAPOARTE                                    │
│   📄 Facturi                                │
│   📊 Balanță                                │
│   💰 Casa și Banca                          │
│─────────────────────────────────────────────│
│ ANALIZE                                     │
│   ⏰ Scadențe                               │
│   📋 Facturi Detaliate                      │
│─────────────────────────────────────────────│
│ ADMINISTRARE                                │
│   ⚙️ Setări                                 │
│─────────────────────────────────────────────│
│ 👤 [Username]                               │
│ [Logout]                                    │
└─────────────────────────────────────────────┘
```

## 8. Success Metrics

- **Navigare**: 100% pagini cu footer nav funcțional
- **Consistență**: Tab-uri identice în Facturi și Scadențe
- **UX**: Max 2 tap-uri pentru orice destinație
- **Funcționalitate**: Export/Filtre disponibile pe toate rapoartele

## 9. Open Questions

- [x] Footer: Dashboard, Bonuri, Facturi, Setări - DA
- [x] Hamburger: Grupat pe categorii - DA
- [x] Facturi/Scadențe: Tab-uri Clienți/Furnizori - DA

---

## Implementare Sugerată (Ordinea User Stories)

### Faza 1: Infrastructură Navigare
1. US-307: Restructurare Footer Nav (4 butoane noi)
2. US-308: Actualizare Hamburger Menu - Grupat pe Categorii

### Faza 2: Tab-uri Clienți/Furnizori
3. US-304: Tab-uri în Facturi
4. US-305: Tab-uri în Scadențe

### Faza 3: Corectări Navigare
5. US-301: Buton Înapoi în editare bon
6. US-302: Footer Nav pe paginile de setări
7. US-303: FAB pe pagina Bonuri (mutare Upload)

### Faza 4: Restaurare Funcționalități
8. US-306: Restaurare Export și Filtrare pe rapoarte

### Faza 5: Cleanup
9. US-309: Cleanup Dashboard Mobile
10. US-310: Actualizare Router

### Faza 6: Documentație
11. US-311: Update MOBILE_PATTERNS.md
