# Flutter Frontend - User Guide

This README describes how to use the Flutter frontend for Recipe App from a user and operator perspective.

Related documents:
- [next_steps_flutter.md](../next_steps_flutter.md)
- [teknisk_beskrivning_flutter.md](../teknisk_beskrivning_flutter.md)

## What this app is
This is a Flutter Web frontend for Recipe App, served in Docker and exposed through Caddy.
It is intended to behave like the existing web frontend, but built in Flutter to support future Android and iOS clients.

## Current user flows
- Login with username and password.
- Recipe list view after login.
- Profile page (base version).
- Logout from recipe/profile pages.

## Where to access it
- Test environment: `https://test.gynther.se`

## Login details
- Login expects username, not email.
- Example seeded admin user in backend bootstrap: `Nadmin`.
- Password is controlled by server environment variable (`ADMIN_NADMIN_PASSWORD`).

## Known current scope
This is an active migration track. Not all pages from the existing frontend are moved yet.
Planned migration sequence is documented in [next_steps_flutter.md](../next_steps_flutter.md).

## Troubleshooting (user level)
1. If page shows old behavior after deploy: hard refresh or open in incognito.
2. If login fails: verify username/password (not email).
3. If recipes do not load: report browser console/network errors to the dev team.


## Release expectation
This frontend is available for iterative testing. Feature parity with the current production frontend is delivered step by step.

---

## Nyheter och förbättringar (2026-04-22)

- **Fas 5: Matplan parity** — Veckovy, portionsjustering per dag, inköpslista och inventariejämförelse mot användarens pantry är nu fullt migrerade och user-scopade.
- **Fas 6a: Receptimport** — Importflöde för recept (fil/URL) är nu robust, med stöd för PDF, bild och ICA-länkar. Prefill av markdown och bild-url fungerar i Flutter.
- **Bildimport** — Backend och Flutter har förbättrats med robust bildhantering, normalisering av URL:er, fallback och diagnostikloggning. Bilden sparas och kopplas till receptet vid import.
- **User-scope för pantry och matplan** — Alla baslager- och matplansdata är nu per användare (inte globala). Backend och Prisma-schema är migrerade.
- **UI/UX-förbättringar** — Produktval med bottenark (ProductPickerField), swipe-för-±1 på inventarielistan (SwipeableInventoryTile), och förbättrad felhantering.
- **Felsökningslogg** — Se `../IMPORT_IMAGE_DEBUG_2026-04-22.md` för detaljerad felsökningshistorik kring bildimport.

## Kända begränsningar
- Kvittoimport (Fas 6b) är påbörjad men granskningssteg och bulk-spara återstår.
- Bildimport kräver att containrar är uppdaterade med senaste kod — kontrollera att diagnostikloggar syns vid felsökning.
- Vissa adminfunktioner och avancerad AI-integration är planerade men ej migrerade.

---
