From 6e7eb36f761532202e89b690d0e6b6876e5cef5e Mon Sep 17 00:00:00 2001 From: c0mrade Date: Fri, 6 Feb 2026 19:37:07 +0300 Subject: [PATCH] fix: standardize admin form inputs, validation, and sync with backend constraints - Unified all inputs to use .input CSS class, consistent label styles, and btn-primary/btn-secondary buttons - Fixed number inputs to use number | '' pattern allowing field clearing without default replacement - Added field-level validation with inline error borders and messages - Synced frontend constraints with backend Pydantic schemas (maxLength, min/max values) - Fixed toggle switch dimensions across all admin forms --- src/pages/AdminBanSystem.tsx | 6 +- src/pages/AdminCampaignCreate.tsx | 24 +++- src/pages/AdminCampaignEdit.tsx | 24 +++- src/pages/AdminEmailTemplates.tsx | 8 +- src/pages/AdminPaymentMethodEdit.tsx | 35 ++--- src/pages/AdminPromoGroupCreate.tsx | 60 ++++---- src/pages/AdminPromoOfferSend.tsx | 19 ++- src/pages/AdminPromoOfferTemplateEdit.tsx | 42 +++--- src/pages/AdminPromocodeCreate.tsx | 29 +--- src/pages/AdminServerEdit.tsx | 18 +-- src/pages/AdminTicketSettings.tsx | 113 +++++++++++---- src/pages/AdminUserDetail.tsx | 46 +++--- src/pages/AdminWheel.tsx | 167 +++++++++++++++------- 13 files changed, 364 insertions(+), 227 deletions(-) diff --git a/src/pages/AdminBanSystem.tsx b/src/pages/AdminBanSystem.tsx index 89f11d2..39932fc 100644 --- a/src/pages/AdminBanSystem.tsx +++ b/src/pages/AdminBanSystem.tsx @@ -675,7 +675,7 @@ export default function AdminBanSystem() { onChange={(e) => setSearchQuery(e.target.value)} onKeyDown={(e) => e.key === 'Enter' && handleSearch()} placeholder={t('banSystem.users.searchPlaceholder')} - className="w-full rounded-lg border border-dark-700 bg-dark-800 py-2 pl-10 pr-4 text-dark-100 placeholder-dark-500 focus:border-accent-500 focus:outline-none" + className="input pl-10" />