prevent login page flash on initial render

This commit is contained in:
Martin McKeaveney 2021-04-13 13:41:12 +01:00
parent d72a6dc8df
commit 252c50029f
2 changed files with 40 additions and 43 deletions

View File

@ -13,10 +13,9 @@
import { auth } from "stores/backend"
let modal
console.log($auth.user)
</script>
{#if $auth}
{#if $auth.user}
<div class="root">
<div class="ui-nav">
@ -57,6 +56,7 @@
<LoginForm />
</section>
{/if}
{/if}
<style>
.root {

View File

@ -10,7 +10,7 @@ async function checkAuth() {
}
export function createAuthStore() {
const { subscribe, set } = writable({})
const { subscribe, set } = writable(null)
checkAuth()
.then(user => set({ user }))
@ -21,16 +21,13 @@ export function createAuthStore() {
login: async creds => {
const response = await api.post(`/api/admin/auth`, creds)
const json = await response.json()
if (json.user) {
localStorage.setItem("auth:user", JSON.stringify(json.user))
set({ user: json.user })
}
set({ user: json })
return json
},
logout: async () => {
const response = await api.post(`/api/auth/logout`)
const json = await response.json()
set({ user: false })
set({ user: null })
},
createUser: async user => {
const response = await api.post(`/api/admin/users`, user)