feat: complete receipt import phase 6b with review flow, editing, and destination selection

This commit is contained in:
Nils-Johan Gynther
2026-05-01 01:33:55 +02:00
parent d4b35f4a5b
commit 73d653aef9
3 changed files with 38 additions and 20 deletions
+21 -17
View File
@@ -32,16 +32,15 @@ Relaterade dokument:
## Arbetsplan
### Pågående arbete
- **Kvittoimport (Fas 6b):** Grundflödet fungerar (2026-04-30) — PDF laddas upp, Mistral AI tolkar kvittot och returnerar strukturerade poster. Återstår: granskningssteg i UI och bulk-spara till pantry/inventarie.
- **Kvittoimport (Fas 6b):** ✅ Klar (2026-05-01) — Granskning, redigering, val av destination (inventarie/baslager), merge och spara implementerat.
- **Bildimport:** Säkerställa att containrar är uppdaterade med senaste kod och att diagnostikloggar syns vid felsökning.
- **Adminfunktioner:** Avancerad AI-integration och ytterligare adminfunktioner planeras men är ej migrerade.
### Prioriterade nästa steg
1. Slutför kvittoimport: granskningssteg + bulk-spara.
2. Säkerställa robust bildimport och diagnostik.
3. Implementera avancerad AI-integration för produktkategorisering.
4. Utöka adminfunktioner för användarhantering och produktadministration.
5. Förbättra UI/UX för användarflöden, inklusive onboarding och profilhantering.
1. Säkerställa robust bildimport och diagnostik.
2. Implementera avancerad AI-integration för produktkategorisering.
3. Utöka adminfunktioner för användarhantering och produktadministration.
4. Förbättra UI/UX för användarflöden, inklusive onboarding och profilhantering.
## Beslut 2026-04-22 - User-scope för pantry och matplan
@@ -66,10 +65,10 @@ För v1 ska dessa flöden vara stabila i Flutter:
- **Mål:** Säkerställa att alla kärnfunktioner är stabila och buggfria.
- **Åtgärder:**
- [ ] **Kvittoimport (OCR, bulk-spara):**
- [ ] Implementera granskningssteg för kvittoimport.
- [ ] Bulk-spara för bekräftade rader.
- [ ] Säkerställa att `file_picker: ^8.0.0` är integrerat för filval på Flutter Web.
- [x] **Kvittoimport (OCR, bulk-spara) — KLAR 2026-05-01:**
- [x] Granskningssteg med checkbox, redigering och destination-väljare.
- [x] Bulk-spara till inventarie (ny/merge) eller baslager (ny/hoppa-över).
- [x] `file_picker: ^8.0.0` integrerat för filval på Flutter Web.
- [ ] **UI/UX-förbättringar för adminpaneler:**
- [ ] Lägg till tydlig placeholder-text i sökfältet.
@@ -198,11 +197,16 @@ För v1 ska dessa flöden vara stabila i Flutter:
- [x] Svar: `{ markdown: string, source: 'ica'|'pdf'|'image'|'other', imageUrl?: string }`.
- [x] På lyckat resultat: navigera till `/recipes/create` med markdown-texten förifylld.
### 6b — Kvittoimport
- [ ] Endpoint: `POST /api/receipt-import`
- [ ] Läge: filuppladdning, `multipart/form-data`, fält `file`, max 15 MB.
- [ ] Svar: `ParsedReceiptItem[]` med fälten `rawName`, `quantity`, `unit`, `suggestedProductId?`, `suggestedProductName?`, `categorySuggestion?`.
- [ ] På lyckat resultat: granskningssteg där användaren bekräftar/skippar rader.
### 6b — Kvittoimport (KLAR 2026-05-01)
- [x] Endpoint: `POST /api/receipt-import`
- [x] Läge: filuppladdning, `multipart/form-data`, fält `file`, max 15 MB.
- [x] Svar: `ParsedReceiptItem[]` med fälten `rawName`, `quantity`, `unit`, `suggestedProductId?`, `suggestedProductName?`, `categorySuggestion?`.
- [x] Granskningssteg: checkboxlista med per-rad redigering (produkt, antal, enhet, destination).
- [x] Destination per rad: **Inventarie** eller **Baslager** via SegmentedButton i redigeringsdialogen.
- [x] Inventarie: ny post skapas, eller befintlig post slås ihop (PATCH quantity) med merge-förhandsvisning.
- [x] Baslager: produkt läggs till om den inte redan finns, annars hoppas den över.
- [x] AI-kategorisuggestion visas som chip (grön, `AI: kategori`) för premium-användare.
- [x] Snackbar med separat räkning: skapade/sammanslagna i inventarie + tillagda/redan-i-baslager.
## UI/UX-förbättringar (KLAR 2026-04-22)
- [x] Produktval med bottenark (ProductPickerField) i inventarie/pantry.
@@ -371,12 +375,12 @@ Relaterade dokument:
## Arbetsplan
### Pågående arbete
- **Kvittoimport (Fas 6b):** Påbörjad men granskningssteg och bulk-spara återstår.
- **Kvittoimport (Fas 6b):** ✅ Klar (2026-05-01) — granskningssteg, destination-väljare, merge och spara klart.
- **Bildimport:** Säkerställa att containrar är uppdaterade med senaste kod och att diagnostikloggar syns vid felsökning.
- **Adminfunktioner:** Avancerad AI-integration och ytterligare adminfunktioner planeras men är ej migrerade.
### Prioriterade nästa steg
1. Slutför kvittoimport och bulk-spara.
1. ~~Slutför kvittoimport och bulk-spara.~~ ✅ Klart (2026-05-01)
2. Säkerställa robust bildimport och diagnostik.
3. Implementera avancerad AI-integration för produktkategorisering.
4. Utöka adminfunktioner för användarhantering och produktadministration.