device always replaces local localStorage completion with the

authoritative DB record
This commit is contained in:
George Powell
2026-02-18 14:48:02 -05:00
parent e815e15ce5
commit 638a789a0f

View File

@@ -186,14 +186,15 @@
});
});
// For logged-in users on a new device: restore today's game state from the server
// For logged-in users on a new device: restore today's game state from the server.
// Runs even when isWon is true so that logging in after completing the game on another
// device always replaces local localStorage with the authoritative DB record.
let crossDeviceCheckDate = $state<string | null>(null);
$effect(() => {
if (
!browser ||
!user ||
!dailyVerse?.date ||
isWon ||
crossDeviceCheckDate === dailyVerse.date ||
!persistence.anonymousId
)
@@ -415,6 +416,18 @@
<DevButtons />
</div>
{/if}
{#if user && session}
<div class="mt-6 pt-4 border-t border-gray-200 text-center text-xs text-gray-400">
Signed in as {[user.firstName, user.lastName].filter(Boolean).join(" ")}{user.email ? ` (${user.email})` : ""}{user.appleId ? " using Apple" : ""}
<form method="POST" action="/auth/logout" use:enhance class="inline">
<button
type="submit"
class="ml-2 underline hover:text-gray-600 transition-colors cursor-pointer"
>Sign out</button>
</form>
</div>
{/if}
</div>
</div>