feat(web): add click-only interaction
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { Color } from "wordle-solver";
|
||||
import type { GuessResult } from "../solver/types";
|
||||
|
||||
let {
|
||||
active = false,
|
||||
@@ -13,9 +14,17 @@
|
||||
Color.GREY,
|
||||
]),
|
||||
info_gained = null,
|
||||
on_guess_pressed = null,
|
||||
}: {
|
||||
active: boolean;
|
||||
cursor: number;
|
||||
letters: string[];
|
||||
colors: Color[];
|
||||
info_gained: Promise<GuessResult> | null;
|
||||
on_guess_pressed: (() => void) | null;
|
||||
} = $props();
|
||||
|
||||
let inputs: HTMLInputElement[] = [];
|
||||
let inputs: HTMLInputElement[] = $state([]);
|
||||
|
||||
export function focus() {
|
||||
inputs[cursor].focus();
|
||||
@@ -55,7 +64,7 @@
|
||||
<svelte:window onkeydown={handleKey} />
|
||||
|
||||
<div class="flex justify-center gap-2">
|
||||
{#each letters as letter, i}
|
||||
{#each letters as _, i}
|
||||
<input
|
||||
disabled={!active}
|
||||
tabindex="-1"
|
||||
@@ -103,6 +112,7 @@
|
||||
{/each}
|
||||
<span
|
||||
class="w-16 text-sm text-zinc-500 self-center flex items-center justify-center"
|
||||
onclick={info_gained === null ? on_guess_pressed : null}
|
||||
>
|
||||
{#if info_gained === null}
|
||||
↵
|
||||
|
||||
Reference in New Issue
Block a user