Golf by Bobiński Style Guide v1.0
Premium · Dark Mobile-first
01 · Wstęp Dark theme

System projektowy Golf by Bobiński

Premium dark mode dla aplikacji mobilnej z lekcjami golfa. Stonowana czerń, soczyste zielenie akcentowe i szampanskie złoto dla elementów ekskluzywnych. Wszystkie komponenty zaprojektowane pod jeden mobilny breakpoint (~420 px), z desktopowym wrapperem.

Mobile-first Premium feel Tailwind CDN Manrope · 300-800 Lucide icons
02

Paleta kolorow

Trzy filary: czerń (ink), zielen marki (brand), szampanskie złoto (gold). Stany: success, warning, danger, info. Wszystko zdefiniowane jako klasy Tailwinda i CSS variables.

Tła i tekst (ink)

ink-950 #050807
ink-900 #0A0F0C
ink-850 #0F1714
ink-800 #141C18
ink-700 #1B2520
ink-600 #38383E
ink-500 #4E4E55
ink-400 #6B6B73
ink-300 #91919A
ink-200 #BFBFC8
ink-100 #E4E4EA
ink-50 #F5F5F7

Zielen marki (brand)

brand-50 #E6F8F0
brand-100 #C2EFDB
brand-200 #8BDFB8
brand-300 #4FCD92
brand-400 · akcent CTA #00C880
brand-500 #00A86A
brand-600 · główny brand #008857
brand-700 · ciemny #007349
brand-800 #055B3B
brand-900 · tło gradient #073F2A

Zloto szampanskie (gold)

gold-300 #E4CFA5
gold-400 #D1B585
gold-500 · bazowy akcent #B8956A
gold-600 #9A7B53
gold-700 #7A6240

Stany

success #00C880
warning #F2B544
danger #E5484D
info #4FBDF5

Gradienty brandowe

brand-radial
brand-linear
gold-linear
03

Typografia

Font główny: Manrope (300/400/500/600/700/800). Premium, geometryczny, świetnie radzi sobie na ciemnym tle. Letter-spacing dla wielkich napisów lekko ujemny.

Display · 48-64px · 800

Trenuj z klasą.

H1 · 32-40px · 700

Twoja akademia w telefonie

H2 · 24-28px · 700

Putting krok po kroku

H3 · 20px · 600

Ustawienie ciała przed uderzeniem

H4 / Eyebrow · 14px · 600 · UPPER + letter-spacing

Lekcja premium

Paragraf · 16px · 400 · line-height 1.6

Golf by Bobiński to miejsce dla golfistów, którzy chcą trenować świadomie i skutecznie. Aplikacja łączy wiedzę trenerską, praktyczne ćwiczenia oraz jasne wskazówki, które pomagają poprawiać każdy element gry — od puttingu, przez krótką grę, aż po strategię na polu.

Small / caption · 12px · 500

Trener: Wojciech Bobiński · Czas trwania: 8:42

04

Przyciski

Cztery warianty: primary (zielen), gold (premium akcent), secondary (outline), ghost. Trzy rozmiary: sm, md, lg. Stany: hover, active, disabled, loading.

Primary

Gold (premium)

Secondary (outline)

Ghost

Danger

Rozmiary

05

Karty produktowe

Karty lekcji, planow subskrypcyjnych, kategorii. Wariant standard, featured (z glowem) i premium (złota obwódka).

Karta lekcji (standard)

Putting 8:42

Ustawienie ciała przed puttem

Podstawy zielonej strefy — lekcja 1 z 8

WB Wojciech Bobiński
Otwórz

Karta planu (premium — złota obwódka)

Najpopularniejszy

Plan 3-miesięczny

229 zl / 3 mies.

76,33 zl miesięcznie · 23% taniej

  • Wszystkie lekcje wideo
  • Plany treningowe
  • Nowe materiały co tydzień

Karta kategorii (kompakt)

06

Plakietki (badges)

Male etykiety statusu, kategorii lub poziomu. Warianty kolorystyczne, opcjonalna ikona.

Nowe Premium Ukończone Wymaga uwagi Zablokowane Pop. lekcja Pocz. poziom

Plakietki poziomu

Początkujący Średniozaawansowany Zaawansowany
07

Formularze

Pełen zestaw pól: tekst, email, hasło, textarea, select, date, file. Klasa .field + .field-input.

Tak będziemy zwracać się do Ciebie w lekcjach.

Wyślemy potwierdzenie subskrypcji.

Co najmniej 8 znaków.

Dopasujemy lekcje do Twojego poziomu.

08

Interaktywne kontrolki

Switch (toggle), segmented control, radio i checkbox — wszystkie w spójnym, niestandardowym stylu.

Switch (toggle)

Segmented control

Radio

Checkbox

09

Stany walidacji pól

Default, focus, success, warning, error, disabled — razem z helper-textami.

Adres jest dostępny.

Hasło słabe — dodaj jeszcze 3 znaki.

To nie wygląda na prawidłowy e-mail.

Póle zablokowane do edycji.

10

Alerty inline

Komunikaty osadzone w tresci. Cztery warianty: info, success, warning, error.

Nowy plan treningowy

W tym tygodniu pojawiła sie nowa seria lekcji o grze z bunkra.

Lekcja ukonczona

Świetna robota — przejdź do nastepnej lekcji w serii.

Subskrypcja wygasa za 5 dni

Odnów plan, aby nie stracic dostępu do biblioteki.

Nie udało się odtworzyć wideo

Sprawdź połączenie z internetem i spróbuj ponownie.

11

Paski postępu

Liniowy (z procentem), stepper (numerowany kreator briefu), circular ring.

