boredgame/src/lib/components/search/advancedSearch/index.svelte

87 lines
1.8 KiB
Svelte
Raw Normal View History

<script lang="ts">
2022-10-26 02:19:30 +00:00
import { boredState } from '$lib/stores/boredState';
2022-10-26 02:19:30 +00:00
export let form: ActionData;
console.log('form', form);
let submitting = $boredState?.loading;
let minAge = 1;
let minPlayers = 1;
let maxPlayers = 1;
let exactMinPlayers = false;
let exactMaxPlayers = false;
</script>
2022-08-07 21:53:21 +00:00
<fieldset class="advanced-search" aria-busy={submitting} disabled={submitting}>
2022-10-26 02:19:30 +00:00
<div>
<label for="minAge">
Min Age
<input id="minAge" name="minAge" bind:value={minAge} type="number" min="1" max="120" />
</label>
</div>
<div>
<label for="minPlayers">
Min Players
<input
id="minPlayers"
name="minPlayers"
bind:value={minPlayers}
type="number"
min="1"
max="50"
/>
</label>
<label for="exactMinPlayers" style="display: flex; gap: 1rem; place-items: center;">
<span>Exact?</span>
<input
id="exactMinPlayers"
type="checkbox"
name="exactMinPlayers"
bind:checked={exactMinPlayers}
/>
</label>
{#if form?.error?.id === 'minPlayers'}
{form.error.message}
{/if}
</div>
<div>
<label for="maxPlayers">
Max Players
<input
id="maxPlayers"
name="maxPlayers"
bind:value={maxPlayers}
type="number"
min="1"
max="50"
/>
</label>
<label for="exactMaxPlayers" style="display: flex; gap: 1rem; place-items: center;">
<span>Exact?</span>
<input
id="exactMaxPlayers"
type="checkbox"
name="exactMaxPlayers"
bind:checked={exactMaxPlayers}
/>
</label>
</div>
2022-08-07 21:53:21 +00:00
</fieldset>
<!-- <button type="submit" disabled={submitting}>Submit</button> -->
2022-08-07 21:53:21 +00:00
<!-- </form> -->
<style lang="scss">
2022-10-26 02:19:30 +00:00
fieldset {
display: grid;
grid-template-columns: repeat(3, 1fr);
2022-10-26 02:19:30 +00:00
@media (max-width: 800px) {
grid-template-columns: 1fr;
}
}
2022-10-26 02:19:30 +00:00
label {
display: grid;
margin: 1rem;
}
</style>