GH GambleHub

Gamble Hub UI Bileşen Kitaplığı

1) Hedefler ve ilkeler

Neden: Özellik dağıtımını hızlandırın, tutarlı UX sağlayın ve desteği basitleştirin.

İlkeler:
  • Anlambilim ve tarafsızlık. Bileşen, iş mantığında dikiş yapmadan UI problemini çözer.
  • A11y-by-default. Roller, odak halkaları, arya nitelikleri ve kontrast bileşenlere dikilir.
  • i18n-ilk. Satır uzunlukları, sayısal formatlar, RTL - kutudan çıkar.
  • Temizasyon. Açık/koyu temalar ve belirteçler aracılığıyla markalı vurgular.
  • Ölçeklenebilirlik. Tekdüze API'ler, küçük sürümlerin kararlılığı, majör altındaki geçişler.

2) Zemin: tasarım belirteçleri (temel)

Örnek yapı (JSON/YAML kaynağı - CSS değişkenlerinde yerleşik/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 }
}

Kurallar: anlamsal belirteçler (örn. 'color. aksanlı. başarı ') bileşenler tarafından kullanılır; palet - iç.

3) Bileşen kategorileri

1. Базовые (Primitives): Düğme, Simge, Tipografi, Bağlantı, Rozet, Bölücü, Avatar.
2. Формы: Input, PasswordInput, NumberInput, Select, Combobox, DatePicker, Checkbox, Radio, Switch, Slider, Textarea, FileUpload.
3. Gezinme: AppBar, Sekmeler, Ekmek kırıntıları, Sayfalama, Çekmece/Kenar Çubuğu, Adım.
4. Фидбек: Alert, InlineError, Tooltip, Toast, Snackbar, Modal, Popover, Skeleton, Progress, StatusDot.
5. Veri ve tablolar: Tablo, DataList, Kart, Akordeon, Etiket, EmptyState.

6. iGaming özgüllüğü:
  • GameTile (oyun kartı)
  • ProviderBadge
  • JackpotTicker
  • LiveBadge (canlı tablo/gösteri)
  • LobbyFilters (sağlayıcı/tür/limit)
  • BonusBanner/BonusCard
  • MissionProgress/AchievementBadge
  • TurnuvaLeaderboard
  • WalletCard/BalanceWidget
  • PaymentMethodCard
  • DepositForm/Para ÇekmeForm
  • KYCStatusBadge/KYCChecklist
  • ResponsibleGamingBanner/LimitsControl
  • AgeGate/SessionTimer/RiskAlert
  • SystemStatus/MaintenanceBanner

4) Bileşen Sayfası: Gerekli İçerik

Amaç ve ne zaman kullanılacağı/kullanılmayacağı.
Kompozisyon ve çeşitleri. Boyutlar, durumlar, değiştiriciler.
API. Aksesuarlar, etkinlikler, slotlar, kontrollü/kontrolsüz modlar.
A11y. Roller, odak, arya bağlantıları, canlı bölgeler.
i18n. Uzunluklar, biçimler, yerelleştirilebilir imzalar.
Mikrokopi. Önerilen metinler (CTA, ipuçları, hatalar).
Kod örnekleri. Tipik durumlar, kenar durumları (hatalar, yükleme, boş).
Testler. Görsel matrix/unit/interaction/A11y.
Anti-örnekler. Sık kullanım hataları.

5) Temel Bileşenler: Hızlı Özellikler

5. 1 Düğme

Varyantlar: 'Birincil | ikincil | hayalet | yıkıcı' Boyutlar: 'sm | md | lg'

Durumlar: normal, vurgulu, odak görünür, aktif, yükleme, devre dışı

A11y: görünür focus-ring, "yükleme" için "aria-busy", geçiş için "aria-pressed"

Mikrokopi: eylem + nesne (Değişiklikleri Kaydet, Doğrula)

Anti-örnek: "Tamam"

5. 2 Giriş/Alan

Malzemeler: etiket, alan, yardımcı, hata, önek/sonek

A11y: 'aria-invalid', 'aria-describedby', связка 'for/id'

Hata deseni: yanlış olan nedir + nasıl düzeltilir ("+ 380 biçiminde numarayı girin"..)

Yuvalar: 'önek' (simge), 'sonek' (düğme "parolayı göster")

5. 3 Seç/Combobox

Özellikler: liste arama, klavye, uzun liste sanallaştırma

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

Boş sonuçlar: "Hiçbir şey bulunamadı. Talebi değiştirin"

5. 4 Modal/Çekmece

Kurallar: bindirme odağı, ESC/bindirme kapatma, odağı başlatıcıya döndürme

Kullanım: Ödeme Onayları, İndirim Kuralları, KYC Adımları

5. 5 Tost/Snackbar

Zaman: 2-4 s, akış engelleme yok

Canlı bölgeler: Başarı için 'aria-live =' kibar ', hatalar için' iddialı '

