prevent login page flash on initial render

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

View File

@ -13,11 +13,10 @@
import { auth } from "stores/backend"
let modal
console.log($auth.user)
</script>
{#if $auth.user}
{#if $auth}
{#if $auth.user}
<div class="root">
<div class="ui-nav">
<div class="home-logo">
@ -52,10 +51,11 @@
<slot />
</div>
</div>
{:else}
{:else}
<section class="login">
<LoginForm />
</section>
{/if}
{/if}
<style>

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)