Wrap app in loadingIndicator component
authorAdam Dullage <redacted>
Thu, 12 Sep 2024 19:04:36 +0000 (20:04 +0100)
committerAdam Dullage <redacted>
Thu, 12 Sep 2024 19:04:36 +0000 (20:04 +0100)
client/App.vue

index f9033b10523e2aa735103b7f4685a94b47036c68..1d986715ec30e8cadeb1ccbc707935296e4ae5d9 100644 (file)
@@ -1,5 +1,6 @@
 <template>\r
-  <div\r
+  <LoadingIndicator\r
+    ref="loadingIndicator"\r
     class="container mx-auto flex h-screen flex-col px-2 py-4 print:max-w-full"\r
   >\r
     <PrimeToast />\r
@@ -12,7 +13,7 @@
       @toggleSearchModal="toggleSearchModal"\r
     />\r
     <RouterView />\r
-  </div>\r
+  </LoadingIndicator>\r
 </template>\r
 \r
 <script setup>\r
@@ -28,9 +29,11 @@ import { loadTheme } from "./helpers.js";
 import NavBar from "./partials/NavBar.vue";\r
 import SearchModal from "./partials/SearchModal.vue";\r
 import { loadStoredToken } from "./tokenStorage.js";\r
+import LoadingIndicator from "./components/LoadingIndicator.vue";\r
 \r
 const globalStore = useGlobalStore();\r
 const isSearchModalVisible = ref(false);\r
+const loadingIndicator = ref();\r
 const navBar = ref();\r
 const route = useRoute();\r
 const toast = useToast();\r
@@ -47,9 +50,11 @@ getConfig()
   .then((data) => {\r
     globalStore.authType = data.authType;\r
     globalStore.hideRecentlyModified = data.hideRecentlyModified;\r
+    loadingIndicator.value.setLoaded();\r
   })\r
   .catch((error) => {\r
     apiErrorHandler(error, toast);\r
+    loadingIndicator.value.setFailed();\r
   });\r
 \r
 loadStoredToken();\r
git clone https://git.99rst.org/PROJECT