{data.wheel.config.title}
-{data.wheel.config.description}
+{wheel.config.title}
+{wheel.config.description}
diff --git a/src/lib/components/OpenCloudDialog.svelte b/src/lib/components/OpenCloudDialog.svelte
index c39b566..75a4e69 100644
--- a/src/lib/components/OpenCloudDialog.svelte
+++ b/src/lib/components/OpenCloudDialog.svelte
@@ -29,9 +29,12 @@
}
const response = await getWheels(user.uid)
if (!response.success) {
- throw new Error('Failed to fetch wheels')
+ throw new Error(response.error.message)
}
wheels = response.data.wheels
+ if (!wheels.length) {
+ throw new Error('No saved wheels')
+ }
} catch (error) {
if (error instanceof Error) {
toastStore.trigger({
@@ -58,7 +61,7 @@
}
const response = await getWheel(path, user.uid)
if (!response.success) {
- throw new Error('Error opening wheel')
+ throw new Error(response.error.message)
}
const { config, entries } = response.data.wheel
wheelStore.setConfig(config)
diff --git a/src/lib/components/SaveCloudDialog.svelte b/src/lib/components/SaveCloudDialog.svelte
index 03eba40..6cfffd4 100644
--- a/src/lib/components/SaveCloudDialog.svelte
+++ b/src/lib/components/SaveCloudDialog.svelte
@@ -64,7 +64,7 @@
uid: user.uid
}, user.uid)
if (!response.success) {
- throw new Error('Failed to save wheel')
+ throw new Error(response.error.message)
}
}
if (saveMode === 'overwrite' && $wheelStore.path) {
@@ -76,7 +76,7 @@
uid: user.uid
}, user.uid)
if (!response.success) {
- throw new Error('Failed to save wheel')
+ throw new Error(response.error.message)
}
}
modalStore.close()
diff --git a/src/lib/components/ShareDialog.svelte b/src/lib/components/ShareDialog.svelte
index 0623efb..f7496c2 100644
--- a/src/lib/components/ShareDialog.svelte
+++ b/src/lib/components/ShareDialog.svelte
@@ -42,7 +42,7 @@
uid: user.uid
}, user.uid)
if (!response.success) {
- throw new Error('Failed to share wheel')
+ throw new Error(response.error.message)
}
modalStore.close()
toastStore.trigger({
diff --git a/src/lib/server/FirebaseAdmin.ts b/src/lib/server/FirebaseAdmin.ts
index 55fb0ee..6be2f70 100644
--- a/src/lib/server/FirebaseAdmin.ts
+++ b/src/lib/server/FirebaseAdmin.ts
@@ -49,6 +49,9 @@ export const getUserWheelsMeta = async (uid: string) => {
return []
}
const user = userSnap.data() as ApiUser
+ if (!user.wheels.length) {
+ return []
+ }
return await getWheelMetaForPaths(user.wheels)
}
diff --git a/src/routes/[path=path]/+page.svelte b/src/routes/[path=path]/+page.svelte
index 6ee23a5..bd4c233 100644
--- a/src/routes/[path=path]/+page.svelte
+++ b/src/routes/[path=path]/+page.svelte
@@ -6,6 +6,7 @@
import type { OnStoppedData } from '$lib/utils/Wheel'
export let data
+ const { wheel } = data
const modalStore = getModalStore()
@@ -23,27 +24,31 @@
modalStore.trigger(createWinnerModal(e.detail))
}
- wheelStore.setConfig(data.wheel.config)
- wheelStore.setEntries(data.wheel.entries)
+ wheelStore.setConfig(wheel.config)
+ wheelStore.setEntries(wheel.entries)
{data.wheel.config.description}
+{wheel.config.description}