From c3e847c249ce26dee73956e028103ef731cb4415 Mon Sep 17 00:00:00 2001 From: IK Date: Sat, 12 Sep 2026 15:28:24 +0700 Subject: [PATCH] feat: distinguish fish by visual family --- apps/web/src/components/FishSilhouette.astro | 19 +++++++++++++------ apps/web/src/lib/fish-visuals.ts | 16 ++++++++++++++++ apps/web/src/styles/fish-silhouette.css | 2 +- apps/web/tests/unit/presentation.test.ts | 8 ++++++++ docs/ROADMAP.md | 2 +- docs/brand-system.md | 2 ++ 6 files changed, 41 insertions(+), 8 deletions(-) create mode 100644 apps/web/src/lib/fish-visuals.ts diff --git a/apps/web/src/components/FishSilhouette.astro b/apps/web/src/components/FishSilhouette.astro index db4b9de..6a24645 100644 --- a/apps/web/src/components/FishSilhouette.astro +++ b/apps/web/src/components/FishSilhouette.astro @@ -1,9 +1,16 @@ --- -const { name, size = 92 } = Astro.props as { name: string; size?: number }; -const variant = [...name].reduce((sum, char) => sum + (char.codePointAt(0) ?? 0), 0) % 3; +import { fishVisualFamily, type FishVisualFamily } from "../lib/fish-visuals"; +const { name, size = 92, family: familyOverride } = Astro.props as { name: string; size?: number; family?: FishVisualFamily }; +const family = familyOverride ?? fishVisualFamily(name); --- -