refactor(theming): yellow-* → warning-* for status/pending semantics

Sweep yellow color classes that signal pending/warning status (admin pending pills,
withdrawal status, risk indicators) → warning-* tokens. Telegram Stars / fortune wheel
yellow kept as brand (TopUpAmount + Wheel + FortuneWheel).
This commit is contained in:
c0mrade
2026-05-26 11:21:16 +03:00
parent ae7da0c86a
commit d7cbbe077a
6 changed files with 13 additions and 12 deletions

View File

@@ -73,8 +73,8 @@ export function AnalyticsTab() {
<div className="rounded-2xl border border-dark-700/50 bg-dark-800/50 p-6"> <div className="rounded-2xl border border-dark-700/50 bg-dark-800/50 p-6">
<div className="mb-1 flex items-center justify-between"> <div className="mb-1 flex items-center justify-between">
<div className="flex items-center gap-3"> <div className="flex items-center gap-3">
<div className="flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-xl bg-gradient-to-br from-yellow-500/20 to-error-500/20"> <div className="flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-xl bg-gradient-to-br from-warning-500/20 to-error-500/20">
<svg className="h-5 w-5 text-yellow-400" viewBox="0 0 24 24" fill="currentColor"> <svg className="h-5 w-5 text-warning-400" viewBox="0 0 24 24" fill="currentColor">
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" /> <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" />
</svg> </svg>
</div> </div>

View File

@@ -14,8 +14,8 @@ const statusConfig: Record<string, { labelKey: string; color: string; bgColor: s
}, },
pending: { pending: {
labelKey: 'admin.partnerDetail.status.pending', labelKey: 'admin.partnerDetail.status.pending',
color: 'text-yellow-400', color: 'text-warning-400',
bgColor: 'bg-yellow-500/20', bgColor: 'bg-warning-500/20',
}, },
rejected: { rejected: {
labelKey: 'admin.partnerDetail.status.rejected', labelKey: 'admin.partnerDetail.status.rejected',

View File

@@ -86,7 +86,7 @@ function StatusBadge({ status }: { status: string }) {
deleted: 'bg-dark-600 text-dark-400 border-dark-500', deleted: 'bg-dark-600 text-dark-400 border-dark-500',
trial: 'bg-accent-500/20 text-accent-400 border-accent-500/30', trial: 'bg-accent-500/20 text-accent-400 border-accent-500/30',
expired: 'bg-warning-500/20 text-warning-400 border-warning-500/30', expired: 'bg-warning-500/20 text-warning-400 border-warning-500/30',
limited: 'bg-yellow-500/20 text-yellow-400 border-yellow-500/30', limited: 'bg-warning-500/20 text-warning-400 border-warning-500/30',
disabled: 'bg-dark-600 text-dark-400 border-dark-500', disabled: 'bg-dark-600 text-dark-400 border-dark-500',
}; };

View File

@@ -142,7 +142,7 @@ function UserRow({ user, onClick, formatAmount }: UserRowProps) {
: user.subscription_status === 'trial' : user.subscription_status === 'trial'
? 'border-accent-500/30 bg-accent-500/20 text-accent-400' ? 'border-accent-500/30 bg-accent-500/20 text-accent-400'
: user.subscription_status === 'limited' : user.subscription_status === 'limited'
? 'border-yellow-500/30 bg-yellow-500/20 text-yellow-400' ? 'border-warning-500/30 bg-warning-500/20 text-warning-400'
: 'border-warning-500/30 bg-warning-500/20 text-warning-400' : 'border-warning-500/30 bg-warning-500/20 text-warning-400'
}`} }`}
> >

View File

@@ -57,13 +57,13 @@ export default function AdminWithdrawals() {
{data && ( {data && (
<div className="mb-6 grid grid-cols-2 gap-3"> <div className="mb-6 grid grid-cols-2 gap-3">
<div className="rounded-xl border border-dark-700 bg-dark-800 p-4"> <div className="rounded-xl border border-dark-700 bg-dark-800 p-4">
<div className="text-2xl font-bold text-yellow-400">{pendingCount}</div> <div className="text-2xl font-bold text-warning-400">{pendingCount}</div>
<div className="text-sm text-dark-400"> <div className="text-sm text-dark-400">
{t('admin.withdrawals.overview.pendingCount')} {t('admin.withdrawals.overview.pendingCount')}
</div> </div>
</div> </div>
<div className="rounded-xl border border-dark-700 bg-dark-800 p-4"> <div className="rounded-xl border border-dark-700 bg-dark-800 p-4">
<div className="text-2xl font-bold text-yellow-400"> <div className="text-2xl font-bold text-warning-400">
{formatWithCurrency(pendingTotal / 100, 0)} {formatWithCurrency(pendingTotal / 100, 0)}
</div> </div>
<div className="text-sm text-dark-400"> <div className="text-sm text-dark-400">

View File

@@ -24,8 +24,8 @@ export type StatusBadge = { labelKey: string; color: string; bgColor: string };
export const withdrawalStatusBadgeConfig: Record<string, StatusBadge> = { export const withdrawalStatusBadgeConfig: Record<string, StatusBadge> = {
pending: { pending: {
labelKey: 'admin.withdrawals.status.pending', labelKey: 'admin.withdrawals.status.pending',
color: 'text-yellow-400', color: 'text-warning-400',
bgColor: 'bg-yellow-500/20', bgColor: 'bg-warning-500/20',
}, },
approved: { approved: {
labelKey: 'admin.withdrawals.status.approved', labelKey: 'admin.withdrawals.status.approved',
@@ -62,7 +62,8 @@ export function getWithdrawalStatusBadge(status: string): StatusBadge {
export function getRiskColor(score: number): { text: string; bg: string; bar: string } { export function getRiskColor(score: number): { text: string; bg: string; bar: string } {
if (score < 30) if (score < 30)
return { text: 'text-success-400', bg: 'bg-success-500/20', bar: 'bg-success-500' }; return { text: 'text-success-400', bg: 'bg-success-500/20', bar: 'bg-success-500' };
if (score < 50) return { text: 'text-yellow-400', bg: 'bg-yellow-500/20', bar: 'bg-yellow-500' }; if (score < 50)
return { text: 'text-warning-400', bg: 'bg-warning-500/20', bar: 'bg-warning-500' };
if (score < 70) return { text: 'text-orange-400', bg: 'bg-orange-500/20', bar: 'bg-orange-500' }; if (score < 70) return { text: 'text-orange-400', bg: 'bg-orange-500/20', bar: 'bg-orange-500' };
return { text: 'text-error-400', bg: 'bg-error-500/20', bar: 'bg-error-500' }; return { text: 'text-error-400', bg: 'bg-error-500/20', bar: 'bg-error-500' };
} }
@@ -72,7 +73,7 @@ export function getRiskLevelColor(level: string): { text: string; bg: string } {
case 'low': case 'low':
return { text: 'text-success-400', bg: 'bg-success-500/20' }; return { text: 'text-success-400', bg: 'bg-success-500/20' };
case 'medium': case 'medium':
return { text: 'text-yellow-400', bg: 'bg-yellow-500/20' }; return { text: 'text-warning-400', bg: 'bg-warning-500/20' };
case 'high': case 'high':
return { text: 'text-orange-400', bg: 'bg-orange-500/20' }; return { text: 'text-orange-400', bg: 'bg-orange-500/20' };
case 'critical': case 'critical':