export type PromotionType = 'slider' | 'action' | 'paid_app' | 'banner'; export const PROMOTION_TYPES = { slider: 'اسلایدر', action: 'اکشن', paid_app: 'اپلیکیشن پولی', banner: 'بنر' } as const; export interface Promotion { id: number; type: PromotionType; title: string | null; image_url:string | null; subtitle: string | null; image: string | null; action_text: string | null; url_myket: string | null; url_bazzar: string | null; url_google_play: string | null; url_site: string | null; is_active: boolean; priority: number | null; start_at: string | null; end_at: string | null; created_at: string; updated_at: string; } export interface CreatePromotionData { type: PromotionType; title?: string | null; subtitle?: string | null; image?: File | null; action_text?: string | null; url_myket?: string | null; url_bazzar?: string | null; url_google_play?: string | null; url_site?: string | null; priority?: number | null; start_at?: string | null; end_at?: string | null; } export interface UpdatePromotionData { type?: PromotionType; title?: string | null; subtitle?: string | null; image?: File | null; action_text?: string | null; url_myket?: string | null; url_bazzar?: string | null; url_google_play?: string | null; url_site?: string | null; is_active?: boolean; priority?: number | null; start_at?: string | null; end_at?: string | null; } export interface ApiResponse { data: T; message?: string; status?: number; } export const getPromotionTypeLabel = (type: PromotionType): string => { return PROMOTION_TYPES[type] || type; };