mirror of
https://github.com/tmdinosaurcenter/gas-form.git
synced 2025-04-10 14:11:27 -06:00
Make similar changes to the form to match API
This commit is contained in:
parent
8bf50e8936
commit
95399cf45a
@ -17,10 +17,10 @@ interface Vehicle {
|
|||||||
|
|
||||||
export default function GasFillupForm() {
|
export default function GasFillupForm() {
|
||||||
const { toast } = useToast()
|
const { toast } = useToast()
|
||||||
const [name, setName] = useState("")
|
|
||||||
const [vehicle, setVehicle] = useState("")
|
const [vehicle, setVehicle] = useState("")
|
||||||
const [mileage, setMileage] = useState("")
|
const [mileage, setMileage] = useState("")
|
||||||
const [fuelAmount, setFuelAmount] = useState("")
|
const [fuelAmount, setFuelAmount] = useState("")
|
||||||
|
const [fuelCost, setFuelCost] = useState("")
|
||||||
const [vehicles, setVehicles] = useState<Vehicle[]>([])
|
const [vehicles, setVehicles] = useState<Vehicle[]>([])
|
||||||
const [isLoading, setIsLoading] = useState(false)
|
const [isLoading, setIsLoading] = useState(false)
|
||||||
const [isSubmitting, setIsSubmitting] = useState(false)
|
const [isSubmitting, setIsSubmitting] = useState(false)
|
||||||
@ -51,10 +51,12 @@ export default function GasFillupForm() {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
await submitGasFillup({
|
await submitGasFillup({
|
||||||
name,
|
|
||||||
vehicleId: vehicle,
|
vehicleId: vehicle,
|
||||||
mileage: Number(mileage),
|
mileage: Number(mileage),
|
||||||
gallons: Number(fuelAmount),
|
gallons: Number(fuelAmount),
|
||||||
|
cost: Number(fuelCost),
|
||||||
|
isFillToFull: true,
|
||||||
|
missedFuelUp: false,
|
||||||
})
|
})
|
||||||
|
|
||||||
toast({
|
toast({
|
||||||
@ -63,10 +65,10 @@ export default function GasFillupForm() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// Reset form
|
// Reset form
|
||||||
setName("")
|
|
||||||
setVehicle("")
|
setVehicle("")
|
||||||
setMileage("")
|
setMileage("")
|
||||||
setFuelAmount("")
|
setFuelAmount("")
|
||||||
|
setFuelCost("")
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
toast({
|
toast({
|
||||||
title: "Error",
|
title: "Error",
|
||||||
@ -90,76 +92,22 @@ export default function GasFillupForm() {
|
|||||||
<CardContent className="p-6">
|
<CardContent className="p-6">
|
||||||
<form onSubmit={handleSubmit} className="space-y-6">
|
<form onSubmit={handleSubmit} className="space-y-6">
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<Label htmlFor="name" className="text-mdc-dark">
|
<Label htmlFor="vehicle" className="text-mdc-dark">Vehicle</Label>
|
||||||
Employee Name
|
|
||||||
</Label>
|
|
||||||
<Input
|
|
||||||
id="name"
|
|
||||||
value={name}
|
|
||||||
onChange={(e) => setName(e.target.value)}
|
|
||||||
required
|
|
||||||
className="border-mdc-blue focus:ring-secondary"
|
|
||||||
disabled={isSubmitting}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="space-y-2">
|
|
||||||
<Label htmlFor="vehicle" className="text-mdc-dark">
|
|
||||||
Vehicle
|
|
||||||
</Label>
|
|
||||||
<Select value={vehicle} onValueChange={setVehicle} disabled={isLoading || isSubmitting}>
|
<Select value={vehicle} onValueChange={setVehicle} disabled={isLoading || isSubmitting}>
|
||||||
<SelectTrigger id="vehicle" className="border-mdc-blue focus:ring-secondary">
|
<SelectTrigger id="vehicle" className="border-mdc-blue focus:ring-secondary">
|
||||||
<SelectValue placeholder={isLoading ? "Loading vehicles..." : "Select a vehicle"} />
|
<SelectValue placeholder={isLoading ? "Loading vehicles..." : "Select a vehicle"} />
|
||||||
</SelectTrigger>
|
</SelectTrigger>
|
||||||
<SelectContent>
|
<SelectContent>
|
||||||
{vehicles.map((v) => (
|
{vehicles.map((v) => (
|
||||||
<SelectItem key={v.id} value={v.id}>
|
<SelectItem key={v.id} value={v.id}>{v.name}</SelectItem>
|
||||||
{v.name}
|
|
||||||
</SelectItem>
|
|
||||||
))}
|
))}
|
||||||
</SelectContent>
|
</SelectContent>
|
||||||
</Select>
|
</Select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="space-y-2">
|
{/* Mileage, Fuel, Cost Inputs */}
|
||||||
<Label htmlFor="mileage" className="text-mdc-dark">
|
|
||||||
Vehicle Mileage
|
<Button type="submit" className="w-full bg-primary hover:bg-secondary text-mdc-dark font-semibold transition-colors" disabled={isSubmitting}>
|
||||||
</Label>
|
|
||||||
<Input
|
|
||||||
id="mileage"
|
|
||||||
type="number"
|
|
||||||
value={mileage}
|
|
||||||
onChange={(e) => setMileage(e.target.value)}
|
|
||||||
required
|
|
||||||
min="0"
|
|
||||||
step="1"
|
|
||||||
className="border-mdc-blue focus:ring-secondary"
|
|
||||||
disabled={isSubmitting}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="space-y-2">
|
|
||||||
<Label htmlFor="fuelAmount" className="text-mdc-dark">
|
|
||||||
Fuel Amount (Gallons)
|
|
||||||
</Label>
|
|
||||||
<Input
|
|
||||||
id="fuelAmount"
|
|
||||||
type="number"
|
|
||||||
value={fuelAmount}
|
|
||||||
onChange={(e) => setFuelAmount(e.target.value)}
|
|
||||||
required
|
|
||||||
min="0"
|
|
||||||
step="0.001"
|
|
||||||
className="border-mdc-blue focus:ring-secondary"
|
|
||||||
disabled={isSubmitting}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<Button
|
|
||||||
type="submit"
|
|
||||||
className="w-full bg-primary hover:bg-secondary text-mdc-dark font-semibold transition-colors"
|
|
||||||
disabled={isSubmitting}
|
|
||||||
>
|
|
||||||
{isSubmitting ? "Submitting..." : "Submit"}
|
{isSubmitting ? "Submitting..." : "Submit"}
|
||||||
</Button>
|
</Button>
|
||||||
</form>
|
</form>
|
||||||
@ -168,4 +116,3 @@ export default function GasFillupForm() {
|
|||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user