diff --git a/packages/src/lib/components/nav-bar.svelte b/packages/src/lib/components/nav-bar.svelte
index 0b4e043..324fc91 100644
--- a/packages/src/lib/components/nav-bar.svelte
+++ b/packages/src/lib/components/nav-bar.svelte
@@ -24,7 +24,6 @@
border-bottom: solid thin var(--border-color);
position: sticky;
top: 0;
- z-index: 10;
}
ul {
diff --git a/packages/src/routes/+layout.svelte b/packages/src/routes/+layout.svelte
index 04f4a13..c993c27 100644
--- a/packages/src/routes/+layout.svelte
+++ b/packages/src/routes/+layout.svelte
@@ -14,6 +14,7 @@
--button-color: #f6f6f6;
--font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
--navbar-height: 3em;
+ --shade-background: rgba(0, 0, 0, 0.2);
--shade-color: #eee;
--theme-background: white;
--theme-color: #444;
diff --git a/packages/src/routes/api/[slug]/+server.js b/packages/src/routes/api/[slug]/+server.js
index 5fb2ed2..5bf9371 100644
--- a/packages/src/routes/api/[slug]/+server.js
+++ b/packages/src/routes/api/[slug]/+server.js
@@ -13,9 +13,9 @@ export const POST = async ({ params, request }) => {
const capKey = await response.json()
return json({ success: true, capKey })
- } catch (err) {
- console.log({ err })
- return json({ success: false, code: 500, error: err })
+ } catch (error) {
+ console.log({ error })
+ return json({ success: false, code: 500, error })
}
}
@@ -25,12 +25,11 @@ export const POST = async ({ params, request }) => {
const url = `${env.TAHOE_API}/uri/${encodedCapKey}?t=json`
const response = await fetch(url, { method: 'GET' })
const list = await response.json()
- console.log({ url, list })
return json({ success: true, list })
- } catch (err) {
- console.log({ err })
- return json({ success: false, code: 500, error: err })
+ } catch (error) {
+ console.log({ error })
+ return json({ success: false, code: 500, error, message: error.cause.message })
}
}
diff --git a/packages/src/routes/dashboard/+page.server.js b/packages/src/routes/dashboard/+page.server.js
index 9022ddb..6ac93d3 100644
--- a/packages/src/routes/dashboard/+page.server.js
+++ b/packages/src/routes/dashboard/+page.server.js
@@ -25,7 +25,14 @@ export const actions = {
body: JSON.stringify({ capKey: encoded })
})
const jsonResponse = await response.json()
- if (!jsonResponse.success) throw new Error(jsonResponse.error)
+
+ if (!jsonResponse.success) {
+ if (jsonResponse.message.includes('ECONNREFUSED')) {
+ return { error: 'Tahoe server may be offline.' }
+ } else {
+ throw new Error(jsonResponse.error)
+ }
+ }
return { endpoint: 'listDirectories', list: jsonResponse.list, capKey }
} catch (err) {
diff --git a/packages/src/routes/dashboard/+page.svelte b/packages/src/routes/dashboard/+page.svelte
index 266932e..478e1e3 100644
--- a/packages/src/routes/dashboard/+page.svelte
+++ b/packages/src/routes/dashboard/+page.svelte
@@ -7,6 +7,8 @@
let capKey = $state()
let capKeyInput = $state()
let newCapKey = $state()
+ let modalTitle = $state()
+ let modalText = $state()
let checked = $state(false)
let showModal = $state(false)
@@ -39,7 +41,9 @@
beforeNavigate(({ cancel }) => {
if (newCapKey && !capKey) {
cancel()
- alert('Please confirm you copied and saved the cap key.')
+ modalTitle = 'Warning'
+ modalText = 'Please confirm you copied and saved the cap key.'
+ showModal = true
}
})
@@ -48,6 +52,14 @@
})
$effect(() => console.log({ form }))
+
+ $effect(() => {
+ if (form?.error) {
+ modalTitle = 'Error'
+ modalText = form.error
+ showModal = true
+ }
+ })