From fca43e64b58c9839899ff919db54d33c1dc4a128 Mon Sep 17 00:00:00 2001 From: Branden J Brown Date: Thu, 9 Jul 2026 15:40:07 -0400 Subject: [PATCH] zenno/doc/spark: make spark select searchable --- zenno/src/lib/data/spark.ts | 22 ++++++++++ zenno/src/routes/doc/spark/+page.svelte | 53 +++++++++++-------------- 2 files changed, 46 insertions(+), 29 deletions(-) diff --git a/zenno/src/lib/data/spark.ts b/zenno/src/lib/data/spark.ts index 75e8f03..e9dea12 100644 --- a/zenno/src/lib/data/spark.ts +++ b/zenno/src/lib/data/spark.ts @@ -144,3 +144,25 @@ export async function sparks(): Promise { const resp = await fetch('/api/global/spark'); return resp.json(); } + +export interface SparkGroup { + spark_group: number; + name: string; + description: string; + type: Type; + effects: Effect[][]; + spark_ids: number[]; +} + +export function byGroup(sparks: Spark[]): SparkGroup[] { + const r = new Map(); + for (const {spark_id, name, description, spark_group, type, effects} of sparks) { + let g = r.get(spark_group); + if (g == null) { + g = {spark_group, name, description, type, effects, spark_ids: []}; + r.set(spark_group, g); + } + g.spark_ids.push(spark_id); + } + return [...r.values()]; +} diff --git a/zenno/src/routes/doc/spark/+page.svelte b/zenno/src/routes/doc/spark/+page.svelte index 83bab60..121d028 100644 --- a/zenno/src/routes/doc/spark/+page.svelte +++ b/zenno/src/routes/doc/spark/+page.svelte @@ -1,6 +1,7 @@

Spark Explorer

- + + {#snippet option(g)} + {g.name} + {/snippet} +
- {cur?.name} - {#if cur != null} + {group?.name} + {#if group != null} - {spark.TYPE_NAMES[cur.type]} Spark + {spark.TYPE_NAMES[group.type]} Spark {/if} - {cur?.description} + {group?.description}
- +
{#each curDescriptions as s (s)} - - +
Possible Effects
+
{#each s as n (n)} - {n} + {n} {/each}