GH GambleHub

Biblioteka elementów interfejsu użytkownika Gamble Hub

1) Cele i zasady

Dlaczego: Przyspieszenie dostarczania funkcji, zapewnienie spójnego UX i uproszczenie wsparcia.

Zasady:
  • Semantyka i neutralność. Komponent rozwiązuje problem interfejsu użytkownika bez szycia w logice biznesowej.
  • A11y-by-default. Role, pierścienie ostrości, atrybuty arii i kontrast są szyte do komponentów.
  • i18n-pierwszy. Długości linii, formaty numeryczne, RTL - wziąć pod uwagę poza pudełkiem.
  • Temizacja. Jasne/ciemne motywy i markowe akcenty przez żetony.
  • Skalowalność. Jednolite API, stabilność drobnych uwolnień, migracje pod dużym.

2) Podstawy: żetony projektowe (fundament)

Przykładowa struktura (źródło JSON/YAML → budowa w zmiennych CSS/Android/iOS):
json
{
"color": {
"text": { "default": "{palette. neutral. 900}", "muted": "{palette. neutral. 600}", "inverse": "{palette. neutral. 0}" },
"surface": { "default": "{palette. neutral. 0}", "elevated": "{palette. neutral. 50}", "brand": "{palette. brand. 50}" },
"accent": { "primary": "{palette. brand. 600}", "success": "{palette. green. 600}", "warning": "{palette. amber. 600}", "error": "{palette. red. 600}" }
},
"space": { "xs": 4, "sm": 8, "md": 12, "lg": 16, "xl": 24 },
"radius": { "sm": 8, "md": 12, "lg": 16, "full": 999 },
"elevation": { "0": "none", "1": "0 1px 2px rgba(0,0,0,.08)", "2": "0 4px 12px rgba(0,0,0,.12)" },
"motion": { "fast": "120ms", "base": "200ms" },
"opacity": { "disabled": 0. 45, "muted": 0. 7 }
}

Zasady: żetony semantyczne (np. 'kolor. akcent. sukces ") są wykorzystywane przez komponenty; paleta - wewnętrzna.

3) Kategorie komponentów

1. Мабова (Primitives): Przycisk, Ikona, Typografia, Link, Badge, Divider, Avatar.
2. Морка: Wejście, Hasło, Urządzenie wejściowe, Wybierz, Combobox, Picker, Pole wyboru, Radio, Przełącznik, Suwak, Textarea, FileUpload.
3. Nawigacja: AppBar, Zakładki, Bułki chlebowe, Paginacja, Szuflada/Pasek boczny, Stepper.
4. Мидбей: Alert, In, Error, Tooltip, Toast, Snackbar, Modal, Popover, Skeleton, Progress, Dot.
5. Dane i tabele: Tabela, Lista stron, Karta, Akordeon, Tag, EmptyState.

6. Specyfika iGaming:
  • GameTile (karta gry)
  • Odznaka
  • JackpotTicker
  • • Odznaka (stół/pokaz na żywo)
  • LobbyFilters (dostawca/gatunek/limit)
  • BonusBanner/BonusCard
  • Progress/Achievement Badge
  • TournamentLeaderboard
  • Karta portfelowa/Widget
  • Karta metodologiczna
  • Formularz depozytowy/formularz
  • KYCStatusBadge/KYCChecklist
  • GamingBanner/Kontrola
  • PowerGate/ Timer/ Alert
  • Status/Baner systemowy

4) Strona składowa: Wymagana zawartość

Cel i kiedy używać/nie używać.
Skład i warianty. Wymiary, stany, modyfikatory.
API. Rekwizyty, wydarzenia, szczeliny, tryby kontrolowane/niekontrolowane.
A11y. Role, skupienie, połączenia arii, żywe regiony.
i18n. Długość, formaty, sygnatury lokalizacyjne.
Mikrokopia. Zalecane teksty (CTA, wskazówki, błędy).
Przykłady kodów. Typowe przypadki, przypadki krawędzi (błędy, załadunek, puste).
Badania. Wizualne matrix/unit/interaction/A11y.
Anty-przykłady. Częste błędy użytkowania.

5) Kluczowe elementy: Szybkie specyfikacje

5. 1 przycisk

Warianty: „pierwotny | wtórny duch | | destrukcyjny” Wymiary: „sm | md | lg”

Stany: normalne, zawisłe, widoczne, aktywne, załadunek, wyłączone

A11y: widoczny pierścień ostrości, „aria-busy” do „załadunku”, „aria-naciśnięty” do przełączania

Mikrokopia: akcja + obiekt (Zapisz zmiany, Sprawdź)

Anty-przykład: „OK”

5. 2 Wejście/pole

Składniki: etykieta, pole, pomocnik, błąd, przedrostek/przyrostek

A11y: "aria-invalid", "aria-descredby", свебка "dla/id'

Wzór błędu: co jest złe + jak naprawić („Wprowadź numer w formacie + 380”..)

Sloty: 'prefix' (ikona), 'sufiks' (przycisk „pokaż hasło”)

5. 3 Wybierz/Combobox

