feat: deleting vehicles
Some checks failed
TrafficCue CI / check (push) Failing after 1m39s
TrafficCue CI / build-android (push) Has been cancelled
TrafficCue CI / build (push) Has been cancelled

This commit is contained in:
2025-09-30 09:54:52 +02:00
parent 1215c2ffb8
commit c2ab32c281

View File

@ -17,6 +17,7 @@
} from "$lib/vehicles/vehicles.svelte";
import AddVehicleDrawer from "./AddVehicleDrawer.svelte";
import { m } from "$lang/messages";
import { updateStore } from "$lib/services/stores.svelte";
let open = $state(false);
@ -56,18 +57,26 @@
</Drawer.Header>
<div class="p-4 pt-0 flex flex-col gap-2">
{#each vehicles.current as vehicle (vehicle.name)}
<Button
variant={selectedVehicle() === vehicle.data ? "default" : "secondary"}
class="w-full p-5"
onclick={() => {
selectVehicle(vehicle.data);
open = false;
}}
>
{@const Icon = getVehicleIcon(vehicle.data.type)}
<Icon />
{vehicle.data.name}
</Button>
<div class="flex items-center gap-2">
<Button
variant={selectedVehicle() === vehicle.data ? "default" : "secondary"}
class="w-[calc(100%-48px-8px)] p-5"
onclick={() => {
selectVehicle(vehicle.data);
open = false;
}}
>
{@const Icon = getVehicleIcon(vehicle.data.type)}
<Icon />
{vehicle.data.name}
</Button>
<Button variant="destructive" class="w-[48px]" onclick={() => {
if(!confirm("Are you sure you want to delete this vehicle? This action cannot be undone.")) return;
updateStore({ type: "vehicle", name: vehicle.name }, null);
}}>
X
</Button>
</div>
{/each}
<AddVehicleDrawer>