// Authentication levels export const AUTH_LEVELS = { SUPERADMIN: 1, ADMIN: 2, USER: 3, } as const; export const AUTH_LEVEL_NAMES = { [AUTH_LEVELS.SUPERADMIN]: 'مدير عام', [AUTH_LEVELS.ADMIN]: 'مدير', [AUTH_LEVELS.USER]: 'مستخدم', } as const; // User status options export const USER_STATUS = { ACTIVE: 'active', INACTIVE: 'inactive', } as const; export const USER_STATUS_NAMES = { [USER_STATUS.ACTIVE]: 'نشط', [USER_STATUS.INACTIVE]: 'غير نشط', } as const; // Vehicle transmission options export const TRANSMISSION_TYPES = [ { value: 'Automatic', label: 'أوتوماتيك' }, { value: 'Manual', label: 'يدوي' }, ] as const; // Vehicle fuel types export const FUEL_TYPES = [ { value: 'Gasoline', label: 'بنزين' }, { value: 'Diesel', label: 'ديزل' }, { value: 'Hybrid', label: 'هجين' }, { value: 'Mild Hybrid', label: 'هجين خفيف' }, { value: 'Electric', label: 'كهربائي' }, ] as const; // Vehicle use types export const USE_TYPES = [ { value: 'personal', label: 'شخصي' }, { value: 'taxi', label: 'تاكسي' }, { value: 'apps', label: 'تطبيقات' }, { value: 'loading', label: 'نقل' }, { value: 'travel', label: 'سفر' }, ] as const; // Vehicle body types (common in Saudi Arabia) export const BODY_TYPES = [ { value: 'سيدان', label: 'سيدان' }, { value: 'هاتشباك', label: 'هاتشباك' }, { value: 'SUV', label: 'SUV' }, { value: 'كروس أوفر', label: 'كروس أوفر' }, { value: 'بيك أب', label: 'بيك أب' }, { value: 'كوبيه', label: 'كوبيه' }, { value: 'كونفرتيبل', label: 'كونفرتيبل' }, { value: 'فان', label: 'فان' }, { value: 'شاحنة', label: 'شاحنة' }, ] as const; // Popular car manufacturers in Saudi Arabia export const MANUFACTURERS = [ { value: 'تويوتا', label: 'تويوتا' }, { value: 'هيونداي', label: 'هيونداي' }, { value: 'نيسان', label: 'نيسان' }, { value: 'كيا', label: 'كيا' }, { value: 'هوندا', label: 'هوندا' }, { value: 'فورد', label: 'فورد' }, { value: 'شيفروليه', label: 'شيفروليه' }, { value: 'مازda', label: 'مازda' }, { value: 'ميتسوبيشي', label: 'ميتسوبيشي' }, { value: 'سوزوكي', label: 'سوزوكي' }, { value: 'لكزس', label: 'لكزس' }, { value: 'إنفينيتي', label: 'إنفينيتي' }, { value: 'جينيسيس', label: 'جينيسيس' }, { value: 'BMW', label: 'BMW' }, { value: 'مرسيدس بنز', label: 'مرسيدس بنز' }, { value: 'أودي', label: 'أودي' }, { value: 'فولكس واجن', label: 'فولكس واجن' }, { value: 'جيب', label: 'جيب' }, { value: 'لاند روفر', label: 'لاند روفر' }, { value: 'كاديلاك', label: 'كاديلاك' }, { value: 'لينكولن', label: 'لينكولن' }, { value: 'جاكوار', label: 'جاكوار' }, { value: 'بورش', label: 'بورش' }, { value: 'فيراري', label: 'فيراري' }, { value: 'لامبورغيني', label: 'لامبورغيني' }, { value: 'بنتلي', label: 'بنتلي' }, { value: 'رولز رويس', label: 'رولز رويس' }, { value: 'أخرى', label: 'أخرى' }, ] as const; // Payment status options export const PAYMENT_STATUS = { PENDING: 'pending', PAID: 'paid', PARTIAL: 'partial', CANCELLED: 'cancelled', } as const; export const PAYMENT_STATUS_NAMES = { [PAYMENT_STATUS.PENDING]: 'معلق', [PAYMENT_STATUS.PAID]: 'مدفوع', [PAYMENT_STATUS.PARTIAL]: 'مدفوع جزئياً', [PAYMENT_STATUS.CANCELLED]: 'ملغي', } as const; // Maintenance visit delay options (in months) export const VISIT_DELAY_OPTIONS = [ { value: 1, label: 'شهر واحد' }, { value: 2, label: 'شهرين' }, { value: 3, label: 'ثلاثة أشهر' }, { value: 4, label: 'أربعة أشهر' }, ] as const; // Common maintenance types export const MAINTENANCE_TYPES = [ { value: 'تغيير زيت', label: 'تغيير زيت' }, { value: 'فحص دوري', label: 'فحص دوري' }, { value: 'تغيير فلاتر', label: 'تغيير فلاتر' }, { value: 'فحص فرامل', label: 'فحص فرامل' }, { value: 'تغيير إطارات', label: 'تغيير إطارات' }, { value: 'فحص بطارية', label: 'فحص بطارية' }, { value: 'تنظيف مكيف', label: 'تنظيف مكيف' }, { value: 'فحص محرك', label: 'فحص محرك' }, { value: 'تغيير شمعات', label: 'تغيير شمعات' }, { value: 'فحص ناقل حركة', label: 'فحص ناقل حركة' }, { value: 'إصلاح عام', label: 'إصلاح عام' }, { value: 'أخرى', label: 'أخرى' }, ] as const; // Expense categories export const EXPENSE_CATEGORIES = [ { value: 'قطع غيار', label: 'قطع غيار' }, { value: 'أدوات', label: 'أدوات' }, { value: 'إيجار', label: 'إيجار' }, { value: 'كهرباء', label: 'كهرباء' }, { value: 'ماء', label: 'ماء' }, { value: 'رواتب', label: 'رواتب' }, { value: 'تأمين', label: 'تأمين' }, { value: 'وقود', label: 'وقود' }, { value: 'صيانة معدات', label: 'صيانة معدات' }, { value: 'تسويق', label: 'تسويق' }, { value: 'مصاريف إدارية', label: 'مصاريف إدارية' }, { value: 'أخرى', label: 'أخرى' }, ] as const; // Date format options export const DATE_FORMATS = { SHORT: 'dd/MM/yyyy', LONG: 'dd MMMM yyyy', WITH_TIME: 'dd/MM/yyyy HH:mm', } as const; // Pagination defaults export const PAGINATION = { DEFAULT_PAGE_SIZE: 10, PAGE_SIZE_OPTIONS: [10, 25, 50, 100], } as const; // Validation constants export const VALIDATION = { MIN_PASSWORD_LENGTH: 6, MAX_NAME_LENGTH: 100, MAX_DESCRIPTION_LENGTH: 500, MIN_YEAR: 1990, MAX_YEAR: new Date().getFullYear() + 1, MAX_CYLINDERS: 12, MAX_ENGINE_DISPLACEMENT: 10.0, MIN_COST: 0, MAX_COST: 999999.99, } as const;