Linear

Putting — lekcja 5 z 8 62%
Swing 14%

Stepper (kreator profilu)

  1. Dane
  2. Poziom
  3. 3 Cel
  4. 4 Plan

Circular ring

72%

Tygodniowy cel treningowy

3 z 4 sesji wykonane

12

Toast notifications

Chwilowe powiadomienia — sukces, ostrzeżenie, błąd, info. Pojawiają sie u gory ekranu i znikaja po 3,5 s. Wywolaj GBB.toast(msg, type).

13

Modale & overlay

Okna potwierdzajace nakładane na tresc. Warianty: danger (destrukcyjna akcja), warning, info, success.

14

Drawer / mobile menu

Wysuwany panel boczny — menu nawigacyjne lub panel filtrow. Wsparcie kierunkow: lewo / prawo.

15

Popover

Dymek z dodatkowa trescia po kliknieciu — mini menu, objasnienia, szybkie akcje.

16

Loading states

Spinnery, skeleton loadery, shimmer.

Spinner

Skeleton (karta lekcji)

17

Tooltip

Krótkie podpowiedzi pojawiajace sie po najechaniu (data-tooltip).

18

Listingi

Wspólna baza .list-row dla rozmaitych list: lekcje, plany treningowe, pliki, konwersacje.

Lista lekcji

Lista plików / materiałów

Karta-ocen-puttingu.pdf 312 KB
Trening-tygodniowy.xlsx 24 KB
Wideo-swingu-marzec.mp4 45,2 MB
19

Nawigacja

Breadcrumbs, paginacja, taby przelaczajace widok, oraż dolny tab-bar aplikacji.

Breadcrumbs

Paginacja

Taby

Lista 8 lekcji w sekcji Putting — od podstaw po grę z trudnych pozycji.

Dolny tab-bar aplikacji

20

Media & animacje

Galeria, slider before/after, video player, mikroanimacje.

Video player (placeholder)

2:14
8:42

Galeria zdjec (siatka)

Foto 1
Foto 2
Foto 3
Foto 4
Foto 5
Foto 6

Mikroanimacje

21

Extras

Empty states, coach marks, karty wyrozne, układy bento.

Empty state

Brak zapisanych lekcji

Zapisuj ulubione lekcje, aby wrócić do nich w dowolnym momencie.

Coach mark (onboarding hint)

Witaj w akademii!

Zacznij od lekcji wstępnej w sekcji Putting — tam pokazemy podstawy.

1 / 4

Układ bento (panel statystyk)

Ten tydzień

3/4 sesje

Seria dni

12

Lekcje

28

22

Avatary

Inicjaly z gradientem brandowym, opcjonalny status-dot, różne rozmiary.

WB WB WB Awatar użytkownika WB JK AK
23

Ikony

Biblioteka Lucide. Domyślny rozmiar w UI: w-4 h-4 (16 px) lub w-5 h-5 (20 px). Kolor dziedziczony z tekstu.

home
play-circle
target
book-open
user
flag
trophy
crown
star
check
x
arrow-right
chevron-right
search
bookmark
bell
settings
lock
share-2
heart
calendar
clock
video
headphones
message-circle
file-text

Ikony brandowe (akcent)

24

Cienie & efekty

Klasy Tailwinda rozszerzone o cienie marki: glow zielen i glow złoto.

shadow-card Karta domyślna
shadow-card-lg Modal / podniesione
shadow-glow-sm Glow zieleń S
shadow-glow Glow zieleń M
shadow-glow-lg Glow zieleń L
shadow-gold-glow Glow złoto

Focus ring

25

Skala odstępów

Bazowa skala: 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 px. Klasy Tailwinda: space-1 / 2 / 3 / 4 / 6 / 8 / 12 / 16.

space-1 4 px
space-2 8 px
space-3 12 px
space-4 16 px
space-6 24 px
space-8 32 px
space-12 48 px
space-16 64 px
26

Breakpointy

Aplikacja jest mobile-only — calosc projektujemy na breakpoint ~420 px. Na desktopie zawartosc jest wycentrowana w mobilnym wrapperze, otoczona neutralnym tlem.

Mobile (główny breakpoint)

320 - 480 px · max-width wrappera: 420 px

Tablet / Desktop

Zawartosc nadal w mobilnym wrapperze, otoczona neutralnym tlem (#F5F5F7)

27

Skrypty pomocnicze

W /assets/js/main.js dostępne sa wspólne funkcje. Wszystkie pod globalnym obiektem window.GBB.

// Toast
GBB.toast('Lekcja zapisana.', 'success');

// Modal
GBB.openModal('modal-confirm');
GBB.closeModal('modal-confirm');

// Drawer
GBB.openDrawer('mobile-menu');

// Pokażywanie/ukrywanie
GBB.show('#empty-state');
GBB.hide('.success-banner');
GBB.toggle('#filters-panel');

// Walidacja formularzy (atrybuty na input)
//   data-validate="required|email|minLength:8"
//   data-error-message="Tekst błędu"
//   data-success-message="Tekst sukcesu"
// Formularz:
//   <form data-validate-form data-success-toast="OK">

// Pasek postępu
<div class="progress-bar" data-value="62"></div>
// Po zmianie:
GBB.refreshProgress();

// Tooltip
<button data-tooltip="Tekst dymka"></button>

// Tab
<div data-tabs>
  <button data-tab-trigger="a" aria-selected="true">A</button>
  <div data-tab-panel="a">...</div>
</div>

// Akordeon
<div data-accordion="single">
  <div data-accordion-item>
    <button data-accordion-trigger>Header</button>
    <div>Content</div>
  </div>
</div>