diff --git a/client/src/lib/games/GameList.svelte b/client/src/lib/games/GameList.svelte index 985eebd6..5862e876 100644 --- a/client/src/lib/games/GameList.svelte +++ b/client/src/lib/games/GameList.svelte @@ -29,6 +29,7 @@ >

{session.value} + {session.enemy} {#if session.isStarted && session.isYourTurn} Your Turn {/if} diff --git a/client/src/routes/[slug]/client/games/openGames/+page.svelte b/client/src/routes/[slug]/client/games/openGames/+page.svelte index 4bcc08e0..ebdcb564 100644 --- a/client/src/routes/[slug]/client/games/openGames/+page.svelte +++ b/client/src/routes/[slug]/client/games/openGames/+page.svelte @@ -1,48 +1,87 @@ @@ -53,22 +92,18 @@ -

- {#if availableSessions && availableSessions.length > 0} -

Games available

- joinSession(session.detail)} - /> - {:else} -
-

No games are currently available.

- -
- {/if} -
+
+ {#if sessions && sessions.length > 0} +

Games available

+ joinSession(session.detail)} + /> + {:else} +
+

No games are currently available.

+ +
+ {/if}
+ diff --git a/client/src/routes/[slug]/client/games/yourGames/+page.svelte b/client/src/routes/[slug]/client/games/yourGames/+page.svelte index eb27765c..f10e828e 100644 --- a/client/src/routes/[slug]/client/games/yourGames/+page.svelte +++ b/client/src/routes/[slug]/client/games/yourGames/+page.svelte @@ -14,11 +14,17 @@ isYourTurn: boolean; isStarted: boolean; isFinished: boolean; + enemy: string; }; let playerEntity: Entity let sessions: Session[] = [] + function compressAddress(address: string): string { + if (!address) return 'Not available'; + return `${address.slice(0, 6)}...${address.slice(-4)}`; + } + $: ({ clientComponents, torii } = $dojoStore as any) $: if ($account) playerEntity = torii.poseidonHash([$account?.address]) $: player = componentValueStore(clientComponents.Player, playerEntity) @@ -34,13 +40,15 @@ const sessionDataStore = componentValueStore(clientComponents.Session, sessionEntity) const sessionMetaDataStore = componentValueStore(clientComponents.SessionMeta, sessionEntity) - sessionDataStore.subscribe((data) => { + sessionDataStore.subscribe(async (data) => { if (data) { + let enemy = areAddressesEqual(data.player1, $account.address) ? `0x${BigInt(data.player2).toString(16)}` : `0x${BigInt(data.player1).toString(16)}`; const newSession: Session = { value: session.value, isYourTurn: false, isStarted: false, - isFinished: data.state === 3 + isFinished: data.state === 3, + enemy: compressAddress(enemy) } sessionMetaDataStore.subscribe((metaData) => { if (metaData) {