From 08deedea8f866e5b59497c68264c97c844a93521 Mon Sep 17 00:00:00 2001 From: Branden J Brown Date: Tue, 31 Mar 2026 01:04:27 -0400 Subject: [PATCH] zenno: nicer lobby conversation page --- zenno/src/lib/data/convo.ts | 18 +++++++++ zenno/src/routes/convo/+page.svelte | 58 +++++++++++++++++++++-------- 2 files changed, 61 insertions(+), 15 deletions(-) diff --git a/zenno/src/lib/data/convo.ts b/zenno/src/lib/data/convo.ts index d0a18ea..bb3c6bd 100644 --- a/zenno/src/lib/data/convo.ts +++ b/zenno/src/lib/data/convo.ts @@ -62,3 +62,21 @@ export const locations: Record locations[c.location].group === locGroup) + .flatMap((c) => [c.chara_1, c.chara_2, c.chara_3].filter((x) => x != null)) + .reduce((m, id) => m.set(id, 1 + (m.get(id) ?? 0)), new Map()) + return [...m].toSorted((a, b) => b[1] - a[1]) // descending +} + +export const groupPopulars = { + global: { + 1: locCharas(conversation.global, 1), + 2: locCharas(conversation.global, 2), + 3: locCharas(conversation.global, 3), + 4: locCharas(conversation.global, 4), + 5: locCharas(conversation.global, 5), + }, +} diff --git a/zenno/src/routes/convo/+page.svelte b/zenno/src/routes/convo/+page.svelte index 07c243c..6f9eca4 100644 --- a/zenno/src/routes/convo/+page.svelte +++ b/zenno/src/routes/convo/+page.svelte @@ -1,6 +1,6 @@

Lobby Conversations

-

Find which horses are in a given lobby conversation, and get recommendations on which ones to assign to fixed locations to maximize the chance of getting it.

-
- +
- {#each options as opt} {/each} @@ -26,16 +37,33 @@
{#if cur} -
- {charaNames.get(cur.chara_1)?.en} - {#if cur.chara_2} - {charaNames.get(cur.chara_2)?.en} - {/if} - {#if cur.chara_3} - {charaNames.get(cur.chara_3)?.en} - {/if} +
+
+ {charaNames.get(cur.chara_1)?.en ?? 'someone not a trainee'} + {#if cur.chara_2} + {charaNames.get(cur.chara_2)?.en ?? 'someone not a trainee'} + {/if} + {#if cur.chara_3} + {charaNames.get(cur.chara_3)?.en ?? 'someone not a trainee'} + {/if} +
+
+ at {locations[cur.location].name.en} +
-
- {locations[cur.location].name.en} +
+ Characters who appear here most often: +
+
+ {#each suggest(8, groupPopulars.global) as s} + {charaNames.get(s[0])?.en}: {s[1]}× + {/each} +
+
+ + Set characters that appear more often to fixed positions + (main, upgrades, story, races) + to maximize the chance of getting this conversation. +
{/if} \ No newline at end of file