analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
41 lines • 1.41 kB
TypeScript
export interface RecipientItem {
id: string;
name: string;
[key: string]: unknown;
}
export interface RecipientCategory {
key: string;
label: string;
availableItems: RecipientItem[];
selectedIds: string[];
allSelected: boolean;
parentKey?: string;
dependsOn?: string[];
}
interface AlertFormData {
title: string;
message: string;
image: File | string | null;
date: string;
time: string;
sendToday: boolean;
sendCopyToEmail: boolean;
recipientCategories: Record<string, RecipientCategory>;
}
interface AlertFormStore extends AlertFormData {
setTitle: (title: string) => void;
setMessage: (message: string) => void;
setImage: (image: File | string | null) => void;
setDate: (date: string) => void;
setTime: (time: string) => void;
setSendToday: (sendToday: boolean) => void;
setSendCopyToEmail: (sendCopyToEmail: boolean) => void;
initializeCategory: (category: RecipientCategory) => void;
updateCategoryItems: (key: string, items: RecipientItem[]) => void;
updateCategorySelection: (key: string, selectedIds: string[], allSelected: boolean) => void;
clearCategorySelection: (key: string) => void;
resetForm: () => void;
}
export declare const useAlertFormStore: import("zustand").UseBoundStore<import("zustand").StoreApi<AlertFormStore>>;
export {};
//# sourceMappingURL=useAlertForm.d.ts.map