Add train headcode search

This commit is contained in:
2026-04-27 23:57:04 +01:00
parent 3225b60140
commit abb8663766
7 changed files with 124 additions and 10 deletions

View File

@@ -0,0 +1,45 @@
<script lang="ts">
import { goto } from '$app/navigation';
import BaseCard from '$lib/components/ui/cards/BaseCard.svelte';
import Textbox from '$lib/components/ui/Textbox.svelte';
import Button from '$lib/components/ui/Button.svelte';
let headcode = $state('');
function handleSearch(e: SubmitEvent) {
e.preventDefault();
if (!headcode.trim()) return;
const searchParams = new URLSearchParams();
searchParams.append('h', headcode.trim().toUpperCase());
goto(`/trains?${searchParams.toString()}`)
}
</script>
<BaseCard header={'Search Train & PIS'}>
<form onsubmit={handleSearch} class="card-content">
<Textbox
placeholder="Enter Headcode"
bind:value={headcode}
maxLength={4}
/>
<Button
type="submit"
disabled={!headcode}
>Search</Button>
</form>
</BaseCard>
<style>
.card-content {
text-align: center;
width: 90%;
margin: auto;
padding: 10px 0 10px 0;
display: flex;
flex-direction: column;
gap: 0.75rem;
}
</style>