Skip to content

Commit 06b8ee4

Browse files
committed
fix(supabase): Fix loading supabase.
1 parent 8816ffc commit 06b8ee4

File tree

5 files changed

+253
-237
lines changed

5 files changed

+253
-237
lines changed

src/lib/components/modals/SaveRecovery.svelte

Lines changed: 46 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,9 @@
3333
3434
loading = true;
3535
try {
36-
const loaded = await supabaseAuth.loadGameFromCloud();
37-
if (loaded) {
36+
const loadedState = await supabaseAuth.loadGameFromCloud();
37+
if (loadedState) {
38+
gameManager.loadSaveData(loadedState);
3839
success({ title: 'Recovery Successful', message: 'Your game has been loaded from the cloud save.' });
3940
saveRecovery.clearError();
4041
onClose();
@@ -57,7 +58,7 @@
5758
title: 'New Game',
5859
message: 'A new game has been started. Your corrupted save has been backed up.',
5960
duration: 5000,
60-
icon: RefreshCw
61+
icon: RefreshCw,
6162
});
6263
saveRecovery.clearError();
6364
onClose();
@@ -78,11 +79,18 @@
7879
});
7980
</script>
8081

81-
<Modal onClose={handleDismiss} title="Save Recovery" width="sm">
82+
<Modal
83+
onClose={handleDismiss}
84+
title="Save Recovery"
85+
width="sm"
86+
>
8287
<div class="flex flex-col gap-6">
8388
<!-- Error Banner -->
8489
<div class="flex items-start gap-4 rounded-xl bg-red-500/20 p-4 border border-red-500/30">
85-
<AlertTriangle size={32} class="shrink-0 text-red-400 mt-0.5" />
90+
<AlertTriangle
91+
size={32}
92+
class="shrink-0 text-red-400 mt-0.5"
93+
/>
8694
<div class="flex-1">
8795
<h3 class="text-lg font-bold text-red-300">Save Load Error</h3>
8896
<p class="mt-1 text-red-200/80">
@@ -94,9 +102,7 @@
94102
<!-- Technical Details (collapsible) -->
95103
{#if $saveRecovery.errorDetails}
96104
<details class="rounded-lg bg-black/30 border border-white/10">
97-
<summary class="cursor-pointer px-4 py-3 text-sm text-white/60 hover:text-white/80">
98-
Technical Details
99-
</summary>
105+
<summary class="cursor-pointer px-4 py-3 text-sm text-white/60 hover:text-white/80"> Technical Details </summary>
100106
<div class="px-4 pb-4">
101107
<code class="block whitespace-pre-wrap break-all text-xs text-white/50 font-mono bg-black/20 p-2 rounded">
102108
{$saveRecovery.errorDetails}
@@ -108,7 +114,10 @@
108114
<!-- Backup Info -->
109115
{#if $saveRecovery.backupKey}
110116
<div class="flex items-center gap-3 rounded-lg bg-green-500/10 border border-green-500/20 px-4 py-3">
111-
<Database size={20} class="text-green-400" />
117+
<Database
118+
size={20}
119+
class="text-green-400"
120+
/>
112121
<div class="flex-1">
113122
<p class="text-sm text-green-300">A backup of your save has been created.</p>
114123
<p class="text-xs text-green-400/60 mt-0.5">Key: {$saveRecovery.backupKey}</p>
@@ -127,7 +136,10 @@
127136
onclick={handleLoadFromCloud}
128137
>
129138
<div class="flex h-12 w-12 items-center justify-center rounded-lg bg-accent/30">
130-
<CloudDownload size={24} class="text-accent-300" />
139+
<CloudDownload
140+
size={24}
141+
class="text-accent-300"
142+
/>
131143
</div>
132144
<div class="flex-1">
133145
<div class="font-semibold text-white">Load from Cloud</div>
@@ -140,7 +152,10 @@
140152
</div>
141153
</div>
142154
{#if loading}
143-
<RefreshCw size={20} class="animate-spin text-accent-300" />
155+
<RefreshCw
156+
size={20}
157+
class="animate-spin text-accent-300"
158+
/>
144159
{/if}
145160
</button>
146161

@@ -150,13 +165,14 @@
150165
onclick={handleStartFresh}
151166
>
152167
<div class="flex h-12 w-12 items-center justify-center rounded-lg bg-white/10">
153-
<RefreshCw size={24} class="text-white/70" />
168+
<RefreshCw
169+
size={24}
170+
class="text-white/70"
171+
/>
154172
</div>
155173
<div class="flex-1">
156174
<div class="font-semibold text-white">Start Fresh</div>
157-
<div class="text-sm text-white/60">
158-
Begin a new game. Your old save is backed up.
159-
</div>
175+
<div class="text-sm text-white/60">Begin a new game. Your old save is backed up.</div>
160176
</div>
161177
</button>
162178

@@ -166,30 +182,31 @@
166182
onclick={handleDismiss}
167183
>
168184
<div class="flex h-12 w-12 items-center justify-center rounded-lg bg-red-500/20">
169-
<Trash2 size={24} class="text-red-400" />
185+
<Trash2
186+
size={24}
187+
class="text-red-400"
188+
/>
170189
</div>
171190
<div class="flex-1">
172191
<div class="font-semibold text-red-300">Continue Anyway</div>
173-
<div class="text-sm text-red-200/60">
174-
Try to play with the current state. Not recommended.
175-
</div>
192+
<div class="text-sm text-red-200/60">Try to play with the current state. Not recommended.</div>
176193
</div>
177194
</button>
178195
</div>
179196

180197
<!-- Warning -->
181-
<p class="text-center text-xs text-white/40">
182-
We recommend loading from cloud or starting fresh to avoid further issues.
183-
</p>
198+
<p class="text-center text-xs text-white/40">We recommend loading from cloud or starting fresh to avoid further issues.</p>
184199
</div>
185200
</Modal>
186201

187202
{#if showLoginModal}
188-
<Login onClose={() => {
189-
showLoginModal = false;
190-
// Re-check authentication after login
191-
if (supabaseAuth.isAuthenticated) {
192-
handleLoadFromCloud();
193-
}
194-
}} />
203+
<Login
204+
onClose={() => {
205+
showLoginModal = false;
206+
// Re-check authentication after login
207+
if (supabaseAuth.isAuthenticated) {
208+
handleLoadFromCloud();
209+
}
210+
}}
211+
/>
195212
{/if}

0 commit comments

Comments
 (0)