mirror of
https://github.com/tiennm99/loldle.git
synced 2026-09-01 06:19:26 +00:00
Port all six React components. State becomes $state, memos become $derived, and the gameRef mirror that existed only to dodge a stale closure is gone -- runes read current values at call time, so one $state holds the game. Initialization moves to onMount rather than $effect: the page is prerendered, so loadChampions and localStorage must be browser-only, and onMount encodes that structurally instead of relying on the effect body happening to read no reactive state. champion-search becomes a real combobox/listbox: input carries the combobox role with aria-expanded and aria-activedescendant, options are list items wrapping buttons, and Escape closes the dropdown. Visual output is unchanged. next/image becomes plain img -- every usage already passed unoptimized.