// routes/tenant/maintenance/index.tsx import { define } from "../../../utils.ts"; import { getMaintenanceRequestsByUser } from "../../../services/maintenanceRequestService.ts"; import { page } from "fresh"; import { MaintenanceRequest } from "../../../db/interfaces.ts"; export const handler = define.handlers({ async GET(ctx) { const { user_id } = ctx.state.data; const url = new URL(ctx.req.url); const success = url.searchParams.get("success"); try { const maintenanceRequests = await getMaintenanceRequestsByUser(user_id); return page({ maintenanceRequests, success: success === "true", }); } catch (error) { console.error("Error loading maintenance requests:", error); return page({ error: "Failed to load maintenance requests", }); } }, }); export default define.page(function TenantMaintenance({ data }) { const { maintenanceRequests, success, error } = data as { maintenanceRequests: MaintenanceRequest[]; success?: boolean; error?: string; }; return (
Track your property maintenance requests
{request.description}
For emergencies (gas leaks, electrical hazards, flooding, no heat in winter, security issues), call the emergency maintenance line immediately: (555) 123-HELP