GH GambleHub

Түс жүйесі және брендтік палитралар

1) Не үшін түсін рәсімдеу

Түс - «жақсы реңктер» жиынтығы емес, басқарылатын жүйе:
  • брендтің танымалдылығы мен көрнекі консистенттілігі,
  • қол жетімділік (WCAG),
  • (тақырыптар, платформалар, жергілікті жерлер),
  • болжамды A/B-эксперименттер (контраст, CTR, қателер).

2) Жүйе негіздері: модельдер мен метрика

OKLCH (ұсынылады): перцептуалды біркелкі, 'H' реңкі сақталған кезде 'L' жарықтығын және 'C' қанықтығын бақылауға ыңғайлы.
Lab/LCH: сондай-ақ жарамды; OKLCH қабылдау жағынан тұрақтырақ.
sRGB: соңғы көрсету кеңістігі; қорытынды мәндерді әрқашан sRGB және WCAG бойынша валидациялаймыз.
Контраст (WCAG 2. 2): базалық мәтін ≥ 4. 5:1, ірі ≥ 3:1; сыни хабарламалар - мүмкін болған жерде AAA (7:1) нысанасы.

3) Жүйе қабаттары: брендтен семантикаға

1. Бренд-ядро: 1-2 фирмалық реңк (+ қолдау акценті).
2. Интерфейстің семантикасы: рөлдер ('primary', 'secondary', 'success', 'warning', 'danger', 'info', 'neutral').
3. Түстер шкаласы: жарық бойынша қадамдар (мысалы, 25/50/100...900).
4. Темы: `light` / `dark` (+ high-contrast, AMOLED).
5. 'default/hover/active/focus/disabled' күйі.
6. Контекст: беттер ('bg/base', 'bg/subtle', 'bg/elevated') және мәтін ('fg/primary', 'fg/secondary', 'fg/muted').
7. Деректерді визуализациялау: жеке дискретті және үздіксіз палитралар.

4) Бренд-ядро: таңдау және шектегіштер

Басты реңкті таңдаңыз (Hue) және ашық және қараңғы (көбінесе 'L ≈ 0. 60–0. Батырмаларды light және 'L 70 ≈ құю үшін' 0. 70–0. 80 'үшін/таңбалар үшін dark).
'C' хромын шектеңіз: жоғары 'C' баннерлерде әдемі, бірақ UI-де оқылуды бұзады - 2 нұсқаны сақтаңыз: «маркетингтік» (қанық) және «азық-түлік» (ұстамды).
Вариативтерді бекітіңіз: негізгі ('brand/primary'), балама ('brand/alt') және бейтарап тірек ('neutral').

5) Түстер шкаласы (tonal scales)

Мақсаты - басқарылатын қанықтығы бар біркелкі жарық сатыларын алу:
  • OKLCH үшін 'L' сатыларын жылжытыңыз (мысалы, 0. 98→0. 90→0. 80→…→0. 18), а 'C' ашық түсте «ластануды» және қараңғылықта «лайлануды» болдырмау үшін шәкілдің шетіне қарай аздап азайтыңыз.
  • Бақылау нүктелерін белгілеңіз: '50/100/300/500 (key )/700/900'.
  • Әрбір қадамда негізгі фоны бар және күтілетін мәтін түсі бар жұптың айырмашылығын тексеріңіз.

brand/primary шкаласының мысалы (OKLCH, шамамен)


brand.primary.50  = oklch(0.98 0.03 230)
brand.primary.100 = oklch(0.94 0.05 230)
brand.primary.300 = oklch(0.86 0.08 230)
brand.primary.500 = oklch(0.74 0.10 230) # ключевой тон brand.primary.700 = oklch(0.56 0.09 230)
brand.primary.900 = oklch(0.32 0.07 230)

6) Семантикалық рөлдер және маппинг

Бренд пен семантиканы бөлісіңіз: «табыс» бренд-жасыл болуға міндетті емес.


