diff --git a/client/src/pages/sites.tsx b/client/src/pages/sites.tsx index de7d018..16d0566 100644 --- a/client/src/pages/sites.tsx +++ b/client/src/pages/sites.tsx @@ -1,6 +1,6 @@ import { useState } from "react"; import { useQuery, useMutation } from "@tanstack/react-query"; -import { Site, InsertSite, Customer } from "@shared/schema"; +import { Site, InsertSite, Customer, ServiceType } from "@shared/schema"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog"; @@ -18,13 +18,6 @@ import { StatusBadge } from "@/components/status-badge"; import { Badge } from "@/components/ui/badge"; import { Skeleton } from "@/components/ui/skeleton"; -const shiftTypeLabels: Record = { - fixed_post: "Presidio Fisso", - patrol: "Pattugliamento", - night_inspection: "Ispettorato Notturno", - quick_response: "Pronto Intervento", -}; - const locationLabels: Record = { roccapiemonte: "Roccapiemonte", milano: "Milano", @@ -44,6 +37,10 @@ export default function Sites() { queryKey: ["/api/customers"], }); + const { data: serviceTypes } = useQuery({ + queryKey: ["/api/service-types"], + }); + const form = useForm({ resolver: zodResolver(insertSiteSchema), defaultValues: { @@ -51,7 +48,7 @@ export default function Sites() { address: "", customerId: undefined, location: "roccapiemonte", - shiftType: "fixed_post", + serviceTypeId: undefined, minGuards: 1, requiresArmed: false, requiresDriverLicense: false, @@ -71,7 +68,7 @@ export default function Sites() { address: "", customerId: undefined, location: "roccapiemonte", - shiftType: "fixed_post", + serviceTypeId: undefined, minGuards: 1, requiresArmed: false, requiresDriverLicense: false, @@ -145,7 +142,7 @@ export default function Sites() { address: site.address, customerId: site.customerId ?? undefined, location: site.location, - shiftType: site.shiftType, + serviceTypeId: site.serviceTypeId ?? undefined, minGuards: site.minGuards, requiresArmed: site.requiresArmed, requiresDriverLicense: site.requiresDriverLicense, @@ -345,21 +342,22 @@ export default function Sites() { ( - Tipologia Servizio + Tipologia Servizio (opzionale) @@ -631,21 +629,22 @@ export default function Sites() { ( - Tipologia Servizio + Tipologia Servizio (opzionale) @@ -824,9 +823,14 @@ export default function Sites() {
- - {shiftTypeLabels[site.shiftType]} - + {site.serviceTypeId && serviceTypes && (() => { + const serviceType = serviceTypes.find(st => st.id === site.serviceTypeId); + return serviceType ? ( + + {serviceType.label} + + ) : null; + })()} {(() => { const status = getContractStatus(site); const statusInfo = contractStatusLabels[status];