Skip to content

Home & Recipe Mobile Layout — Krótki plan

Pełny plan: context/changes/home-mobile-layout/plan.md

Co i dlaczego

Cztery kosmetyczne poprawki responsywności na mobile: za duży padding nad formularzem na home, przyciski CTA nie zawijają się do pełnej szerokości na małych ekranach, hero zdjęcie przepisu staje się portretowe przy powiększonym tekście (bug dostępności), miniaturki kart są kwadratowe zamiast poziomych.

Punkt wyjścia

py-12 nie jest responsywne, formularz używa flex gap-2 bez zawijania, hero image używa h-96 (rem-based) podatnego na skalowanie tekstu, karty mają aspect-square.

Pożądany stan końcowy

Na telefonach: mniejszy padding, przycisk “Szukaj”/“Dodaj przepis” zajmuje cały wiersz pod polem. Hero zawsze 4:3 (landscape). Karty 4:3 zamiast kwadratowych.

Kluczowe podjęte decyzje

DecyzjaWybórDlaczego (1 zdanie)Źródło
Mobile paddingpy-6 sm:py-12Połowa obecnej wartości — wystarczająca redukcja bez ściśnięciaPlan
Breakpoint przyciskówsm: (640px)Obejmuje wszystkie telefony, zero konfiguracjiPlan
Układ mikrofonuObok inputa, submit pod spodemMic pozostaje kontekstualnie blisko pola wpisywaniaPlan
Hero ratioaspect-[4/3] sm:aspect-videoMobile 4:3, desktop 16:9 — odporny na rem-scaling, zawsze landscapePlan
Ratio kartaspect-[4/3]Naturalny format zdjęć jedzenia, więcej treści karty widocznePlan
Zakres padding fixTylko home pageAuth pages mają celową pionową centracjęPlan

Zakres

W zakresie: page.tsx padding, add-recipe-form.tsx submit button layout, recipes/[slug]/page.tsx hero image, recipe-card.tsx thumbnail ratio

Poza zakresem: auth pages, mic button position, YouTube iframe, card text layout, sizes attribute na miniaturkach

Architektura / Podejście

Cztery niezależne zmiany klas Tailwind — brak logiki, brak modelu danych. Formularz: form dostaje flex-col sm:flex-row, input+mic owijamy w wspólny div, submit dostaje w-full sm:w-auto. Hero i karty: wymiana h-96/aspect-square na aspect-[4/3].

Fazy w skrócie

FazaCo dostarczaKluczowe ryzyko
1. Responsive Tailwind FixesWszystkie 4 zmiany w jednej sesjiDesktop regresja — form layout lub hero height

Wymagania wstępne: brak
Szacowany nakład pracy: ~1 sesja, 1 faza

Otwarte ryzyka i założenia

  • Hero sm:aspect-video na desktop (max-width 672px) daje ~378px wysokości — podobne do poprzedniego h-96 = 384px, więc zmiana jest minimalna

Kryteria sukcesu (podsumowanie)

  • Submit button pełna szerokość na telefonie, formularz inline na desktop/tablet
  • Hero image landscape na telefonie z powiększonym tekstem
  • Karty 4:3 zamiast kwadratowych