diff --git a/VIEWS_AND_SCENARIOS.md b/VIEWS_AND_SCENARIOS.md
index d49b44e..2c48bcd 100644
--- a/VIEWS_AND_SCENARIOS.md
+++ b/VIEWS_AND_SCENARIOS.md
@@ -1,6 +1,6 @@
# Widoki i scenariusze — Aplikacja Kuchenna
-> **Cel dokumentu:** Opis wszystkich widoków aplikacji z obecnym stanem, scenariusze użytkownika i znane problemy. Odniesienie dla dalszego rozwoju.
+> **Cel dokumentu:** Opis widoków, przepływów i scenariuszy użytkownika. Odniesienie dla dalszego rozwoju.
> **Kontekst projektu:** To jest **prototyp / mockup** — celem jest wypracowanie UX, logiki widoków i przepływów użytkownika. Finalna aplikacja będzie pisana w innym języku z backendem. Wartość tego prototypu to przede wszystkim: struktura widoków, scenariusze, model danych i decyzje UX — nie kod sam w sobie.
@@ -11,14 +11,15 @@
| Cecha | Opis |
|-------|------|
| Liczba osób | 1 (gotuje dla siebie) |
-| Planowanie | Elastyczne, 1–7 dni do przodu |
+| Planowanie | Mieszane — część z wyprzedzeniem (np. niedziela na tydzień), część ad hoc na bieżąco |
| Posiłki | 5 slotów (śniadanie, drugie śniadanie, obiad, przekąska, kolacja) |
-| Powtarzalność | Duża (zwłaszcza śniadania) — kopiowanie dnia kluczowe |
-| Styl gotowania | Hybrydowy: trochę meal-prep, trochę na bieżąco |
-| Zakupy | Mieszane: duże zakupy + uzupełnienia w tygodniu |
-| Cel dietetyczny | Utrzymanie wagi, śledzenie per posiłek |
-| Pomijanie posiłków | Jawne "Pomijam" (jedzenie na mieście itp.) |
-| Przepisy | Katalog wbudowany (9 przepisów, 24 składniki), bez edytora |
+| Powtarzalność | Duża (zwłaszcza śniadania), ale chce stopniowo urozmaicać |
+| Styl gotowania | Hybrydowy: głównie na bieżąco, ale chce zacząć gotować na zapas (np. zupy na kilka dni) |
+| Jedzenie poza domem | 2–3× w tygodniu (restauracja, kantyna, zamówienie) — stąd jawne "Pomijam" |
+| Zakupy | Duże zakupy raz w tygodniu + drobne uzupełnienia |
+| Cel dietetyczny | Świadomość makro — chce widzieć wartości, ale nie liczy co do grama |
+| Bóle | Brak inspiracji ("co ugotować?"), marnowanie jedzenia, brak czasu w tygodniu, chaotyczne zakupy |
+| Przepisy | Katalog wbudowany (6 przepisów, 34 składniki), bez edytora |
---
@@ -45,7 +46,8 @@ js/
views/
RecipeList.js ← lista przepisów
Filter.js ← overlay filtrów
- RecipeDetail.js ← detal przepisu (slide-in overlay)
+ RecipeDetailV2.js ← detal przepisu (aktywna wersja)
+ RecipeDetail.js ← detal przepisu (oryginał, nieużywany — 3-zakładkowy)
MealPlanner.js ← planer posiłków + kalendarz
Pantry.js ← spiżarnia
Shopping.js ← listy zakupów
@@ -68,128 +70,42 @@ js/
### 3.1 Przepisy (`RecipeList`)
-**Lokalizacja:** `js/views/RecipeList.js`
+Siatka 2-kolumnowa kart przepisów z wyszukiwarką i filtrami. Kliknięcie karty otwiera detal. Filtry (overlay `Filter.js`): pory posiłku, tagi dietetyczne, suwak czasu.
-Siatka 2-kolumnowa kart przepisów generowana dynamicznie z `RECIPES`. Każda karta zawiera miniaturę (placeholder), tytuł, opis, czas przygotowania, kalorie, chipy slotów. Kliknięcie otwiera detal.
+### 3.2 Szczegóły przepisu (`RecipeDetailV2`)
-**Elementy:**
-- Wyszukiwarka (real-time, po tytule i tagach)
-- Przycisk filtrów (otwiera overlay)
-- Siatka kart
-- Empty state gdy brak wyników
+Slide-in overlay z detalami przepisu. Dwie zakładki: **Składniki** i **Kroki**.
-**Stan:** Kompletny.
+**Zakładka Składniki:**
+- Podsumowanie wartości odżywczych na górze (4-kolumnowa siatka: kalorie, białko, węgle, tłuszcze) — przeliczane dynamicznie z uwzględnieniem wybranych zamienników
+- Składniki jako karty z wartościami odżywczymi per składnik (makro + kcal po prawej, obok gramów)
+- **Wymienne składniki** — kliknięcie ikony shuffle rozwija listę opcji (oryginał + alternatywy) z radio-przyciskami; wybranie zamiennika: karta zmienia się na wybraną opcję (amber obramowanie), podsumowanie kaloryczne przelicza się na żywo
+- Selektor porcji (±, zakres 1–12) przelicza składniki i wartości
----
+**Bottom sheet "Zaplanuj":**
+1. Kalendarz (tydzień/miesiąc, nawigacja ←/→/Dziś)
+2. Pora posiłku — chipy filtrowane do `allowedSlots` przepisu
+3. Wymienne składniki — **wstępnie ustawione z wyborów na liście składników**, z możliwością dalszej zmiany
+4. Przycisk "Dodaj" → zapis do `planStore` (z opcjonalnym obiektem `substitutions`)
-### 3.2 Filtry (`Filter`)
-
-**Lokalizacja:** `js/views/Filter.js`
-
-Full-screen overlay (z-50) z chipami pór posiłku, tagami dietetycznymi i suwakiem czasu. Filtr zamknięty przyciskiem ← odrzuca niezapisane zmiany; "Pokaż X wyników" aplikuje i zamyka.
-
-**Elementy:**
-- Chipy: pory posiłku (z `MEAL_SLOTS`)
-- Chipy: tagi dietetyczne (zbierane dynamicznie z `RECIPES`)
-- Suwak: maksymalny czas przygotowania (5–120 min)
-- Przycisk "Wyczyść" + "Pokaż X wyników"
-
-**Stan:** Kompletny.
-
----
-
-### 3.3 Szczegóły przepisu (`RecipeDetail`)
-
-**Lokalizacja:** `js/views/RecipeDetail.js`
-
-Slide-in overlay z detalami przepisu. Trzy zakładki: Składniki, Kroki, Wartości.
-
-**Elementy:**
-- Hero (placeholder) + strzałka powrotu + przycisk "Zaplanuj"
-- Tytuł, tagi (sloty + tagi przepisu), czas, kcal
-- Selektor porcji (± , zakres 1–12) z przeliczaniem składników i wartości
-- Zakładka Składniki: lista read-only (bez checkboxów, bez badge'ów spiżarni). Składniki z wymiennymi wariantami mają ikonę shuffle — kliknięcie rozwija karty z alternatywami i ich wartościami odżywczymi (informacyjnie, bez możliwości wyboru)
-- Zakładka Kroki: numerowane kroki
-- Zakładka Wartości: kcal/białko/tłuszcze/węglowodany × porcje
-- Bottom sheet "Zaplanuj":
- 1. Kalendarz (tydzień/miesiąc, nawigacja ←/→/Dziś, toggle rozwinięcia) — styl ujednolicony z `MealPlanner`
- 2. Pora posiłku — chipy filtrowane do `allowedSlots` przepisu
- 3. Wymienne składniki (opcjonalne, widoczne tylko gdy przepis ma `alternatives`) — kompaktowe karty per składnik wyświetlające aktualny wybór z wartościami odżywczymi; kliknięcie rozwija listę opcji z radio-przyciskami; po wyborze karta się zwija; zmieniony składnik ma amber tło
- 4. Przycisk "Dodaj" → zapis do `planStore` (z opcjonalnym obiektem `substitutions`)
+> **Uwaga:** Istnieje starsza wersja (`RecipeDetail.js`) z 3 zakładkami (Składniki, Kroki, Wartości) i read-only alternatywami. Aktualnie nieużywana — import w `app.js` wskazuje na `RecipeDetailV2.js`.
**Model danych — wymienne składniki:**
-- W `RECIPES`, składnik może mieć pole `alternatives: ['id1', 'id2', ...]` — tablica ID alternatywnych składników
-- Przy dodawaniu do planera, wybrane zamienniki zapisywane są jako `substitutions: { originalId: chosenAltId }` w `planStore`
+- W `RECIPES`, składnik może mieć pole `alternatives: ['id1', 'id2', ...]`
+- Wybrane zamienniki zapisywane jako `substitutions: { originalId: chosenAltId }` w `planStore`
- Przykład: serek wiejski ma 3 wymienne składniki — orzechy (5 opcji), truskawki (banany), borówki (jagody)
-**Stan:** Kompletny.
+### 3.3 Planer posiłków (`MealPlanner`)
----
+Kalendarz (tydzień/miesiąc) + plan dnia z 5 slotami posiłków. Karty przepisów z porcjami (±), kcal, usuwaniem. "Pomijam" przy pustym slocie. Podsumowanie kaloryczne dnia. "Składniki na ten dzień" z porównaniem do spiżarni i prognozą tygodniową. Kopiowanie planu dnia. Picker przepisów do dodawania. Demo-dane przy pustym localStorage.
-### 3.4 Planer posiłków (`MealPlanner`)
+### 3.4 Spiżarnia (`Pantry`)
-**Lokalizacja:** `js/views/MealPlanner.js`
+Chipy składników pogrupowane po kategorii z kolorami wg stanu. Wyszukiwarka, filtry kategorii, toggle "Tylko na stanie". Bottom sheet edycji z ± i inputem, wartościami odżywczymi, "Dodaj na listę zakupów".
-Kalendarz (tydzień/miesiąc) + plan dnia z 5 slotami posiłków.
+### 3.5 Zakupy (`Shopping`)
-**Elementy kalendarza:**
-- Widok tygodnia ↔ miesiąca (swipe góra/dół na `#calendar-swipe-zone`)
-- Nawigacja: ←/→ + "Dziś"
-- Kropki pod dniem = zaplanowane posiłki
-
-**Elementy planu dnia:**
-- Nagłówek dnia + przycisk "Kopiuj dzień"
-- Karta podsumowania kalorycznego (kcal + makro, rozwijalne szczegóły)
-- "Składniki na ten dzień" (badge z liczbą braków vs "OK")
-- Sloty posiłków (5 slotów z `MEAL_SLOTS`):
- - Kcal per slot w nagłówku
- - Karty przepisów z porcjami (±), kcal, czasem, przyciskiem usuwania
- - Kliknięcie nazwy przepisu → `RecipeDetail`
- - "Dodaj przepis" / "Dodaj kolejny"
- - "Pomijam" przy pustym slocie → slot przygaszony z "Cofnij"
-
-**Bottom sheety:**
-1. **Picker przepisów**: wyszukiwarka + sekcja "Ostatnio używane" + lista filtrowana do `allowedSlots`
-2. **Składniki i spiżarnia**: porównanie potrzeb vs zapasy + prognoza tygodniowa (`computeFullForecast`) + "Dodaj braki" (dzień / tydzień)
-3. **Kopiuj plan dnia**: lista 13 dni (3 wstecz, 10 do przodu) → kopiuje cały dzień (w tym statusy "Pominięto")
-
-**Demo:** `seedDemoIfEmpty` wypełnia dzisiejszy dzień danymi demo gdy localStorage jest pusty.
-
-**Stan:** Kompletny.
-
----
-
-### 3.5 Spiżarnia (`Pantry`)
-
-**Lokalizacja:** `js/views/Pantry.js`
-
-Przeglądanie i edycja stanów magazynowych składników.
-
-**Elementy:**
-- Wyszukiwarka
-- Chipy filtrów kategorii (multi-select)
-- Toggle "Tylko na stanie"
-- Siatka chipów składników pogrupowana po kategorii (kolor wg stanu)
-- Bottom sheet edycji (`#pv2-edit-sheet`): ± z krokiem (`pantryQtyStep`), input numeryczny, opcjonalne wartości odżywcze (per 100g), "Dodaj na listę zakupów" (z `purchasePack`)
-
-**Stan:** Kompletny.
-
----
-
-### 3.6 Zakupy (`Shopping`)
-
-**Lokalizacja:** `js/views/Shopping.js`
-
-Zarządzanie listami zakupów — jedna stała lista kuchenna + dowolna liczba list freeform.
-
-**Elementy:**
-- Selektor aktywnej listy (dropdown)
-- Przycisk "Nowa lista" (freeform) + usuwanie list (nie dotyczy kuchennej)
-- **Lista kuchenna** (`KITCHEN_LIST_ID`): pogrupowana po kategorii, checkbox, edycja ilości (klik → prompt), usuwanie pozycji
-- **Pasek akcji** (widoczny gdy są zaznaczone pozycje): "Kupione → spiżarnia" (z potwierdzeniem i podglądem) + "Wyczyść kupione"
-- **Lista freeform**: pozycje tekstowe z opcjonalną notatką, checkbox
-
-**Stan:** Kompletny.
+Lista kuchenna (pogrupowana po kategorii, checkboxy, edycja ilości) + listy freeform. Pasek akcji dla zaznaczonych: "Kupione → spiżarnia" (z podglądem) i "Wyczyść kupione".
---
@@ -197,7 +113,8 @@ Zarządzanie listami zakupów — jedna stała lista kuchenna + dowolna liczba l
```
Przepisy ──[klik kartę]──→ Szczegóły przepisu
- └──[Zaplanuj]──→ Bottom sheet (kalendarz + pora + opcjonalnie wymiana składników) → Planer
+ ├──[zamiana składnika]──→ podsumowanie przelicza się na żywo
+ └──[Zaplanuj]──→ Bottom sheet (kalendarz + pora + zamienniki z detalu) → Planer
Planer ──[klik przepis w slocie]──→ Szczegóły przepisu
──[Składniki na ten dzień]──→ Sheet: porównanie z spiżarnią + prognoza
@@ -214,162 +131,63 @@ Zakupy ──[Kupione → spiżarnia]──→ Spiżarnia (stany zaktualizowane)
## 5. Scenariusze użytkownika
-### Scenariusz 1: Przeglądanie przepisów
+### Niedzielne planowanie tygodnia
-**Cel:** Użytkownik otwiera apkę, chce zobaczyć co jest dostępne.
+Wieczorem w niedzielę siada z apką i układa plan na najbliższe 4–5 dni. Kopiuje sprawdzone dni, dodaje nowe przepisy tam gdzie chce urozmaicenie. Przy kilku posiłkach z góry wie, że będzie jeść poza domem — oznacza je jako pominięte. Sprawdza podsumowanie składników na zaplanowane dni, generuje braki na listę zakupów. Rano idzie do sklepu z gotową listą.
-1. Otwiera aplikację → widzi zakładkę **Przepisy** z siatką 9 kart
-2. Przewija listę, czyta opisy i kalorie na kartach
-3. Klika kartę "Serek wiejski z orzechami i owocami"
-4. Widzi detal: składniki, kroki, wartości odżywcze
-5. Przy orzechach, truskawkach i borówkach widzi ikonę shuffle — klika ją przy orzechach
-6. Rozwija się lista alternatyw (laskowe, nerkowca, migdały, pekan) z wartościami odżywczymi — informacyjnie
-7. Zmienia liczbę porcji z 1 na 2 → składniki i kcal się przeliczają
-8. Przełącza zakładkę na "Kroki" → widzi numerowane kroki
-9. Przełącza na "Wartości" → widzi makroskładniki ×2
-10. Wraca strzałką ← do listy
+**Co mu to daje:** Nie musi codziennie myśleć "co ugotować". Kupuje celowo — mniej marnowania.
-**Uwagi:**
-- Brak zdjęć (szare placeholdery) — OK dla prototypu
-- Po powrocie z detalu filtr/szukajka się utrzymują
+### Poranek — rutynowe śniadanie z wariacją
----
+Od tygodni je to samo śniadanie. Tym razem otwiera detal przepisu i klika shuffle przy jednym ze składników. Porównuje wartości odżywcze zamienników, wybiera coś innego. Podsumowanie kaloryczne przelicza się od razu — widzi, że różnica jest niewielka. Dodaje do planu z zamiennikiem.
-### Scenariusz 2: Szukanie przepisu na kolację
+**Co mu to daje:** Urozmaicenie bez wysiłku. Widzi wpływ zamiany na makro zanim się zdecyduje.
-**Cel:** Użytkownik szuka czegoś konkretnego.
+### Środa wieczór — "nie chce mi się gotować"
-1. Wpisuje "łosoś" → lista filtruje się do 1 karty
-2. Kasuje tekst → wracają wszystkie
-3. Klika ikonę filtrów → otwiera się overlay
-4. Zaznacza "Kolacja" → aktualizuje się licznik wyników
-5. Dodatkowo zaznacza tag "Wysokobiałkowe"
-6. Ustawia suwak na max 25 min
-7. Klika "Pokaż X wyników" → wraca do przefiltrowanej listy
-8. Wybiera przepis i otwiera detal
+Wraca zmęczony z pracy. Otwiera apkę — miał zaplanowany obiad, ale nie ma energii. Oznacza posiłek jako pominięty (zamówi albo zje na mieście). Albo: przegląda przepisy filtrując po czasie do 15 min, szybko coś wybiera i dodaje na dziś.
----
+**Co mu to daje:** Brak poczucia winy — pominięcie jest jawne, plan się dostosowuje. Albo szybka alternatywa bez przeglądania całego katalogu.
-### Scenariusz 3: Planowanie posiłków na tydzień
+### Gotowanie na zapas
-**Cel:** Użytkownik układa menu na kilka dni.
+W weekend wybiera przepis na obiad i ustawia 3 porcje. Dodaje ten sam przepis na poniedziałek, wtorek i środę. Gotuje raz — ma obiady na trzy dni odhaczone. Składniki na liście zakupów są policzone na pełną ilość.
-1. Przechodzi na zakładkę **Planer**
-2. Widzi dzisiejszy dzień (demo-dane lub wcześniej zaplanowane)
-3. Klika na przepis w slocie → otwiera się detal
-4. Wraca ← do planera
-5. Klika następny dzień w kalendarzu
-6. Widzi puste sloty, klika "Dodaj przepis" przy Śniadaniu
-7. Picker: wpisuje fragment nazwy, widzi "Ostatnio używane"
-8. Wybiera przepis → pojawia się w slocie z kcal w nagłówku
-9. Przy obiedzie klika "Pomijam" (je na mieście) → slot przygaszony
-10. Klika "Składniki na ten dzień" → widzi braki vs spiżarnia + prognoza
-11. Klika "Dodaj braki na dziś do listy" → toast potwierdzenia
-12. Następnego dnia: "Kopiuj dzień" → wybiera dzień docelowy → gotowe
+**Co mu to daje:** Oszczędność czasu w tygodniu. Jedno gotowanie zamiast trzech.
----
+### W sklepie z listą
-### Scenariusz 4: Zarządzanie spiżarnią
+Stoi w sklepie, otwiera listę zakupów. Produkty pogrupowane po kategoriach — idzie przez alejki i odznacza kolejne pozycje. Wraca do domu, klika "Kupione → spiżarnia" — stany magazynowe aktualizują się jednym ruchem.
-**Cel:** Użytkownik sprawdza co ma w domu.
+**Co mu to daje:** Nie zapomina co kupić. Spiżarnia jest aktualna bez ręcznego wpisywania.
-1. Przechodzi na zakładkę **Spiżarnia**
-2. Widzi chipy składników pogrupowane po kategorii
-3. Włącza "Tylko na stanie" → widzi co ma
-4. Klika "Płatki owsiane" → bottom sheet
-5. Ustawia 500g (przyciskami ± lub inputem)
-6. Zamyka → chip zmienił się na zielony z "500 g"
-7. Chce dodać mleko na listę → klika "Dodaj na listę" w sheecie
+### Sprawdzenie przed zakupami
----
+Przed wyjściem do sklepu sprawdza spiżarnię — co jeszcze ma. Przechodzi do planera, ogląda najbliższe dni i klika "Dodaj braki do listy". Lista zakupów zawiera tylko to, czego naprawdę potrzebuje.
-### Scenariusz 5: Zakupy w sklepie
-
-**Cel:** Użytkownik jest w sklepie, odznacza kupione.
-
-1. Otwiera zakładkę **Zakupy**
-2. Widzi listę kuchenną pogrupowaną po kategorii
-3. Bierze mleko z półki → klika checkbox → przekreślenie
-4. Widzi `sourceNote` z informacją skąd pozycja pochodzi
-5. Ilość się nie zgadza — klika na ilość → prompt → poprawia
-6. Kupuje dalsze pozycje
-
----
-
-### Scenariusz 6: Po zakupach — przeniesienie do spiżarni
-
-**Cel:** Użytkownik wrócił ze sklepu, aktualizuje spiżarnię.
-
-1. Otwiera **Zakupy** → widzi zaznaczone pozycje
-2. Pojawia się pasek: "Kupione → spiżarnia" i "Wyczyść kupione"
-3. Klika "Kupione → spiżarnia" → potwierdzenie z podglądem pozycji
-4. Potwierdza → toast "Przeniesiono X pozycji"
-5. Kupione znikają z listy
-6. Przechodzi do **Spiżarni** → stany zaktualizowane
-7. Wraca do **Planera** → braki zmniejszone
-
----
-
-### Scenariusz 7: Gotowanie z przepisu
-
-**Cel:** Użytkownik gotuje, sprawdza przepis krok po kroku.
-
-1. Otwiera **Planer** → dzisiejszy dzień
-2. Klika przepis w slocie Kolacja
-3. Otwiera się detal → przełącza na "Kroki"
-4. Czyta krok po kroku
-5. Sprawdza ilość składnika → przełącza na "Składniki"
-6. Wraca na "Kroki"
-
----
-
-### Scenariusz 8: Dodanie przepisu do planera z widoku detalu
-
-**Cel:** Użytkownik znalazł przepis i chce go zaplanować.
-
-1. Przegląda **Przepisy** → otwiera detal "Serek wiejski z orzechami i owocami"
-2. Klika "Zaplanuj" (górny przycisk)
-3. Otwiera się bottom sheet z kalendarzem (domyślnie widok tygodnia, można rozwinąć do miesiąca)
-4. Wybiera dzień w kalendarzu
-5. Wybiera porę posiłku (np. "Śniadanie")
-6. Widzi sekcję "Wymienne składniki" — 3 kompaktowe karty (orzechy, truskawki, borówki) z aktualnym wyborem
-7. Klika kartę "Orzechy włoskie" → rozwija się lista opcji (włoskie, laskowe, nerkowca, migdały, pekan) z wartościami odżywczymi i radio-przyciskami
-8. Wybiera "Migdały" → karta się zwija, wybrany składnik zmienia się na "Migdały" z amber tłem
-9. Klika "Dodaj" → toast potwierdzenia, sheet się zamyka, przepis dodany do planera z informacją o zamianie (substitutions)
-
----
-
-### Scenariusz 9: "Co mogę ugotować?"
-
-**Cel:** Użytkownik ma coś w spiżarni, chce wiedzieć co da się z tego zrobić.
-
-1. Otwiera **Spiżarnię** → widzi co ma
-2. Chciałby kliknąć "Co mogę ugotować?" → **takiej funkcji jeszcze nie ma**
-3. Musi ręcznie sprawdzać przepisy
-
-**Propozycja:** Filtr "Mam składniki" w widoku Przepisy.
+**Co mu to daje:** Nie kupuje podwójnie. Nie marnuje jedzenia, które zalega w szafce.
---
## 6. Znane problemy i propozycje ulepszeń
-### Do poprawy (TODO)
+### Do poprawy
-| # | Problem | Dotyczy scenariusza |
-|---|---------|---------------------|
-| 1 | Brak wskaźnika aktywnych filtrów na ikonce (badge/kropka) | 2 |
-| 2 | Po dodaniu braków do listy zakupów brak ochrony przed duplikacją (brak info "już dodano") | 3 |
-| 3 | Kupione pozycje mieszają się z niekupionymi w tej samej grupie (brak separacji) | 5 |
-| 4 | Brak podsumowania na liście zakupów ("Do kupienia: X, kupione: Y") | 5 |
-| 5 | Brak undo przy "Kupione → spiżarnia" | 6 |
-| 6 | Scroll spiżarni resetuje się po edycji (re-render) | 4 |
-| 7 | "Kopiuj dzień" kopiuje też status "Pominięto" — może nie zawsze pożądane | 3 |
+| # | Problem |
+|---|---------|
+| 1 | Brak wskaźnika aktywnych filtrów na ikonce (badge/kropka) |
+| 2 | Po dodaniu braków do listy zakupów brak ochrony przed duplikacją |
+| 3 | Kupione pozycje mieszają się z niekupionymi w tej samej grupie |
+| 4 | Brak podsumowania na liście zakupów ("Do kupienia: X, kupione: Y") |
+| 5 | Brak undo przy "Kupione → spiżarnia" |
+| 6 | Scroll spiżarni resetuje się po edycji (re-render) |
+| 7 | "Kopiuj dzień" kopiuje też status "Pominięto" — może nie zawsze pożądane |
### Propozycje nowych funkcji
| # | Funkcja | Opis |
|---|---------|------|
-| P1 | Tryb "krok po kroku" przy gotowaniu | Full-screen, jeden krok, swipe next + checkbox |
+| P1 | Tryb "krok po kroku" przy gotowaniu | Full-screen, jeden krok, swipe next + checkbox |
| P2 | Wake lock | Zapobiega wygaszeniu ekranu podczas gotowania |
| P3 | Filtr "Mam składniki" | W widoku Przepisy — pokaż co da się ugotować z aktualnej spiżarni |
| P4 | Większe elementy na liście zakupów | Ułatwienie obsługi w sklepie na telefonie |
diff --git a/images/recipes/jajecznica.png b/images/recipes/jajecznica.png
new file mode 100644
index 0000000..3ba44fa
Binary files /dev/null and b/images/recipes/jajecznica.png differ
diff --git a/images/recipes/kanapka_hummus.png b/images/recipes/kanapka_hummus.png
new file mode 100644
index 0000000..5dabed3
Binary files /dev/null and b/images/recipes/kanapka_hummus.png differ
diff --git a/images/recipes/kanapka_losos.jpg b/images/recipes/kanapka_losos.jpg
new file mode 100644
index 0000000..b8176c8
Binary files /dev/null and b/images/recipes/kanapka_losos.jpg differ
diff --git a/images/recipes/kanapka_parmenska.jpg b/images/recipes/kanapka_parmenska.jpg
new file mode 100644
index 0000000..0acbb5c
Binary files /dev/null and b/images/recipes/kanapka_parmenska.jpg differ
diff --git a/images/recipes/makaron_ricotta.jpg b/images/recipes/makaron_ricotta.jpg
new file mode 100644
index 0000000..13e9b5d
Binary files /dev/null and b/images/recipes/makaron_ricotta.jpg differ
diff --git a/images/recipes/serek_owoc.jpg b/images/recipes/serek_owoc.jpg
new file mode 100644
index 0000000..36adf27
Binary files /dev/null and b/images/recipes/serek_owoc.jpg differ
diff --git a/index.html b/index.html
index bb41cf7..1961772 100644
--- a/index.html
+++ b/index.html
@@ -47,6 +47,6 @@
navigator.serviceWorker.register('./sw.js', { scope: './' }).catch(() => {});
}
-
+