Funkcje: wyszukiwanie listy, klawiatura, wirtualizacja długiej listy

A11y: 'role =' combobox ',' aria-expanded ',' aria-activedescendant '

Puste wyniki: "Nic nie znaleziono. Zmień żądanie"

5. 4 Modal/szuflada

Zasady: ostrość pułapki, zamknięcie ESC/nakładka, zwrócenie uwagi na inicjatora

Użycie: Potwierdzenia płatności, Zasady rabatu, Kroki KYC

5. 5 Toast/Snackbar

Czas: 2-4 s, brak blokowania przepływu

Regiony żywe: 'aria-live =' grzeczny 'dla sukcesu,' asertywny 'dla błędów

Przykłady: "Płatność zaakceptowana. Saldo zostało zaktualizowane"

5. 6 EmptyState

Szablon: kontekst + wartość + CTA + wtórna CTA

Przykład: "Wybrane gry pojawią się tutaj po dodaniu pierwszej. [Dodaj do ulubionych]"

6) Komponenty iGaming: specyfiki i API

6. 1 GameDachówka

Przeznaczenie: karta gry w holu/katalogu.
Skład: okładka, dostawca, tagi (New/Hot/Jackpot/Live), RTP (hurtownia), szybkie działanie.

API (przykład):
ts
<GameTile title="Lightning Roulette"
provider="Evolution"
tags={["Live","Popular"]}
isJackpot={true}
onPlay={...}
onFavToggle={...}
/>

Stany: zawiska (szybki start), szkielet, niedostępny (region/czas).
A11y: alt-text, keyboard start, 'aria-label = „Play Lightning Roulette”'.

6. 2 Lobbyfiltry

Cel: filtry lobby (gatunek, dostawca, limity, zmienność).
Funkcje: zapisane ustawienia wstępne, filtry resetujące, licznik wyników.
Mikrokopia: „Filtry”, „Filtry resetowe”, „Znalezione: 128”.

6. 3 BonusBanner/Bonus Card

Opcje: welcome, reload, cashback, freespins, turniej.
Pola: nagłówek, warunki, okres ważności, CTA („Aktywuj bonus”).
A11y: odniesienia do warunków są czytelne, „aria-description” → szczegóły warunków.
Anty-wzór: Ukryj ograniczenia klucza.

6. 4 JackpotTicker

Cel: Automatyczne odświeżanie jackpota uruchomionej kwoty.
API: źródło danych, okres aktualizacji, format waluty.
A11y: 'role = „status”, nie naruszaj czytelności czytnika ekranu.

6. 5 TournamentLeaderboard

Skład: tabela pozycji, punkty, nagrody, timer, pozycja własna.
Funkcja: paginacja/wirtualizacja, naprawa linii.
A11y: 'th '/' scope', czytelne kolumny, nawigacja strzałkowa.

6. 6 Karta portfelowa/Widget

Pola: saldo, zablokowane środki, saldo bonusowe, waluta.
Akcje: „Doładowanie”, „Wyświetlanie”, „Historia”.
Bezpieczeństwo: ukryj/pokaż ilość, maskowanie w obszarach wspólnych.

6. 7 Karta metodologiczna

Pola: logo dostawcy, limity, prowizje, ETA, dostępność regionalna.
Stany: niedostępne (region/status), w procesie, ostrzeżenie limitu.

Mikrokopia: "1. 5% prowizji jest wstrzymywane przez dostawcę", "Płatność - do 15 minut"

6. 8 Formularz depozytowy/formularz

Wzory: walidacja inline, limity kwot, wiersze reguły tej samej metody.
A11y: zgłaszanie błędów („asertywnych”), zwracanie uwagi na pierwszy błąd.
Pola usług: „Źródło środków”, „Cel”, jeśli wymagana jest licencja AML.

6. 9 KYCStatusBadge/KYCChecklist

Stwierdza: „żaden | podstawowych | rozszerzonych | odrzuconych | oczekujących”.
Teksty: „Potrwa ~ 2 minuty”, „Zdjęcie bez blasku, narożniki i tekst są widoczne”.
CTA: "Poddaj się weryfikacji", wtórne: "Dlaczego to jest ważne? ».

6. 10 Kontrola / GamingBanner

Cel: limity depozytów/stawek/czasu, przerw, samodzielnego wykluczenia.
А11у/Tone: neutralny, bez nacisku, w odniesieniu do pomocy.

7) Wzory układu (Przepisy)

Rejestracja/ACC: Stepper + Formularz + InnyError + Alert + SuccessToast.
Дебовий: MethodCard + ΔInput + Hint + Modal + Toast.
Лоска: SearchBar + LobbyFilters + GileGrid (и, GileTile) + Pagination + EmptyState.
Турнина: TournamentLeaderboard + Progress + BonusBanner.
Odpowiedzialny: GamingBanner + Control + FAQ-link.

8) Dostępność (A11y)

Widoczne skupienie zawsze (w tym w ciemnym motywie).
Nawigacja klawiatury przez wszystkie interaktywne elementy.
"aria-live =" grzeczny/asertywny "dla tostów/statusów.
Kontrasty nie niższe niż WCAG 2. 1 AA.
Tekst w ikonach nie jest jedynym nośnikiem znaczenia.
Tryby RTL, 320 px sprawdzić i czytelność na głos.

