From 338710d76227dc0b37d44aed514bae0a94210ced Mon Sep 17 00:00:00 2001 From: minie4 Date: Fri, 28 Mar 2025 00:25:30 +0100 Subject: [PATCH] feat(deck-hexv1): add HexV1Card component --- .../src/components/Cards/HexV1Card.svelte | 110 ++++++++++++++++++ frontend/src/views/Game/Main.svelte | 3 +- 2 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 frontend/src/components/Cards/HexV1Card.svelte diff --git a/frontend/src/components/Cards/HexV1Card.svelte b/frontend/src/components/Cards/HexV1Card.svelte new file mode 100644 index 0000000..a23e034 --- /dev/null +++ b/frontend/src/components/Cards/HexV1Card.svelte @@ -0,0 +1,110 @@ + + +
+ {#if data.Symbol.length <= 2} + {data.Symbol} + {:else} + {data.Symbol.split(":")[1].replace("_", " ")} + {/if} + {#if data.Color == "rainbow" && canUpdateCard} +
+
+ + +
+
+ + +
+
+ {/if} +
+ + diff --git a/frontend/src/views/Game/Main.svelte b/frontend/src/views/Game/Main.svelte index 3f179d7..828279a 100644 --- a/frontend/src/views/Game/Main.svelte +++ b/frontend/src/views/Game/Main.svelte @@ -5,12 +5,13 @@ import CardDisplay from "../../components/Game/CardDisplay.svelte"; import { sessionStore } from "../../stores/sessionStore"; import OpponentDisplay from "../../components/Game/OpponentDisplay.svelte"; + import HexV1Card from "../../components/Cards/HexV1Card.svelte"; let maxRotationDeg = 20; let centerDistancePx = 200; let cardWidth = 100; let cardHeight = 150; - let cardComponent = ClassicCard; + let cardComponent = [ClassicCard, HexV1Card][$sessionStore.cardDeckId ?? 0]; let opponents = derived(sessionStore.store, ($store) => $store.players.filter((e) => e.PlayerId != sessionStore.getUserId())); let playerActive = derived(sessionStore.store, ($store) => ($store.playerStates[$store.userId ?? ""] ?? "").Active ?? false);