wrbapp/frontend/app.vue
2022-09-20 15:53:44 +02:00

51 lines
1.4 KiB
Vue

<template>
<div v-if="!userLoaded" class="bg-neutral-100 dark:bg-neutral-900 text-primary h-screen flex flex-col">
Loading
</div>
<div v-else>
<div v-if="isAuthenticated" class="bg-neutral-100 dark:bg-neutral-900 text-primary h-screen flex flex-col">
<LayoutTopbar />
<div class="overflow-y-auto pt-3">
<NuxtPage />
</div>
<LayoutNavbar class="mt-auto" />
</div>
<div v-else class="bg-neutral-100 dark:bg-neutral-900 text-primary h-screen flex flex-col">
<Login />
</div>
</div>
</template>
<script setup>
import { doc, getFirestore, serverTimestamp, writeBatch, collection, getDocs } from "firebase/firestore";
import { getAuth, onAuthStateChanged, signInWithEmailAndPassword } from "firebase/auth";
const db = getFirestore()
const route = useRoute()
const isAuthenticated = ref(false)
const user = ref('frikandel')
const auth = ref(null)
const userLoaded = ref(false)
onMounted(() => {
auth.value = getAuth()
onAuthStateChanged(auth.value, (usr) => {
if (usr) {
isAuthenticated.value = true
user.value = usr
} else {
isAuthenticated.value = false
user.value = null
}
userLoaded.value = true
})
})
const ledenlijst = ref([])
provide('firebase', { db, ledenlijst, isAuthenticated, user, auth })
</script>