role.primary.bg    -> brand.primary.500 role.primary.text   -> fg.on-primary     # ≥ 4.5:1 к role.primary.bg role.success.bg    -> green.500 role.warning.bg    -> amber.500 role.danger.bg    -> red.500 role.info.bg     -> blue.500 role.neutral.bg    -> gray.200/700 (light/dark)

'on' мәтіндері автоматты түрде есептеледі (қараңыз § 10).

7) Ашық/қараңғы тақырыптар мен беттер

Беттер мен мәтіннің негізгі шкаласын анықтаңыз:

light:
bg/base   = oklch(0.98 0.01 260)
bg/subtle  = oklch(0.96 0.01 260)
bg/elevated = oklch(0.93 0.01 260)
fg/primary  = oklch(0.18 0.03 260) # ≈7:1 к bg/base fg/secondary = oklch(0.32 0.03 260) # ≥4.5:1 border    = oklch(0.80 0.02 260)

dark:
bg/base   = oklch(0.16 0.01 260)
bg/subtle  = oklch(0.20 0.01 260)
bg/elevated = oklch(0.24 0.01 260)
fg/primary  = oklch(0.90 0.02 260)
fg/secondary = oklch(0.78 0.02 260)
border    = oklch(0.34 0.02 260)

Екі тақырыпта да қарама-қарсы мақсаттарды бірдей сақтаңыз; таза қара түсте «соқыр» ақ болудан аулақ - 'L' фонды ~ 0 дейін көтеріңіз. 16.

8) Жай-күй және интерактивтілік

Әрбір рөлге L 'Δ және Δ C' бақыланатын күйді беріңіз:

button/primary:
default.bg = brand.primary.500 hover.bg  = brand.primary.500 with +ΔC(0.01) -ΔL(0.02)
active.bg = brand.primary.700 focus.ring = brand.primary.300 # контраст кольца ≥ 3:1 к окружению disabled.bg= neutral.200 (light) / neutral.700 (dark)
text.on  = auto-contrast(default.bg)    # ≥ 4.5:1

9) Жауапкершілік және WCAG

Басқару элементтеріндегі негізгі мәтін мен иконалар - ≥ 4. 5:1.
Негізгі жүйелік хабарламалар (KYC/AML, 18 +, төлем қателіктері) - ААА-ға бағытталамыз (7:1).
Өрістердің жағдайы мен шекарасы - 3: 1-ден төмен емес.
Сілтемелерді тек түсімен ғана ажыратпаңыз (астын сызу/focus мәнері).

10) Қарама-қарсы мәтінді автоматты түрде таңдау ('on-')

Логика: Құюды таңдағанда 'on-color':

1. OKLCH бойынша өлшемдерді анықтау. 'L _ on' деген мәтін '(L_text vs L_bg) ≥ 4. 5:1`.

2. Егер хром жоғары болса, 'C _ text' -ті 0 дейін төмендетіңіз. 01–0. 03.

3. Қараңғы тақырып үшін 'L _ on' дегенді 0-ге көтеріңіз. 02–0. 04, глейраны өтеу үшін.

Жалған токен:

fg.on(colorX) = auto(colorX, targetContrast=4.5)

11) Деректерді визуализациялау

Санаттық палитралар: 8-12 түс, алысқа төзімді (баламалы белгілерсіз «қызыл-жасыл» буынан аулақ болыңыз).
Үздіксіз: 'bg/elevated' -тен қол контрастын бақылайтын акцентке.
Түссіз ажырату үшін үлгілер/таңбалауыштар қосыңыз.

12) Халықаралық контекст (мәдени қауымдастықтар)

Жергілікті коннотацияларды ескеріңіз (мысалы, қызыл - қауіп/назар; алтын - ұтыс/жүлде).
iGaming үшін: бір экранда брендтік акценттермен «табыс/қауіп» қайшылықтарынан аулақ болыңыз; иконография мен қолтаңбалар «жарықтықтан» маңызды.

13) Дизайн-жүйеге интеграциялау

13. 1 Токендерді атау


