import { AreaSelect, FloorSelect, priorityEnumSchema, ProjectMaterialsSelect, statusEnumSchema } from "@/database/schema";
import { Task, TaskStatus } from "@/server/task/domain/models";
export interface SelectedTask {
id:string
projectId: string;
floorName: string;
areaName: string;
projectName: string;
status:TaskStatus
userId: string;
areaId: string;
priority: any;
startDate: string;
expireDate?: string;
comments?: string;
}
type Area = {
id: number;
type: string;
length: number;
width: number;
quantity: number;
floorId: number;
status: string;
};
type Floor = {
id: number;
name: string;
areas: Area[];
};
type Material = {
id: number;
name: string;
};
type ProjectFloors = {
id:number,
name:string,
areas:Partial<AreaSelect>
}
export type Project = {
id: number;
name: string;
residence: string;
costPerMeter: number;
totalCostPerMeter: number | null;
totalCostMaterials: number | null;
laborCost: number;
startDate: string;
typeCotization: string;
estimadedEndDate: string;
status: string;
createdAT: string;
updatedAt: string | null;
floor: ProjectFloors[];
projectMaterials: Partial<ProjectMaterialsSelect>[];
task: Task[];
};
export type Label = 'Recientes' | 'Hoy' | "Esta semana" | "Mas tarde"
export type TaskSection = {
label: Label;
list: Task[]; // Cambia 'any' por el tipo específico de los elementos si lo conoces.
};
export type TaskSections = {
recently: TaskSection;
today: TaskSection;
thisWeek: TaskSection;
later: TaskSection;
};