9) Lokalizacja i formaty

Wszystkie łańcuchy użytkownika są przez klucze i18n.

Przykładowe klucze:

ui. button. save = Save wallet. deposit. success = Payment accepted. Balance updated.
kyc. photo. hint = Photo without glare, corners and text are visible.
filters. reset = Reset filters

Daty formatowania/waluty - z narzędziami, a nie ciągami.
Ton w językach - przez ton-mapa (neutralny/pomocniczy/urzędowy).

10) Wydajność i jakość

Wirtualizacja listy (gry, tabele).
Leniwe ładowanie ilustracji, łączenie kodów przez strony.
Rozmiary pakietów: UI pakiet budżetu, bez ciężkich zależności.
Szkielet do percepcji prędkości, kręgosłupy - minimalne.
Testy: jednostka, migawki wizualne, interakcja, A11y, E2E dla przepływu krytycznego.

11) Wersioning i wydania

SemVer: plaster - błędy; drobne - nieniszczące; główne - z migracjami.
Uwagi do wydania: żetony/API/zachowanie, przed/po zrzutach ekranu.
Deprecacje: oznaczenia doku, moduły kodu i zasady lintera.
Storybook/Plac zabaw: przykłady na żywo, panel dostępności, przełącznik RTL.

12) Wnoszenie wkładu

RFC na nowy składnik: problem → opcje → wybrana decyzja → A11y → i18n → API → ryzyka.
Lista kontrolna PR: doki, historie, testy, migawki wizualne, kontrasty, i18n, dark/RTL.
Definicja Wykonanego: komponent + dokumentacja + testy + przykłady wzorów.

13) Zestaw MVP i mapa drogowa

MVP (pierwsza dostawa):
  • Przycisk, Wejście, Wybierz, Pole wyboru, Radio, Przełącznik, Modal, Toast, Tooltip, Progress, Szkielet, Karta, EmptyState, Zakładki, Pagination, Bułki chlebowe, Stół, Płytka, LobByFilters, Bonter usBanner, WalletCard, MethodCard, DepositForm, KYCStatusBadge.

Далевич: TournamentLeaderboard, JackpotTicker, لProgress, Control, SystemStatus, Drawer/Sidebar, Picker, Combobox, FileUpload.

14) Przykłady mikrokopii (gotowe wkładki)

CTA: „Zapisz zmiany”, „Poddaj się weryfikacji”, „Dodaj formę płatności”.

Błędy: "Nieprawidłowy format daty. Użyj DD. MM. RRRR "., "Plik jest zbyt duży (maks. 10 MB)"

Sukces: "Płatność zaakceptowana. Saldo zaktualizowane. "Skończyłem! Dokumenty zweryfikowane"

Puste stwierdzenie: "Przez "{zapytanie}" nic nie znaleziono. Zresetuj filtry lub dopracuj zapytanie"

15) Anty-wzory

Logika biznesowa w komponentach UI (przerywa nadmierne wykorzystanie).
Niewidzialne skupienie lub zależność znaczenia tylko od koloru.
Ciągi wbudowane w kod komponentu (bez i18n).
Naruszenie semantyki (przycisk na ', listy bez' ul/ol/li ').
Warianty bez jasnych reguł (pomnożenie „Button BlueBig2”).

16) Listy kontrolne

Składnik przed uwolnieniem:
  • Cel, warianty, API są opisane.
  • A11y: rola, skupienie, atrybuty arii, kontrast.
  • i18n: wszystkie linie są renderowane, długie języki i RTL są sprawdzane.
  • Story/Demo: Normal, Download, Error, Blank.
  • Testy: jednostka + wizualna + interakcja + A11y.
  • Brak logiki biznesowej, tylko interfejs użytkownika/zachowanie.
Wzór (skład):
  • Istnieje schemat komponentów i zlecenie ostrości.
  • Zdefiniowano mikrokopię i teksty błędów/sukcesów.
  • Mierzone mierniki kluczy (konwersja kroków, wskaźnik błędów, czas do końca).

17) Szkielet dokumentu dla komponentu (szablon)

Nazwa i cel

Kiedy stosować/nie stosować

Warianty i państwa

API (rekwizyty, wydarzenia, sloty)

Dostępność (rola, klawiatura, aria, kontrast)

i18n (klawisze, formaty, długości, RTL)

Mikrokopia (przykłady)

Próbki kodowe (typowe i krawędziowe)

Matryca badawcza

Anty-przykłady

Razem

Gamble Hub UI to nie tylko zestaw bloków, ale dyscyplina: żetony → komponenty → wzory → dokumentacja → metryki. Zgodnie z tym przewodnikiem zespoły dostarczają funkcje szybciej, użytkownicy uzyskują przewidywalny i przystępny cenowo interfejs, a skale produktów bez długu wizualnego. W razie potrzeby, będę zbierać pierwsze strony doku przez MVP-set z przykładami i i18n klawiszy.

Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.