color.{theme}.{role    surface    brand}.{state    step}
примеры color.light.brand.primary.500 color.dark.role.success.bg color.light.surface.bg.base color.light.fg.on-primary

13. 2 Токендер (JSON/Style Dictionary)

json
{
"color": {
"light": {
"surface": { "bg": { "base": "oklch(0.98 0.01 260)"} },
"brand":  { "primary": { "500": "oklch(0.74 0.10 230)" } },
"role":  { "primary": { "bg": "{color.light.brand.primary.500}" },
"danger": { "bg": "oklch(0.62 0.12 25)" } },
"fg": { "primary": "oklch(0.18 0.03 260)",
"on-primary": "auto({color.light.role.primary.bg},4.5)" }
}
}
}

13. 3 CSS айнымалы (тақырып қабаты)

css
:root[data-theme="light"] {
--bg-base: oklch(0.98 0.01 260);
--brand-primary-500: oklch(0.74 0.10 230);
--fg-primary: oklch(0.18 0.03 260);
--on-primary: color-contrast(var(--brand-primary-500)); / автоподбор /
}
[data-theme="dark"] {
--bg-base: oklch(0.16 0.01 260);
--brand-primary-500: oklch(0.74 0.10 230);
--fg-primary: oklch(0.90 0.02 260);
--on-primary: color-contrast(var(--brand-primary-500));
}

13. 4 Figma/құжаттама

Компоненттер тек белгілерді ғана пайдаланады, тікелей HEX/SRGB линтерлерге тыйым салынады.
Кітапханада - «Контраст матрицасы» беті: нақты коэффициенттері бар 'fg × bg' кестесі.

14) Сапаны бақылау процестері

Дизайнда: артбордтарда контрастты тексеру (екі режим), дальтонизмге арналған жеке пресеттер.
Кодта: юнит-хелперлер контрасты есептейді және бұзушылықтар кезінде құлайды; сындарлы экрандарға арналған көзбен шолу шамдары.
CI/CD-де: токендер мен жай-күйлердің барлық жұптарын тексеру, компоненті, тақырыбы және нақты мәні бар есеп беру.

15) iGaming ерекшелігі

Промо және турнирлер: мәтін «батып кетпес» үшін өшірулерді және 'C' шектеуін қолданыңыз.
Жауапты хабарламалар (лимиттер, 18 +, тәуекелдер) - шын жүректен AAA.
Метриктер/кестелер: өзгерістер сандары мен белгілерін (↑/↓) тек түсімен емес, пішінімен және қарама-қайшылығымен ажыратыңыз.

16) Енгізу чек-парағы

  • Бренд реңктері және олардың үндестік шкалалары (OKLCH) анықталған.
  • Екі тақырып үшін рөлдер, жағдайлар және беттер берілген.
  • Мақсатты қарама-қарсы 'on-' автогенерациясы.
  • 'fg × bg' матрицасы және CI-дегі WCAG тестілері.
  • Датавизге арналған жеке палитралар (дальтонизмді қолдайтын).
  • Мәнерлер линтері «дымқыл» түстерге тыйым салады.
  • Гайдлайндағы «Ерекшеліктер мен себептер» беті.

17) Қарсы үлгілер

Бренд-акцентті бір UX сигналында «табыс/қате» деп араластыру.
Тек иерархияға ғана сүйену.
Жарық/қараңғы үндестірілмесін (тақырыптардың бірінде «кеткен» қарама-қарсылық).
Қатты HEX белгісі жоқ → бақыланбайтын интерфейс дрейфі.


Қысқаша түйіндеме

Жоғарыдан төмен қарай палитра жасаңыз: бренд-ядро → семантикалық рөлдер → тон шкаласы → тақырыптар → жай-күй. OKLCH-те жұмыс істеңіз, белгілерді бекітіңіз, 'on' және WCAG-тексерулерді автоматтандырыңыз. Датавиздер үшін палитрларды бөлек жүргізіңіз. Бұл брендтің тұрақтылығын, өнімнің оқылушылығын және масштабталуын қамтамасыз етеді.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.