fix data table

This commit is contained in:
natib21
2026-06-20 09:38:12 +00:00
parent abccdffc38
commit 963392edb3
4 changed files with 46 additions and 6 deletions

View File

@@ -299,6 +299,34 @@ const FleetResourcePage = () => {
}
};
const handleAssignDriver = async () => {
if (!assigningDriver || !("id" in assigningDriver) || !selectedDriver) return;
try {
const selectedDriverRecord = (drivers as Array<Record<string, unknown>>).find(
(d) => String(d.id) === selectedDriver
);
if (!selectedDriverRecord) return;
const driverName = `${selectedDriverRecord.firstName} ${selectedDriverRecord.lastName}`;
await update.mutateAsync({
id: String(assigningDriver.id),
data: {
assignedDriverId: selectedDriver,
assignedDriverName: driverName,
},
});
toast({ title: "Driver assigned successfully" });
setAssigningDriver(null);
setSelectedDriver("");
} catch (err: unknown) {
const message =
(err as { response?: { data?: { message?: string } } })?.response?.data?.message ??
"Assignment failed";
toast({ title: "Assignment failed", description: String(message), variant: "destructive" });
}
};
const itemLabel = config.label.toLowerCase();
return (
@@ -519,12 +547,9 @@ const FleetResourcePage = () => {
Cancel
</Button>
<Button
onClick={() => {
toast({ title: "Driver assigned successfully" });
setAssigningDriver(null);
setSelectedDriver("");
}}
onClick={handleAssignDriver}
disabled={!selectedDriver}
loading={update.isPending}
>
Assign
</Button>

View File

@@ -55,6 +55,7 @@ export const vehiclesConfig: FleetResourceConfig = {
{ id: "year", header: "Year", accessorKey: "year", format: "number", size: 80 },
{ id: "fuelType", header: "Fuel Type", accessorKey: "fuelType", format: "code", size: 110 },
{ id: "capacity", header: "Capacity (tons)", accessorKey: "capacity", format: "number", size: 130 },
{ id: "assignedDriverName", header: "Assigned Driver", accessorKey: "assignedDriverName", format: "code", size: 140 },
{ id: "status", header: "Status", accessorKey: "status", format: "statusBadge", size: 100 },
],
formFields: [