3.6 KiB
3.6 KiB
02 — Design System
Pełna definicja systemu projektowego. Zaimplementuj jako tokeny w tailwind.config.ts
i CSS variables w globals.css. Wszystkie komponenty korzystają z tokenów, nie z wartości „na sztywno".
Paleta kolorów
| Token | Hex | Zastosowanie |
|---|---|---|
primary (granat) |
#0F2A47 |
nagłówki, header, footer, tekst akcentowany |
primary-light |
#1B3D63 |
hover na elementach primary |
accent (cyjan) |
#2BA8E0 |
akcenty „chłodu", linki, ikony, podkreślenia |
accent-light |
#E3F4FC |
tła sekcji związanych z klimatyzacją |
cta (pomarańcz) |
#F39320 |
przyciski akcji, wyróżnienia konwersji |
cta-hover |
#D97D0D |
hover przycisków CTA |
bg |
#FFFFFF |
główne tło |
bg-muted |
#F5F7FA |
tła naprzemiennych sekcji |
text |
#1A2230 |
tekst podstawowy |
text-muted |
#5A6678 |
tekst drugorzędny, opisy |
border |
#E2E8F0 |
obramowania kart, separatory |
success |
#16A34A |
potwierdzenia, „dostępne" |
Tryb: na start jasny. Przygotuj zmienne tak, by dark mode dało się dodać później bez przepisywania.
Typografia
- Font: Inter lub Poppins przez
next/font/google(subset latin + latin-ext dla polskich znaków). - Skala (desktop / mobile):
- H1: 48–56px / 32–36px, bold, line-height 1.1
- H2: 36–40px / 28px, bold
- H3: 24–28px / 20px, semibold
- Body: 16–18px / 16px, regular, line-height 1.6
- Small: 14px
- Nagłówki w kolorze
primary. Tekst wtext. Opisy wtext-muted. - Maksymalna szerokość bloku tekstu: ~70 znaków (czytelność).
Spacing i layout
- Kontener: max-width 1280px, padding boczny 16px (mobile) / 24–32px (desktop), wyśrodkowany.
- Odstępy między sekcjami: 80–120px desktop / 48–64px mobile. Dużo powietrza.
- Siatka kart: grid responsywny (1 kol. mobile → 2 → 3/4 desktop), gap 24px.
- Sekcje naprzemiennie
bgibg-muteddla rytmu wizualnego.
Komponenty UI (na bazie shadcn/ui, dostosowane do tokenów)
- Button — warianty:
cta(pomarańcz, główny),primary(granat),outline,ghost. Zaokrąglenierounded-lg, padding wygodny, wyraźny hover i focus ring. - Card —
rounded-xl,border, subtelny cień (shadow-sm→shadow-mdna hover dla klikalnych). - Accordion — do FAQ. Płynne rozwijanie, ikona +/− lub chevron.
- Input / Textarea / Select — spójne obramowania, focus w kolorze
accent, czytelne labelki. - Badge / Tag — do kategorii (realizacje, blog) i wyróżnień produktów.
- Tabs — do zakładek na karcie produktu.
Wspólne komponenty własne (components/common/)
- SectionHeading — eyebrow (mały tekst nad), H2, opcjonalny podtytuł. Wyśrodkowany lub do lewej.
- CTAButton — przycisk z ikoną, wariant cta, używany w hero i banerach.
- StatCounter — duża liczba + podpis (np. „3500 realizacji").
- IconCard — ikona + tytuł + opis + opcjonalny link. Baza dla siatek usług.
- StepItem — numer + tytuł + opis. Baza dla procesów krok-po-kroku.
- Placeholder — szary blok z ikoną i opisem zamiast docelowego zdjęcia.
Stany i interakcje
- Hover: subtelne podniesienie cienia / zmiana koloru, transition 150–200ms.
- Focus: widoczny ring w kolorze
accent(dostępność). - Loading: skeleton dla list (sklep, blog).
- Puste stany: czytelny komunikat + CTA (np. pusty koszyk).
Zasada nadrzędna
Design ma wyglądać jak zaprojektowany przez człowieka: spójny, czysty, z oddechem. Unikaj efektu „szablonu AI": przeładowania gradientami, zbyt wielu kolorów, ciasnych sekcji, losowych cieni. Mniej, ale konsekwentnie.