50 lines
1.1 KiB
TypeScript
50 lines
1.1 KiB
TypeScript
export type ReminderType = 'reminder' | 'motivate';
|
|
|
|
export const REMINDER_TYPES = {
|
|
reminder: 'یادآوری',
|
|
motivate: 'انگیزشی'
|
|
} as const;
|
|
|
|
export interface Reminder {
|
|
id: number;
|
|
title: string;
|
|
description: string | null;
|
|
time: string;
|
|
repeatable: boolean;
|
|
repeat_days: number | null;
|
|
data: any | null;
|
|
type: ReminderType;
|
|
package_name?: string;
|
|
created_at: string;
|
|
updated_at: string;
|
|
}
|
|
|
|
export interface CreateReminderData {
|
|
title: string;
|
|
description?: string | null;
|
|
time: string;
|
|
repeatable?: boolean;
|
|
repeat_days?: number | null;
|
|
data?: any | null;
|
|
type: ReminderType;
|
|
}
|
|
|
|
export interface UpdateReminderData {
|
|
title?: string;
|
|
description?: string | null;
|
|
time?: string;
|
|
repeatable?: boolean;
|
|
repeat_days?: number | null;
|
|
data?: any | null;
|
|
type?: ReminderType;
|
|
}
|
|
|
|
export interface ApiResponse<T> {
|
|
data: T;
|
|
message?: string;
|
|
status?: number;
|
|
}
|
|
|
|
export const getReminderTypeLabel = (type: ReminderType): string => {
|
|
return REMINDER_TYPES[type] || type;
|
|
}; |