fix: заменить хардкодный зелёный (#3EDBB0) на акцентный цвет из темы

Все вхождения #3EDBB0, #2BC49A и rgba(62,219,176,...) заменены на
CSS-переменные --color-accent-400/500 из системы тем.

Затронутые компоненты:
- TrialOfferCard: кнопка, бордер, свечение, иконка
- Subscription: лейблы, иконки, кнопки паузы/копирования
- SubscriptionCardActive: бордер карточки, бейдж статуса
- SubscriptionPurchase: градиент триал-блока
- PurchaseCTAButton: градиент кнопки, иконка
- TrafficProgressBar: цвета прогресс-бара
- StatsGrid: убрана зависимость от useTrafficZone, используется accent напрямую
- trafficZone.ts: добавлены mainVar/mainVarRaw для CSS-переменных
- tailwind.config.js: trialGlow keyframes на accent цвет
This commit is contained in:
Fringg
2026-03-05 10:56:45 +03:00
parent 262303d623
commit d526d095de
10 changed files with 114 additions and 83 deletions

View File

@@ -447,7 +447,7 @@ export default function Subscription() {
style={{
background: g.cardBg,
border: subscription.is_trial
? '1px solid rgba(62,219,176,0.15)'
? '1px solid rgba(var(--color-accent-400), 0.15)'
: isDark
? `1px solid ${g.cardBorder}`
: `1px solid ${zone.mainHex}25`,
@@ -535,21 +535,21 @@ export default function Subscription() {
className="mb-6 rounded-[14px] p-4"
style={{
background:
'linear-gradient(135deg, rgba(62,219,176,0.08), rgba(62,219,176,0.03))',
border: '1px solid rgba(62,219,176,0.12)',
'linear-gradient(135deg, rgba(var(--color-accent-400), 0.08), rgba(var(--color-accent-400), 0.03))',
border: '1px solid rgba(var(--color-accent-400), 0.12)',
}}
>
<div className="flex items-start gap-3">
<div
className="flex h-9 w-9 flex-shrink-0 items-center justify-center rounded-[10px]"
style={{ background: 'rgba(62,219,176,0.12)' }}
style={{ background: 'rgba(var(--color-accent-400), 0.12)' }}
>
<svg
width="16"
height="16"
viewBox="0 0 24 24"
fill="none"
stroke="#3EDBB0"
stroke="rgb(var(--color-accent-400))"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
@@ -559,7 +559,10 @@ export default function Subscription() {
</svg>
</div>
<div className="flex-1">
<div className="text-sm font-semibold" style={{ color: '#3EDBB0' }}>
<div
className="text-sm font-semibold"
style={{ color: 'rgb(var(--color-accent-400))' }}
>
{t('subscription.trialInfo.title')}
</div>
<div className="mt-1 text-[12px] text-dark-50/40">
@@ -569,7 +572,7 @@ export default function Subscription() {
<div className="flex items-center gap-1.5">
<span
className="font-mono text-[12px] font-semibold"
style={{ color: '#3EDBB0' }}
style={{ color: 'rgb(var(--color-accent-400))' }}
>
{subscription.days_left > 0
? t('subscription.days', { count: subscription.days_left })
@@ -582,7 +585,7 @@ export default function Subscription() {
<div className="flex items-center gap-1.5">
<span
className="font-mono text-[12px] font-semibold"
style={{ color: '#3EDBB0' }}
style={{ color: 'rgb(var(--color-accent-400))' }}
>
{subscription.traffic_limit_gb || '∞'} {t('common.units.gb')}
</span>
@@ -593,7 +596,7 @@ export default function Subscription() {
<div className="flex items-center gap-1.5">
<span
className="font-mono text-[12px] font-semibold"
style={{ color: '#3EDBB0' }}
style={{ color: 'rgb(var(--color-accent-400))' }}
>
{subscription.device_limit}
</span>
@@ -749,9 +752,11 @@ export default function Subscription() {
onClick={copyUrl}
className="flex h-auto items-center rounded-[10px] px-3 transition-colors duration-300"
style={{
background: copied ? 'rgba(62,219,176,0.12)' : g.innerBorder,
border: copied ? '1px solid rgba(62,219,176,0.2)' : `1px solid ${g.trackBg}`,
color: copied ? '#3EDBB0' : g.textMuted,
background: copied ? 'rgba(var(--color-accent-400), 0.12)' : g.innerBorder,
border: copied
? '1px solid rgba(var(--color-accent-400), 0.2)'
: `1px solid ${g.trackBg}`,
color: copied ? 'rgb(var(--color-accent-400))' : g.textMuted,
}}
title={t('subscription.copyLink')}
>
@@ -979,12 +984,12 @@ export default function Subscription() {
className="rounded-[10px] px-4 py-2 text-sm font-semibold transition-colors duration-300"
style={{
background: subscription.is_daily_paused
? 'rgba(62,219,176,0.12)'
? 'rgba(var(--color-accent-400), 0.12)'
: 'rgba(255,184,0,0.12)',
border: subscription.is_daily_paused
? '1px solid rgba(62,219,176,0.2)'
? '1px solid rgba(var(--color-accent-400), 0.2)'
: '1px solid rgba(255,184,0,0.2)',
color: subscription.is_daily_paused ? '#3EDBB0' : '#FFB800',
color: subscription.is_daily_paused ? 'rgb(var(--color-accent-400))' : '#FFB800',
}}
>
{pauseMutation.isPending ? (