Örnekler: "Ödeme kabul edildi. Denge güncellendi"

5. 6 BoşDevlet

Şablon: bağlam + değer + CTA + ikincil CTA

Örnek: "Seçilen oyunlar, ilkini eklediğinizde burada görünecektir. [Favorilere ekle]»

6) iGaming bileşenleri: özellikler ve API

6. 1 GameTile

Amaç: Lobi/katalogdaki oyun kartı.
Kompozisyon: kapak, sağlayıcı, etiketler (Yeni/Sıcak/Jackpot/Canlı), RTP (toptan), hızlı eylem.

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

Durumlar: hover (hızlı başlangıç), iskelet, kullanılamaz (bölge/saat).
A11y: alt-text, keyboard start, 'aria-label =' Play Lightning Roulette ''.

6. 2 LobiFiltreler

Amaç: Lobi filtreleri (tür, sağlayıcı, limitler, volatilite).
Özellikler: kaydedilmiş hazır ayarlar, filtreleri sıfırlama, sonuç sayacı.
Mikrokopi: "Filtreler", "Filtreleri sıfırla", "Bulundu: 128".

6. 3 BonusBanner/BonusCard

Seçenekler: hoşgeldin, yeniden yükleme, para iadesi, freespins, turnuva.
Alanlar: başlık, koşullar, geçerlilik süresi, CTA ("Activate bonus").
A11y: koşullara yapılan referanslar okunabilir, 'aria-describby' - koşulların ayrıntıları.
Anti-pattern: Anahtar kısıtlamalarını gizler.

6. 4 JackpotTicker

Amaç: Otomatik yenileme jackpot koşu miktarı.
API: veri kaynağı, güncelleme süresi, para birimi biçimi.
A11y: 'role =' status '', ekran okuyucunun okunabilirliğini ihlal etmez.

6. 5 TurnuvaLeaderboard

Kompozisyon: pozisyon tablosu, puanlar, ödüller, zamanlayıcı, kendi pozisyonu.
Özellik: sayfalama/sanallaştırma, hattınızı sabitleme.
A11y: 'th'/' scope', okunabilir sütunlar, ok gezintisi.

6. 6 WalletCard/BalanceWidget

Alanlar: bakiye, bloke edilmiş fonlar, bonus bakiyesi, para birimi.
Eylemler: "Top up", "Ekran", "Geçmiş".
Güvenlik: Sakla/göster miktarı, ortak alanlarda maskeleme.

6. 7 PaymentMethodCard

Alanlar: sağlayıcı logosu, limitler, komisyonlar, ETA, bölgesel kullanılabilirlik.
Durumlar: mevcut değil (bölge/durum), işlem sırasında sınır uyarısı.

Mikrokopi: "1. Sağlayıcı tarafından %5 komisyon kesilir," "Ödeme - 15 dakikaya kadar"

6. 8 DepositForm/Para ÇekmeForm

Desenler: satır içi doğrulama, miktar sınırları, aynı yöntem kuralı istemleri.
A11y: Hata bildirme ('iddialı'), odağı ilk hataya çevirme.
Hizmet alanları: "Fon kaynağı", "Amaç", AML gerekiyorsa.

6. 9 KYCStatusBadge/KYCChecklist

Devletler: 'none | basic | extended | rejected | pending'.
Metinler: "~ 2 dakika sürecek", "Parlamayan fotoğraf, köşeler ve metin görünür".
CTA: "Doğrulandı", ikincil: "Bu neden önemli? ».

6. 10 LimitlerKontrol/SorumluGamingBanner

Amaç: mevduat/oran/zaman sınırları, molalar, kendini dışlama.
А11у/Tone: tarafsız, baskı yok, yardımla ilgili.

7) Düzen desenleri (Tarifler)

Kayıt/ACC: Stepper + Form + InlineError + PageAlert + SuccessToast.
Депозит: PaymentMethodCard + AmountInput + Limitsİpucu + ConfirmModal + StatusToast.
Лобби: SearchBar + LobbyFilters + GameGrid (из GameTile) + Pagination + EmptyState.
Турнир: TournamentLeaderboard + MissionProgress + BonusBanner.
Sorumlu: ResponsibleGamingBanner + LimitsControl + SSS-link.

8) Erişilebilirlik (A11y)

Görünür odak her zaman (karanlık bir tema dahil).
Tüm etkileşimli öğeler arasında klavye navigasyonu.
'aria-live = "kibar/iddialı"' tostlar/durumlar için.
WCAG 2'den daha düşük olmayan kontrastlar. 1 AA.
Simgelerdeki metin tek anlam taşıyıcısı değildir.
RTL modları, 320 px kontrol ve okunabilirlik yüksek sesle.

9) Yerelleştirme ve formatlar

Tüm kullanıcı dizeleri i18n tuşlarından geçer.

