Use shared form controls and enforce UI patterns (Refs #110)
CI / checks (push) Successful in 4m51s

This commit is contained in:
2026-10-10 00:19:48 -04:00
parent 8d1bb69591
commit cc9c10226e
54 changed files with 1431 additions and 1449 deletions
+10 -16
View File
@@ -1,4 +1,6 @@
<script lang="ts">
import Select from '$ui/components/primitives/Select.svelte';
import Field from '$ui/components/primitives/Field.svelte';
import { onMount, onDestroy, tick } from 'svelte';
import { goto } from '$app/navigation';
import Dialog from './primitives/Dialog.svelte';
@@ -246,9 +248,9 @@
<p class="muted" role="status">Loading maps…</p>
{:else}
<div class="fields">
<label
>Game<select
bind:this={gameSelect}
<Field label="Game">
<Select
bind:element={gameSelect}
bind:value={game}
disabled={launching || unconfirmedLaunch}
onchange={(event) => {
@@ -260,16 +262,16 @@
<option value="t5">Black Ops I</option><option value="t6"
>Black Ops II</option
>
</select></label
</Select></Field
>
<label
>Map<select
<Field label="Map">
<Select
bind:value={mapSlug}
disabled={launching || unconfirmedLaunch}
onchange={selectionChanged}
>
{#each maps as map}<option value={map.slug}>{map.friendly}</option>{/each}
</select></label
</Select></Field
>
</div>
@@ -414,15 +416,7 @@
grid-template-columns: 1fr 1.3fr;
gap: 14px;
}
label {
display: grid;
gap: 8px;
color: var(--text-secondary);
font-size: var(--text-sm);
}
select {
width: 100%;
}
.summary {
display: grid;
gap: 8px;