diff --git a/src/routes/cms/create.svelte b/src/routes/cms/create.svelte index 7719cd7..ec162b0 100644 --- a/src/routes/cms/create.svelte +++ b/src/routes/cms/create.svelte @@ -18,6 +18,7 @@ const { session } = stores(); let editor, form, uploadForm; + let loading = false; let title = '', category = ''; export let categories; @@ -64,18 +65,25 @@ let html = editor.getHtml(true); let fd = new FormData(form); fd.append('html', html); - const res = await fetch(`/cms/article`, { - method: 'POST', - headers: { - 'Accept': 'application/json' - }, - body: fd - }); - const json = await res.json(); - if (res.status === 200) { - goto(`/a/${json.slug}`); - } else { - alert(`Error ${res.status}: ${json.message}`); + loading = true; + try { + const res = await fetch(`/cms/article`, { + method: 'POST', + headers: { + 'Accept': 'application/json' + }, + body: fd + }); + const json = await res.json(); + if (res.status === 200) { + goto(`/a/${json.slug}`); + } else { + alert(`Error ${res.status}: ${json.message}`); + } + } catch (err) { + console.error(err); + } finally { + loading = false; } } @@ -164,4 +172,7 @@
+ {#if loading} + + {/if} diff --git a/src/routes/me/avatar.svelte b/src/routes/me/avatar.svelte index ac4daf3..026450a 100644 --- a/src/routes/me/avatar.svelte +++ b/src/routes/me/avatar.svelte @@ -15,23 +15,31 @@ import { goto, stores } from '@sapper/app'; const { session } = stores(); + let loading = false; let uploadForm; async function upload() { let fd = new FormData(uploadForm); - const res = await fetch(`/me/avatar`, { - method: 'POST', - headers: { - 'Accept': 'application/json' - }, - body: fd - }); - const json = await res.json(); - if (res.status === 200) { - $session.user.avatar = json.filename; - } else { - alert(`Error ${res.status}: ${json.message}`); + loading = true; + try { + const res = await fetch(`/me/avatar`, { + method: 'POST', + headers: { + 'Accept': 'application/json' + }, + body: fd + }); + const json = await res.json(); + if (res.status === 200) { + $session.user.avatar = json.filename; + } else { + alert(`Error ${res.status}: ${json.message}`); + } + } catch (err) { + console.error(err); + } finally { + loading = false; } } @@ -64,6 +72,9 @@ Change your photo so you at least have a chance: + {#if loading} + + {/if}Or better yet, erase your wretched face from this site entirely: