Initial SuperAdmin web panel (Vue 3)

This commit is contained in:
SuperAdmin
2026-07-23 10:24:50 +03:30
commit 0f94a49b8d
63 changed files with 4762 additions and 0 deletions
+174
View File
@@ -0,0 +1,174 @@
import type { ThemeConfig } from 'ant-design-vue/es/config-provider/context'
/** Soft light dashboard theme inspired by the reference UI */
export const saTheme: ThemeConfig = {
token: {
fontFamily: "'Dana', Tahoma, sans-serif",
colorPrimary: '#20c997',
colorInfo: '#7c5cfc',
colorSuccess: '#20c997',
colorWarning: '#ffb84d',
colorError: '#ff6b6b',
borderRadius: 16,
controlHeight: 42,
controlHeightLG: 48,
colorBgContainer: '#ffffff',
colorBgLayout: '#eef2f7',
colorText: '#2d3748',
colorTextSecondary: '#8b95a8',
colorBorder: '#e8eef5',
colorLink: '#20c997',
},
components: {
Button: {
primaryShadow: '0 10px 24px rgba(32, 201, 151, 0.28)',
fontWeight: 600,
borderRadius: 14,
},
Card: {
borderRadiusLG: 24,
},
Input: {
borderRadius: 14,
controlHeight: 44,
},
},
}
export const colorPalettes = [
{
id: 'navy-gold',
name: 'سرمه‌ای طلایی',
colors: {
primary: '#0A1B37',
secondary: '#e3b056',
tertiary: '#ce9d43',
background: '#ffffff',
surface: '#222228',
surfaceHover: '#2c2c34',
textPrimary: '#ffffff',
textSecondary: 'rgba(255, 255, 255, 0.45)',
textSubtle: 'rgba(255, 255, 255, 0.35)',
border: 'rgba(255, 255, 255, 0.16)',
borderSubtle: 'rgba(255, 255, 255, 0.12)',
pageBg: '#121216',
pageBgMobile: '#0e0e12',
onAccent: '#0a0a0a',
success: '#16A34A',
warning: '#F59E0B',
danger: '#DC2626',
},
},
{
id: 'deep-emerald',
name: 'زمردی تیره',
colors: {
primary: '#064e3b',
secondary: '#fbbf24',
tertiary: '#d97706',
background: '#ffffff',
surface: '#14201c',
surfaceHover: '#1c2c26',
textPrimary: '#ffffff',
textSecondary: 'rgba(255, 255, 255, 0.5)',
textSubtle: 'rgba(255, 255, 255, 0.35)',
border: 'rgba(255, 255, 255, 0.14)',
borderSubtle: 'rgba(255, 255, 255, 0.1)',
pageBg: '#0b1411',
pageBgMobile: '#08100d',
onAccent: '#052e24',
success: '#22c55e',
warning: '#f59e0b',
danger: '#ef4444',
},
},
{
id: 'royal-blue',
name: 'آبی سلطنتی',
colors: {
primary: '#1e3a8a',
secondary: '#f59e0b',
tertiary: '#d97706',
background: '#ffffff',
surface: '#1a2238',
surfaceHover: '#243049',
textPrimary: '#ffffff',
textSecondary: 'rgba(255, 255, 255, 0.48)',
textSubtle: 'rgba(255, 255, 255, 0.34)',
border: 'rgba(255, 255, 255, 0.15)',
borderSubtle: 'rgba(255, 255, 255, 0.1)',
pageBg: '#0f1524',
pageBgMobile: '#0b101c',
onAccent: '#0f172a',
success: '#16a34a',
warning: '#f59e0b',
danger: '#dc2626',
},
},
{
id: 'warm-bronze',
name: 'برنز گرم',
colors: {
primary: '#3f2a1a',
secondary: '#d4a373',
tertiary: '#b08968',
background: '#fffaf5',
surface: '#2a211c',
surfaceHover: '#352a23',
textPrimary: '#ffffff',
textSecondary: 'rgba(255, 255, 255, 0.5)',
textSubtle: 'rgba(255, 255, 255, 0.35)',
border: 'rgba(255, 255, 255, 0.14)',
borderSubtle: 'rgba(255, 255, 255, 0.1)',
pageBg: '#16110e',
pageBgMobile: '#120e0b',
onAccent: '#1c1410',
success: '#16a34a',
warning: '#f59e0b',
danger: '#dc2626',
},
},
{
id: 'light-clean',
name: 'روشن تمیز',
colors: {
primary: '#0f172a',
secondary: '#20c997',
tertiary: '#168f81',
background: '#ffffff',
surface: '#f8fafc',
surfaceHover: '#f1f5f9',
textPrimary: '#0f172a',
textSecondary: 'rgba(15, 23, 42, 0.55)',
textSubtle: 'rgba(15, 23, 42, 0.4)',
border: 'rgba(15, 23, 42, 0.12)',
borderSubtle: 'rgba(15, 23, 42, 0.08)',
pageBg: '#eef2f7',
pageBgMobile: '#e8edf5',
onAccent: '#ffffff',
success: '#16a34a',
warning: '#f59e0b',
danger: '#dc2626',
},
},
] as const
export const colorFieldLabels: Record<string, string> = {
primary: 'اصلی',
secondary: 'ثانویه / اکسنت',
tertiary: 'سوم',
background: 'پس‌زمینه روشن',
surface: 'سطح',
surfaceHover: 'سطح هاور',
textPrimary: 'متن اصلی',
textSecondary: 'متن فرعی',
textSubtle: 'متن کم‌رنگ',
border: 'حاشیه',
borderSubtle: 'حاشیه ظریف',
pageBg: 'پس‌زمینه صفحه',
pageBgMobile: 'پس‌زمینه موبایل',
onAccent: 'متن روی اکسنت',
success: 'موفق',
warning: 'هشدار',
danger: 'خطا',
}