chore: Danger Zone error reporting fixes

This commit is contained in:
Ben Allfree 2023-12-07 04:30:11 -08:00
parent 9821c6af20
commit 8f89dd070b
7 changed files with 40 additions and 22 deletions

View File

@ -8,7 +8,7 @@
import DangerZoneTitle from './Danger/DangerZoneTitle.svelte' import DangerZoneTitle from './Danger/DangerZoneTitle.svelte'
import Maintenance from './Danger/Maintenance.svelte' import Maintenance from './Danger/Maintenance.svelte'
import RenameInstance from './Danger/RenameInstance.svelte' import RenameInstance from './Danger/RenameInstance.svelte'
import VersionChange from './Danger/VersionChange.svelte' import VersionChange from './Danger/VersionChange/VersionChange.svelte'
import Ftp from './Ftpx.svelte' import Ftp from './Ftpx.svelte'
import Logging from './Logging.svelte' import Logging from './Logging.svelte'
import Secrets from './Secrets/Secrets.svelte' import Secrets from './Secrets/Secrets.svelte'

View File

@ -4,17 +4,24 @@
import { DOCS_URL } from '$src/env' import { DOCS_URL } from '$src/env'
import { client } from '$src/pocketbase-client' import { client } from '$src/pocketbase-client'
import { instance } from '../store' import { instance } from '../store'
import ErrorMessage from './ErrorMessage.svelte'
const { updateInstance } = client() const { updateInstance } = client()
$: ({ id, syncAdmin } = $instance) $: ({ id, syncAdmin } = $instance)
let errorMessage = ''
const handleChange = (e: Event) => { const handleChange = (e: Event) => {
const target = e.target as HTMLInputElement const target = e.target as HTMLInputElement
const isChecked = target.checked const isChecked = target.checked
// Update the database with the new value // Update the database with the new value
updateInstance({ id, fields: { syncAdmin: isChecked } }).then(() => 'saved') updateInstance({ id, fields: { syncAdmin: isChecked } })
.then(() => 'saved')
.catch((error) => {
errorMessage = error.data.message || error.message
})
} }
</script> </script>
@ -28,6 +35,8 @@
login. login.
</p> </p>
<ErrorMessage message={errorMessage} />
<label class="label cursor-pointer justify-center gap-4"> <label class="label cursor-pointer justify-center gap-4">
<span class="label-text">Admin Sync</span> <span class="label-text">Admin Sync</span>
<input <input

View File

@ -0,0 +1,12 @@
<script lang="ts">
import { slide } from 'svelte/transition'
export let message = ''
</script>
{#if message}
<div in:slide class="alert alert-error mb-4">
<i class="fa-regular fa-circle-exclamation"></i>
{message}
</div>
{/if}

View File

@ -4,9 +4,12 @@
import { DOCS_URL } from '$src/env' import { DOCS_URL } from '$src/env'
import { client } from '$src/pocketbase-client' import { client } from '$src/pocketbase-client'
import { instance } from '../store' import { instance } from '../store'
import ErrorMessage from './ErrorMessage.svelte'
const { updateInstance } = client() const { updateInstance } = client()
let errorMessage = ''
$: ({ id, maintenance } = $instance) $: ({ id, maintenance } = $instance)
const handleChange = (e: Event) => { const handleChange = (e: Event) => {
@ -14,9 +17,11 @@
const isChecked = target.checked const isChecked = target.checked
// Update the database with the new value // Update the database with the new value
updateInstance({ id, fields: { maintenance: isChecked } }).then( updateInstance({ id, fields: { maintenance: isChecked } })
() => 'saved', .then(() => 'saved')
) .catch((error) => {
error.data.message || error.message
})
} }
</script> </script>
@ -30,6 +35,8 @@
Use this when you are upgrading, downgrading, or backing up your data. Use this when you are upgrading, downgrading, or backing up your data.
</p> </p>
<ErrorMessage message={errorMessage} />
<label class="label cursor-pointer justify-center gap-4"> <label class="label cursor-pointer justify-center gap-4">
<span class="label-text">Maintenance Mode</span> <span class="label-text">Maintenance Mode</span>
<input <input

View File

@ -3,8 +3,8 @@
import CardHeader from '$components/cards/CardHeader.svelte' import CardHeader from '$components/cards/CardHeader.svelte'
import { DOCS_URL } from '$src/env' import { DOCS_URL } from '$src/env'
import { client } from '$src/pocketbase-client' import { client } from '$src/pocketbase-client'
import { slide } from 'svelte/transition'
import { instance } from '../store' import { instance } from '../store'
import ErrorMessage from './ErrorMessage.svelte'
const { updateInstance } = client() const { updateInstance } = client()
@ -47,7 +47,7 @@
}) })
.then(() => 'saved') .then(() => 'saved')
.catch((error) => { .catch((error) => {
errorMessage = error.message error.data.message || error.message
}) })
} }
@ -68,12 +68,7 @@
else choose it. else choose it.
</p> </p>
{#if errorMessage} <ErrorMessage message={errorMessage} />
<div in:slide class="alert alert-error mb-4">
<i class="fa-regular fa-circle-exclamation"></i>
{errorMessage}
</div>
{/if}
<form <form
class="flex rename-instance-form-container-query gap-4" class="flex rename-instance-form-container-query gap-4"

View File

@ -3,8 +3,8 @@
import CardHeader from '$components/cards/CardHeader.svelte' import CardHeader from '$components/cards/CardHeader.svelte'
import { DOCS_URL } from '$src/env' import { DOCS_URL } from '$src/env'
import { client } from '$src/pocketbase-client' import { client } from '$src/pocketbase-client'
import { slide } from 'svelte/transition' import { instance } from '../../store'
import { instance } from '../store' import ErrorMessage from '../ErrorMessage.svelte'
import VersionPicker from './VersionPicker.svelte' import VersionPicker from './VersionPicker.svelte'
$: ({ id, maintenance, version } = $instance) $: ({ id, maintenance, version } = $instance)
@ -46,7 +46,7 @@
return 'saved' return 'saved'
}) })
.catch((error) => { .catch((error) => {
errorMessage = error.message error.data.message || error.message
}) })
} else { } else {
// If they hit cancel, reset the version number back to what it was initially // If they hit cancel, reset the version number back to what it was initially
@ -72,12 +72,7 @@
> of PocketBase. > of PocketBase.
</p> </p>
{#if errorMessage} <ErrorMessage message={errorMessage} />
<div in:slide class="alert alert-error mb-4">
<i class="fa-regular fa-circle-exclamation"></i>
{errorMessage}
</div>
{/if}
<form <form
class="flex change-version-form-container-query gap-4" class="flex change-version-form-container-query gap-4"