refactor(theming): replace green-* / emerald-* with success-* tokens

Sweep: text/bg/border/ring/from/to/via/fill/stroke/shadow-{green,emerald}-N → success-N
(all were semantic success/active/paid states).
This commit is contained in:
c0mrade
2026-05-26 11:09:28 +03:00
parent 9c5e38b594
commit cb7693e3ff
5 changed files with 10 additions and 10 deletions

View File

@@ -226,7 +226,7 @@ export function AnalyticsTab() {
<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="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-blue-500/20 to-green-500/20">
<div className="flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-xl bg-gradient-to-br from-blue-500/20 to-success-500/20">
<svg className="h-5 w-5 text-blue-400" viewBox="0 0 24 24" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03A17.52 17.52 0 0014.07 6H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z" />
</svg>

View File

@@ -323,7 +323,7 @@ export default function TvQuickConnect({ subscriptionUrl, isLight }: Props) {
{toast && (
<div
className={`fixed bottom-6 left-1/2 z-50 -translate-x-1/2 rounded-xl px-5 py-3 text-sm font-medium shadow-lg transition-all ${
toast.type === 'success' ? 'bg-emerald-500/90 text-white' : 'bg-error-500/90 text-white'
toast.type === 'success' ? 'bg-success-500/90 text-white' : 'bg-error-500/90 text-white'
}`}
>
{toast.text}

View File

@@ -42,7 +42,7 @@ function StatusBadge({
}
const color = isActive
? 'bg-emerald-400/15 text-emerald-400 border-emerald-400/20'
? 'bg-success-400/15 text-success-400 border-success-400/20'
: isLimited
? 'bg-amber-400/15 text-amber-400 border-amber-400/20'
: 'bg-error-400/15 text-error-400 border-error-400/20';
@@ -100,7 +100,7 @@ export default function SubscriptionListCard({
? 'bg-error-400'
: trafficPercent >= 70
? 'bg-amber-400'
: 'bg-emerald-400';
: 'bg-success-400';
const isLimitedStatus = subscription.status === 'limited';
@@ -211,7 +211,7 @@ export default function SubscriptionListCard({
: t('subscription.autopay', 'Автопродление');
return (
<span
className={`flex items-center gap-1 ${enabled ? 'text-emerald-400/70' : 'text-error-400/50'}`}
className={`flex items-center gap-1 ${enabled ? 'text-success-400/70' : 'text-error-400/50'}`}
>
<svg
className="h-3 w-3"

View File

@@ -48,7 +48,7 @@ interface StatusBadgeProps {
function StatusBadge({ status }: StatusBadgeProps) {
const styles: Record<string, string> = {
paid: 'bg-green-500/20 text-green-400',
paid: 'bg-success-500/20 text-success-400',
pending: 'bg-amber-500/20 text-amber-400',
cancelled: 'bg-error-500/20 text-error-400',
};
@@ -77,7 +77,7 @@ function StatCard({ label, value, color, isActive, onClick }: StatCardProps) {
const colors: Record<string, string> = {
blue: 'border-accent-500/30 bg-accent-500/20 text-accent-400',
amber: 'border-amber-500/30 bg-amber-500/20 text-amber-400',
green: 'border-green-500/30 bg-green-500/20 text-green-400',
green: 'border-success-500/30 bg-success-500/20 text-success-400',
red: 'border-error-500/30 bg-error-500/20 text-error-400',
};
@@ -457,7 +457,7 @@ export default function AdminPayments() {
{payment.method_display}
</span>
{payment.is_paid && (
<span className="rounded-full bg-green-500/20 px-2 py-0.5 text-xs font-medium text-green-400">
<span className="rounded-full bg-success-500/20 px-2 py-0.5 text-xs font-medium text-success-400">
{t('admin.payments.paid')}
</span>
)}
@@ -587,7 +587,7 @@ export default function AdminPayments() {
<div
className={`mt-3 rounded-lg p-2 text-sm ${
checkPaymentMutation.data?.status_changed
? 'border border-green-500/30 bg-green-500/10 text-green-400'
? 'border border-success-500/30 bg-success-500/10 text-success-400'
: 'bg-dark-700/30 text-dark-400'
}`}
>

View File

@@ -170,7 +170,7 @@ export default function RenewSubscription() {
{option.period_days} {t('common.units.days', 'дней')}
</span>
{option.discount_percent > 0 && (
<span className="ml-2 rounded-full bg-emerald-400/15 px-2 py-0.5 text-[10px] font-semibold text-emerald-400">
<span className="ml-2 rounded-full bg-success-400/15 px-2 py-0.5 text-[10px] font-semibold text-success-400">
-{option.discount_percent}%
</span>
)}