From 55f4085d7a8fc1d45b6ee9de26c58a42b059b72e Mon Sep 17 00:00:00 2001 From: Tim McCarthy Date: Sat, 13 Jun 2026 09:58:16 -0700 Subject: [PATCH] Add likes/hates to character sheet UI --- .../src/components/scene/CharacterSheet.svelte | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/frontend/src/components/scene/CharacterSheet.svelte b/frontend/src/components/scene/CharacterSheet.svelte index 15f718b..65a9231 100644 --- a/frontend/src/components/scene/CharacterSheet.svelte +++ b/frontend/src/components/scene/CharacterSheet.svelte @@ -11,6 +11,12 @@ $: hand = state.player.hand_cards ? JSON.parse(state.player.hand_cards) : []; $: scenePirats = state.players.filter(p => p.role === 'pirat'); + + function getPlayerName(id) { + if (!id) return 'a crewmate'; + const p = state.players.find(pl => pl.id === id); + return p ? displayName(p) : 'Unknown'; + } $: duelTargets = scenePirats.filter(p => p.id !== state.player.id && !p.is_dead); // What the chosen duel card becomes as a temporary Obstacle for the defender $: pvpCardObstacle = cardObstacleInfo(pvpCard, $obstacleTable); @@ -101,6 +107,18 @@

First Words: "{state.player.first_words}"

+ {#if state.player.other_like || state.player.other_hate} +
+

What the Crew Thinks:

+ {#if state.player.other_like} +

👍 Likes: "{state.player.other_like}" — {getPlayerName(state.player.other_like_from_player_id)}

+ {/if} + {#if state.player.other_hate} +

👎 Hates: "{state.player.other_hate}" — {getPlayerName(state.player.other_hate_from_player_id)}

+ {/if} +
+ {/if} +

Assigned Secret Techniques (J/Q/K):