improve loading
This commit is contained in:
@@ -1,8 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { activeNote, updateNote } from '@/composables/useNotes'
|
import { activeNote, updateNote, notes } from '@/composables/useNotes'
|
||||||
import { viewModes, activeViewMode } from '@/composables/useViewMode'
|
import { viewModes, activeViewMode } from '@/composables/useViewMode'
|
||||||
import { windowIsMobile } from '@/utils/helpers'
|
import { windowIsMobile } from '@/utils/helpers'
|
||||||
import { initialized } from '@/composables/useFirebase'
|
|
||||||
import firebase from 'firebase/compat/app'
|
import firebase from 'firebase/compat/app'
|
||||||
import * as firebaseui from 'firebaseui'
|
import * as firebaseui from 'firebaseui'
|
||||||
|
|
||||||
@@ -15,6 +14,9 @@ const sideBarCollapsed = ref<boolean>(windowIsMobile())
|
|||||||
const firebaseAuthUI =
|
const firebaseAuthUI =
|
||||||
firebaseui.auth.AuthUI.getInstance() || new firebaseui.auth.AuthUI(firebase.auth())
|
firebaseui.auth.AuthUI.getInstance() || new firebaseui.auth.AuthUI(firebase.auth())
|
||||||
provide('firebaseAuthUI', firebaseAuthUI)
|
provide('firebaseAuthUI', firebaseAuthUI)
|
||||||
|
|
||||||
|
const loading = computed(() => notes.value.length === 0)
|
||||||
|
provide('loading', loading)
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -34,7 +36,7 @@ provide('firebaseAuthUI', firebaseAuthUI)
|
|||||||
class="transition[margin-left] z-10 mt-[50px] w-full border-x-[1px] bg-white px-10 py-6 duration-200 ease-out"
|
class="transition[margin-left] z-10 mt-[50px] w-full border-x-[1px] bg-white px-10 py-6 duration-200 ease-out"
|
||||||
:class="sideBarCollapsed ? 'ml-0' : 'ml-sidebar max-sm:hidden'"
|
:class="sideBarCollapsed ? 'ml-0' : 'ml-sidebar max-sm:hidden'"
|
||||||
>
|
>
|
||||||
<template v-if="initialized">
|
<template v-if="!loading">
|
||||||
<Note
|
<Note
|
||||||
v-if="activeViewMode.name === 'Note' && activeNote"
|
v-if="activeViewMode.name === 'Note' && activeNote"
|
||||||
:key="activeNote.id"
|
:key="activeNote.id"
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { rootNote, notes, setActiveNote as baseSetActiveNote } from '@/composables/useNotes'
|
import { rootNote, notes, setActiveNote as baseSetActiveNote } from '@/composables/useNotes'
|
||||||
import { windowIsMobile } from '@/utils/helpers'
|
import { windowIsMobile } from '@/utils/helpers'
|
||||||
import { initialized } from '@/composables/useFirebase'
|
import { activeViewMode } from '@/composables/useViewMode'
|
||||||
import { activeViewMode } from '@/composables/useViewMode';
|
|
||||||
|
const loading = inject<boolean>('loading')
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
viewModes: ViewMode[]
|
viewModes: ViewMode[]
|
||||||
@@ -36,7 +37,7 @@ const setViewMode = (viewMode: ViewMode) => {
|
|||||||
icon="fas fa-fw fa-home"
|
icon="fas fa-fw fa-home"
|
||||||
@click="setActiveNote(rootNote?.id)"
|
@click="setActiveNote(rootNote?.id)"
|
||||||
:title="rootNote?.title"
|
:title="rootNote?.title"
|
||||||
v-if="initialized"
|
v-if="!loading"
|
||||||
>
|
>
|
||||||
{{ rootNote?.title }}
|
{{ rootNote?.title }}
|
||||||
</SideBarMenuItem>
|
</SideBarMenuItem>
|
||||||
@@ -46,7 +47,7 @@ const setViewMode = (viewMode: ViewMode) => {
|
|||||||
<SideBarMenu>
|
<SideBarMenu>
|
||||||
<template #header>View mode</template>
|
<template #header>View mode</template>
|
||||||
<template #items>
|
<template #items>
|
||||||
<template v-if="initialized">
|
<template v-if="!loading">
|
||||||
<SideBarMenuItem
|
<SideBarMenuItem
|
||||||
v-for="viewMode in props.viewModes"
|
v-for="viewMode in props.viewModes"
|
||||||
:key="viewMode.name"
|
:key="viewMode.name"
|
||||||
@@ -66,7 +67,7 @@ const setViewMode = (viewMode: ViewMode) => {
|
|||||||
Recent notes
|
Recent notes
|
||||||
</template>
|
</template>
|
||||||
<template #items>
|
<template #items>
|
||||||
<template v-if="initialized">
|
<template v-if="!loading">
|
||||||
<SideBarMenuItem
|
<SideBarMenuItem
|
||||||
v-for="note in notes.slice(-10)"
|
v-for="note in notes.slice(-10)"
|
||||||
:key="note.id"
|
:key="note.id"
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ import { addNote, setActiveNote, rootNote } from '@/composables/useNotes'
|
|||||||
import { user, signOut as firebaseSignOut } from '@/composables/useFirebase'
|
import { user, signOut as firebaseSignOut } from '@/composables/useFirebase'
|
||||||
import { initialized } from '@/composables/useFirebase'
|
import { initialized } from '@/composables/useFirebase'
|
||||||
|
|
||||||
|
const loading = inject<boolean>('loading')
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
sideBarCollapsed: boolean
|
sideBarCollapsed: boolean
|
||||||
}>()
|
}>()
|
||||||
@@ -42,7 +44,7 @@ const authModalInitialStateOpen = ref<boolean>(authUI.isPendingRedirect())
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex h-full flex-grow flex-row items-center gap-2 pl-5 pr-3">
|
<div class="flex h-full flex-grow flex-row items-center gap-2 pl-5 pr-3">
|
||||||
<template v-if="initialized">
|
<template v-if="!loading">
|
||||||
<SearchBar @active="(active) => (searchActive = active)" />
|
<SearchBar @active="(active) => (searchActive = active)" />
|
||||||
<button
|
<button
|
||||||
class="search-active-hide btn-outline btn-sm btn py-1 text-white"
|
class="search-active-hide btn-outline btn-sm btn py-1 text-white"
|
||||||
|
|||||||
Reference in New Issue
Block a user