Örnek anahtarlar:

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

Tarihleri/para birimlerini biçimlendirme - yardımcı programlarla, dizelerle değil.
Dillerde ton - ton haritası aracılığıyla (nötr/destekleyici/resmi).

10) Performans ve kalite

Liste sanallaştırma (oyunlar, tablolar).
Çizimlerin tembel yüklenmesi, sayfalara göre kod ekleme.
Paket boyutları: UI paket bütçesi, ağır bağımlılık yok.
Hız algısı için iskelet, iplikçiler - minimum.
Testler: birim, görsel anlık görüntüler, etkileşim, A11y, kritik akış için E2E.

11) Sürüm ve sürümler

SemVer: yama - hatalar; Minör - tahribatsız; Binbaşı - göçlerle.
Sürüm Notları: belirteçler/API/davranış, ekran görüntülerinden önce/sonra.
Kullanımdan kaldırmalar: Dock işaretleri, kod modları ve linter kuralları.
Storybook/Playground: canlı örnekler, erişilebilirlik paneli, RTL geçiş.

12) Katkıda bulunmak

Yeni bir bileşen üzerinde RFC: bir sorun - seçenekler - seçilen karar - A11y - i18n - API - riskler.
PR kontrol listesi: rıhtımlar, hikayeler, testler, görsel anlık görüntüler, kontrastlar, i18n, karanlık/RTL.
Bitti'nin tanımı: bileşen + dokümantasyon + testler + desen örnekleri.

13) MVP seti ve yol haritası

MVP (ilk teslimat):
  • Button, Input, Select, Checkbox, Radio, Switch, Modal, Toast, Tooltip, Progress, Skeleton, Card, EmptyState, Tabs, Pagination, Breadcrumbs, Table, GameTile, LobbyFilters, BonusBanner, WalletCard, PaymentMethodCard, DepositForm, KYCStatusBadge.

Далее: TournamentLeaderboard, JackpotTicker, MissionProgress, LimitsControl, SystemStatus, Drawer/Sidebar, DatePicker, Combobox, FileUpload.

14) Mikrokopi örnekleri (bitmiş ekler)

CTA: "Değişiklikleri kaydet", "Doğrulandı", "Ödeme yöntemi ekle".

Hatalar: "Geçersiz tarih biçimi. DD kullan. MM. YYYY. ", "Dosya çok büyük (maks. 10 MB)"

Başarı: "Ödeme kabul edildi. Denge güncellendi. »,Tamam! Belgeler doğrulandı"

Boş durumlar: "By "{query}" hiçbir şey bulunamadı. Filtreleri sıfırlayın veya sorguyu hassaslaştırın"

15) Anti-desenler

UI bileşenleri içindeki iş mantığı (aşırı kullanımı keser).
Görünmez odak veya anlam bağımlılığı sadece renge bağlıdır.
Bileşen koduna gömülü dizeler (i18n olmadan).
Semantik ihlali ('div' üzerindeki düğme,'ul/ol/li 'içermeyen listeler).
Açık kuralları olmayan değişkenler (çarpma 'ButtonPrimaryBlueBig2').

16) Kontrol listeleri

Yayın öncesi bileşen:
  • Amaç, varyantlar, API açıklanmıştır.
  • A11y: rol, odak, arya nitelikleri, kontrast.
  • i18n: tüm satırlar işlenir, uzun diller ve RTL kontrol edilir.
  • Hikaye/Demo: Normal, İndirme, Hata, Boş.
  • Testler: birim + görsel + etkileşim + A11y.
  • İş mantığı yok, sadece UI/davranış.
Desen (kompozisyon):
  • Bileşenlerin bir şeması ve bir odak sırası vardır.
  • Mikrokopi ve hata/başarı metinleri tanımlanmıştır.
  • Ölçülen temel metrikler (adım dönüştürme, hata oranı, tamamlama süresi).

17) Bileşen için belge iskeleti (şablon)

Adı ve amacı

Ne zaman kullanılmalı/kullanılmamalı

Seçenekler ve durumlar

API (sahne, etkinlikler, yuvalar)

Erişilebilirlik (rol, klavye, arya, kontrast)

i18n (tuşlar, formatlar, uzunluklar, RTL)

Mikrokopi (örnekler)

Kod örnekleri (tipik ve kenar)

Test matrisi

Anti-örnekler

Toplam

Gamble Hub UI sadece bir dizi blok değil, bir disiplindir: belirteçler, bileşenler, desenler, dokümantasyon, metrikler. Bu kılavuzun ardından ekipler daha hızlı özellikler sunar, kullanıcılar öngörülebilir ve uygun fiyatlı bir arayüz elde eder ve ürün görsel borç olmadan ölçeklenir. Gerekirse, rıhtımın ilk sayfalarını MVP setine göre örnekler ve i18n anahtarlarıyla toplayacağım.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.