mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-30 02:23:47 +00:00
239 lines
5.3 KiB
TypeScript
239 lines
5.3 KiB
TypeScript
import { ThemeColors, DEFAULT_THEME_COLORS } from '../../types/theme';
|
|
|
|
// Menu item types
|
|
export interface MenuItem {
|
|
id: string;
|
|
iconType?: 'star' | null;
|
|
categories?: string[];
|
|
}
|
|
|
|
export interface MenuSection {
|
|
id: string;
|
|
items: MenuItem[];
|
|
}
|
|
|
|
// Sidebar menu configuration
|
|
export const MENU_SECTIONS: MenuSection[] = [
|
|
{
|
|
id: 'main',
|
|
items: [
|
|
{ id: 'favorites', iconType: 'star' },
|
|
{ id: 'branding', iconType: null },
|
|
{ id: 'theme', iconType: null },
|
|
{ id: 'analytics', iconType: null },
|
|
{ id: 'buttons', iconType: null },
|
|
],
|
|
},
|
|
{
|
|
id: 'settings',
|
|
items: [
|
|
{
|
|
id: 'payments',
|
|
iconType: null,
|
|
categories: [
|
|
'PAYMENT',
|
|
'PAYMENT_VERIFICATION',
|
|
'YOOKASSA',
|
|
'CRYPTOBOT',
|
|
'HELEKET',
|
|
'PLATEGA',
|
|
'TRIBUTE',
|
|
'MULENPAY',
|
|
'PAL24',
|
|
'WATA',
|
|
'TELEGRAM',
|
|
],
|
|
},
|
|
{
|
|
id: 'subscriptions',
|
|
iconType: null,
|
|
categories: [
|
|
'SUBSCRIPTIONS_CORE',
|
|
'SIMPLE_SUBSCRIPTION',
|
|
'PERIODS',
|
|
'SUBSCRIPTION_PRICES',
|
|
'TRAFFIC',
|
|
'TRAFFIC_PACKAGES',
|
|
'TRIAL',
|
|
'AUTOPAY',
|
|
],
|
|
},
|
|
{
|
|
id: 'interface',
|
|
iconType: null,
|
|
categories: [
|
|
'INTERFACE',
|
|
'INTERFACE_BRANDING',
|
|
'INTERFACE_SUBSCRIPTION',
|
|
'CONNECT_BUTTON',
|
|
'MINIAPP',
|
|
'TELEGRAM_WIDGET',
|
|
'TELEGRAM_OIDC',
|
|
'HAPP',
|
|
'SKIP',
|
|
'ADDITIONAL',
|
|
],
|
|
},
|
|
{
|
|
id: 'notifications',
|
|
iconType: null,
|
|
categories: ['NOTIFICATIONS', 'ADMIN_NOTIFICATIONS', 'ADMIN_REPORTS'],
|
|
},
|
|
{ id: 'database', iconType: null, categories: ['DATABASE', 'POSTGRES', 'SQLITE', 'REDIS'] },
|
|
{
|
|
id: 'system',
|
|
iconType: null,
|
|
categories: [
|
|
'CORE',
|
|
'REMNAWAVE',
|
|
'SERVER_STATUS',
|
|
'MONITORING',
|
|
'MAINTENANCE',
|
|
'BACKUP',
|
|
'VERSION',
|
|
'WEB_API',
|
|
'WEBHOOK',
|
|
'LOG',
|
|
'DEBUG',
|
|
'EXTERNAL_ADMIN',
|
|
],
|
|
},
|
|
{
|
|
id: 'users',
|
|
iconType: null,
|
|
categories: ['SUPPORT', 'LOCALIZATION', 'CHANNEL', 'TIMEZONE', 'REFERRAL', 'MODERATION'],
|
|
},
|
|
],
|
|
},
|
|
];
|
|
|
|
// Theme preset type
|
|
export interface ThemePreset {
|
|
id: string;
|
|
colors: ThemeColors;
|
|
}
|
|
|
|
// Theme presets
|
|
export const THEME_PRESETS: ThemePreset[] = [
|
|
{ id: 'standard', colors: DEFAULT_THEME_COLORS },
|
|
{
|
|
id: 'ocean',
|
|
colors: {
|
|
accent: '#0ea5e9',
|
|
darkBackground: '#0c1222',
|
|
darkSurface: '#1e293b',
|
|
darkText: '#f1f5f9',
|
|
darkTextSecondary: '#94a3b8',
|
|
lightBackground: '#e0f2fe',
|
|
lightSurface: '#f0f9ff',
|
|
lightText: '#0c4a6e',
|
|
lightTextSecondary: '#0369a1',
|
|
success: '#22c55e',
|
|
warning: '#f59e0b',
|
|
error: '#ef4444',
|
|
},
|
|
},
|
|
{
|
|
id: 'forest',
|
|
colors: {
|
|
accent: '#22c55e',
|
|
darkBackground: '#0a1a0f',
|
|
darkSurface: '#14532d',
|
|
darkText: '#f0fdf4',
|
|
darkTextSecondary: '#86efac',
|
|
lightBackground: '#dcfce7',
|
|
lightSurface: '#f0fdf4',
|
|
lightText: '#14532d',
|
|
lightTextSecondary: '#166534',
|
|
success: '#22c55e',
|
|
warning: '#f59e0b',
|
|
error: '#ef4444',
|
|
},
|
|
},
|
|
{
|
|
id: 'sunset',
|
|
colors: {
|
|
accent: '#f97316',
|
|
darkBackground: '#1c1009',
|
|
darkSurface: '#2d1a0e',
|
|
darkText: '#fff7ed',
|
|
darkTextSecondary: '#fdba74',
|
|
lightBackground: '#ffedd5',
|
|
lightSurface: '#fff7ed',
|
|
lightText: '#7c2d12',
|
|
lightTextSecondary: '#c2410c',
|
|
success: '#22c55e',
|
|
warning: '#f59e0b',
|
|
error: '#ef4444',
|
|
},
|
|
},
|
|
{
|
|
id: 'violet',
|
|
colors: {
|
|
accent: '#a855f7',
|
|
darkBackground: '#0f0a1a',
|
|
darkSurface: '#1e1b2e',
|
|
darkText: '#faf5ff',
|
|
darkTextSecondary: '#c4b5fd',
|
|
lightBackground: '#f3e8ff',
|
|
lightSurface: '#faf5ff',
|
|
lightText: '#581c87',
|
|
lightTextSecondary: '#7e22ce',
|
|
success: '#22c55e',
|
|
warning: '#f59e0b',
|
|
error: '#ef4444',
|
|
},
|
|
},
|
|
{
|
|
id: 'rose',
|
|
colors: {
|
|
accent: '#f43f5e',
|
|
darkBackground: '#1a0a10',
|
|
darkSurface: '#2d1520',
|
|
darkText: '#fff1f2',
|
|
darkTextSecondary: '#fda4af',
|
|
lightBackground: '#ffe4e6',
|
|
lightSurface: '#fff1f2',
|
|
lightText: '#881337',
|
|
lightTextSecondary: '#be123c',
|
|
success: '#22c55e',
|
|
warning: '#f59e0b',
|
|
error: '#ef4444',
|
|
},
|
|
},
|
|
{
|
|
id: 'midnight',
|
|
colors: {
|
|
accent: '#6366f1',
|
|
darkBackground: '#030712',
|
|
darkSurface: '#111827',
|
|
darkText: '#f9fafb',
|
|
darkTextSecondary: '#9ca3af',
|
|
lightBackground: '#e5e7eb',
|
|
lightSurface: '#f3f4f6',
|
|
lightText: '#111827',
|
|
lightTextSecondary: '#4b5563',
|
|
success: '#22c55e',
|
|
warning: '#f59e0b',
|
|
error: '#ef4444',
|
|
},
|
|
},
|
|
{
|
|
id: 'turquoise',
|
|
colors: {
|
|
accent: '#14b8a6',
|
|
darkBackground: '#0a1614',
|
|
darkSurface: '#134e4a',
|
|
darkText: '#f0fdfa',
|
|
darkTextSecondary: '#5eead4',
|
|
lightBackground: '#ccfbf1',
|
|
lightSurface: '#f0fdfa',
|
|
lightText: '#134e4a',
|
|
lightTextSecondary: '#0f766e',
|
|
success: '#22c55e',
|
|
warning: '#f59e0b',
|
|
error: '#ef4444',
|
|
},
|
|
},
|
|
];
|