# Formularz rezerwacji samochodu - Figma Design Specs Plik Figma: https://www.figma.com/design/Q3i1CT4DL91dl638a43RBg/Carei ## Zrzuty ekranu ### Desktop (1440x1024) ![Desktop Formularz](screenshot-desktop.png) ### Mobile (390x1438) ![Mobile Formularz](screenshot-mobile.png) ## Wersje formularza | Wersja | Node ID | Rozmiar | Plik | |--------|---------|---------|------| | Desktop | `24:1639` | 1440x1024 | `desktop-formularz.jsx` | | Mobile | `1:171` | 390x1438 | `mobile-formularz.jsx` | ## Kolory (Design Tokens) | Nazwa | Hex | Zastosowanie | |-------|-----|-------------| | Carei Blue | `#2F2482` | Primary, tekst, checkboxy, nagłowki | | Carei Red | `#FF0000` | Przyciski CTA, kropka w tytule | | Tło formularza | `#EDEDF3` | Background modala | | Tekst szary | `#505050` | Labele, placeholdery | | Placeholder jasny | `#C7C7C7` | Maska telefonu | | Border input | `#D0D0D0` | Obramowanie checkboxow opcji | | Background strony | `#F8F8F8` | Tło sekcji | ## Typografia - Font primary: **Albert Sans** (Bold, SemiBold, Medium, Regular) - Font system: **Roboto** (separatory sekcji) - Tytul formularza: Albert Sans Bold 20px, `#2F2482` - Labele inputow: Albert Sans Regular 15px, `#505050` - Wartosci inputow: Albert Sans SemiBold 15px, `#2F2482` - Labele male (np. "Od kiedy?"): Albert Sans Regular 12px, `#505050` - Przycisk CTA: Albert Sans SemiBold 14px, white ## Struktura formularza ### 1. Naglowek - Tytul: "Wypelnij formularz rezerwacji." (z czerwona kropka) - Przycisk zamkniecia (X) w rogu ### 2. Dane wynajmu - **Segment pojazdu** - dropdown (np. "Segment B (np. Toyota Yaris)") - **Od kiedy?** - date+time picker (np. "11:00, 28.02.2026") - **Do kiedy?** - date picker z ikona kalendarza - **Wybrano: X dni** - automatyczne podsumowanie - **Miejsce odbioru** - text input z ikona MapPin - **Zwrot w tej samej lokalizacji** - checkbox (domyslnie zaznaczony) ### 3. Opcje dodatkowe (sekcja z separatorem) - **Rozszerzone ubezpieczenie** - checkbox, 300 zl - Opis: "Obejmuje brak odpowiedzialnosci najemcy za wszelki szkody poniesione na aucie." - **Fotelik dla dziecka** - checkbox, 50 zl - Opis: "Prosimy zawrzec wiek dziecka w wiadomosci." ### 4. Dane najemcy (sekcja z separatorem) - **Imie** - text input - **Nazwisko** - text input - **Adres e-mail** - text input - **Nr telefonu** - z wyborem flagi kraju (+48), maska "\_\_\_ \_\_\_ \_\_\_" ### 5. Wiadomosc - **Textarea** - "Twoja wiadomosc dotyczaca rezerwacji" (143px wysokosci) ### 6. Stopka - **Zgoda na Polityke Prywatnosci** - checkbox z linkiem - **Przycisk "Wyslij"** - czerwony CTA z ikona strzalki ## Roznice Desktop vs Mobile | Element | Desktop (1440px) | Mobile (390px) | |---------|-----------------|----------------| | Layout inputow danych wynajmu | 2-3 kolumny obok siebie | 1 kolumna (full width) | | Imie + Nazwisko | Obok siebie (2x 376px) | Pod soba (full width) | | Email + Telefon | Obok siebie (2x 376px) | Pod soba (full width) | | Opcje dodatkowe | Obok siebie (2x 376px) | Pod soba (full width) | | Przycisk Wyslij | Po prawej obok checkboxa | Full width pod checkboxem | | Dodatkowy element | - | "Infolinia 24h: +48 572 663 614" na dole | | Modal | Wycentrowany overlay | Bottom sheet (od dolu) | ## Wymiary komponentow - Input height: 48px - Textarea height: 143px - Border radius inputow: 8px - Border radius modala: 16px - Padding modala desktop: 48px horizontal, 40px vertical - Padding modala mobile: 24px horizontal, 32px vertical - Gap miedzy sekcjami: 24px - Gap wewnatrz sekcji: 16px - Checkbox size: 24px (border-radius: 8px) - Przycisk CTA: padding 16px 24px, border-radius 8px --- ## Popup — rozwinięty formularz (Krok 2) Plik Figma node: `32:645` (Overlay, 866x1354) ### Zrzut ekranu Desktop ![Popup Desktop](screenshot-popup-desktop.png) ### Struktura Popup (rozszerzenia vs Krok 1) Popup to rozwinięta wersja formularza po wypełnieniu Kroku 1. Zawiera dodatkowe sekcje: #### Wyjazd zagraniczny - Separator: "Wyjazd zagraniczny" - Checkbox: **"Planuję trasę poza granicę Polski"** - Po zaznaczeniu → pojawia się wyszukiwarka krajów (patrz niżej) #### Ubezpieczenie - Separator: "Ubezpieczenie" - **Pakiet ochrony Soft** — karta z checkbox, opisem, ceną "od 190 do 800 zł" - **Pakiet ochrony Premium** — karta z checkbox, opisem, ceną "od 200 do 1200 zł" #### Opcje dodatkowe (rozbudowane vs Krok 1) - **Dodatkowy kierowca** — 100 zł, z opisem - **Zwiększenie limitu kilometrów** — od 50 do 250 zł, z opisem - **Pełny bak paliwa** — 650 zł - **Nawigacja GPS Europa** — od 50 do 200 zł - **Podstawka dla dziecka** — od 50 do 250 zł - **Fotelik 9-18 kg** — od 50 do 250 zł - **Fotelik 18-36 kg** — od 50 do 250 zł - **Zwrot nieumytego pojazdu** — 290 zł #### Dane najemcy + Wiadomość + Stopka Identyczne jak w Kroku 1. ### Node IDs (Popup) | Element | Node ID | Rozmiar | |---------|---------|---------| | Overlay (desktop) | `32:645` | 866x1354 | | POPUP (wewnętrzny) | `32:397` | 866x1316 | | OverlayMobile | `32:650` | 390x1257 | --- ## Wyszukiwarka krajów (Input — rozwinięcia formularza) Elementy po lewej stronie Popup w Figmie — 3 stany pola "Wyszukaj i dodaj kraj na trasie": ### Zrzut ekranu — stany wyszukiwarki ![Input Kraje Stany](screenshot-input-kraje-stany.png) ### Stan 1: Default (pusty) - Node ID: `122:1091` - Ikona "+" + tekst: **"Wyszukaj i dodaj kraj na trasie"** - Pole jest zwinięte ### Stan 2: Active (wyszukiwanie) - Node ID: `122:1054` - Pole tekstowe z wpisanym tekstem (np. "N|") - Pod spodem: karty krajów pasujących do frazy (z flagą, nazwą, ceną "od 50 do 250 zł", przycisk "+") - Np. 🇩🇪 Niemcy, 🇳🇴 Norwegia - Drugi stan: po wybraniu (np. "C|") — wybrany kraj (🇩🇪 Niemcy) z "×" do usunięcia, + wyniki wyszukiwania (🇨🇿 Czechy) ### Stan 3: Default z wybranymi (zwinięty) - Node ID: `123:1195` - Ikona "+" + tekst: "Wyszukaj i dodaj kraj na trasie" - Pod spodem: karty wybranych krajów z flagą, nazwą, ceną i przyciskiem "×" do usunięcia - Np. 🇩🇪 Niemcy od 50 do 250 zł ×, 🇨🇿 Czechy od 50 do 250 zł × ### Node IDs (Wyszukiwarka krajów) | Stan | Node ID | Opis | |------|---------|------| | Default (pusty) | `122:1091` | Zwinięty, tylko tekst "Wyszukaj i dodaj kraj" | | Active (wyszukiwanie) | `122:1054` | Rozwinięty z wynikami wyszukiwania | | Default (wybrane) | `123:1195` | Zwinięty z kartami wybranych krajów |