From f61be632a0264341f363c15ec96685c56428132f Mon Sep 17 00:00:00 2001 From: Marco Crapts Date: Sat, 20 May 2023 14:54:41 +0200 Subject: [PATCH] skeleton loader --- components.d.ts | 3 + src/App.vue | 22 ++++--- src/components/Search/SearchBar.vue | 2 +- src/components/SideBar.vue | 45 +++++++------ src/components/Skeleton/SkeletonNote.vue | 30 +++++++++ .../Skeleton/SkeletonSidebarItem.vue | 18 ++++++ src/components/Skeleton/SkeletonTopBar.vue | 18 ++++++ src/components/TopBar.vue | 64 ++++++++++--------- 8 files changed, 143 insertions(+), 59 deletions(-) create mode 100644 src/components/Skeleton/SkeletonNote.vue create mode 100644 src/components/Skeleton/SkeletonSidebarItem.vue create mode 100644 src/components/Skeleton/SkeletonTopBar.vue diff --git a/components.d.ts b/components.d.ts index 4c029be..7cd02e4 100644 --- a/components.d.ts +++ b/components.d.ts @@ -25,6 +25,9 @@ declare module '@vue/runtime-core' { SideBar: typeof import('./src/components/SideBar.vue')['default'] SideBarMenu: typeof import('./src/components/SideBar/SideBarMenu.vue')['default'] SideBarMenuItem: typeof import('./src/components/SideBar/SideBarMenuItem.vue')['default'] + SkeletonNote: typeof import('./src/components/Skeleton/SkeletonNote.vue')['default'] + SkeletonSidebarItem: typeof import('./src/components/Skeleton/SkeletonSidebarItem.vue')['default'] + SkeletonTopBar: typeof import('./src/components/Skeleton/SkeletonTopBar.vue')['default'] TopBar: typeof import('./src/components/TopBar.vue')['default'] } } diff --git a/src/App.vue b/src/App.vue index 21305b2..80c7504 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,7 @@ @@ -20,15 +21,18 @@ const sideBarCollapsed = ref(false) 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'" > - - - + + diff --git a/src/components/Search/SearchBar.vue b/src/components/Search/SearchBar.vue index a7779c3..d006e15 100644 --- a/src/components/Search/SearchBar.vue +++ b/src/components/Search/SearchBar.vue @@ -47,7 +47,7 @@ const handleKeydown = (event: KeyboardEvent) => { import { rootNote, notes, setActiveNote } from '@/composables/useNotes' +import { initialized } from '@/composables/useFirebase' const props = defineProps<{ viewModes: ViewMode[] @@ -22,23 +23,28 @@ const emit = defineEmits<{ icon="fas fa-fw fa-home" @click="setActiveNote(rootNote?.id)" :title="rootNote?.title" + v-if="initialized" > {{ rootNote?.title }} + @@ -47,15 +53,18 @@ const emit = defineEmits<{ Recent notes diff --git a/src/components/Skeleton/SkeletonNote.vue b/src/components/Skeleton/SkeletonNote.vue new file mode 100644 index 0000000..d3a09c6 --- /dev/null +++ b/src/components/Skeleton/SkeletonNote.vue @@ -0,0 +1,30 @@ + + diff --git a/src/components/Skeleton/SkeletonSidebarItem.vue b/src/components/Skeleton/SkeletonSidebarItem.vue new file mode 100644 index 0000000..d187669 --- /dev/null +++ b/src/components/Skeleton/SkeletonSidebarItem.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/components/Skeleton/SkeletonTopBar.vue b/src/components/Skeleton/SkeletonTopBar.vue new file mode 100644 index 0000000..0c060b2 --- /dev/null +++ b/src/components/Skeleton/SkeletonTopBar.vue @@ -0,0 +1,18 @@ + diff --git a/src/components/TopBar.vue b/src/components/TopBar.vue index fa0c12b..add4244 100644 --- a/src/components/TopBar.vue +++ b/src/components/TopBar.vue @@ -39,37 +39,39 @@ const authModalInitialStateOpen = ref( />
- - - - - - - - - - - - - + +