diff --git a/frontend/src/App.vue b/frontend/src/App.vue index b882f4d1806b..63d1c45e1549 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -48,32 +48,16 @@ export default { }, }, - async mounted() { + async created() { + // Initial API Requests this.$store.dispatch("initTheme"); - this.$store.dispatch("requestRecentRecipes"); this.$store.dispatch("refreshToken"); - this.$store.dispatch("requestCurrentGroup"); this.$store.dispatch("requestUserData"); - this.$store.dispatch("requestCategories"); + this.$store.dispatch("requestCurrentGroup"); this.$store.dispatch("requestTags"); - this.darkModeSystemCheck(); - this.darkModeAddEventListener(); this.$store.dispatch("requestAppInfo"); - this.$store.dispatch("requestCustomPages"); this.$store.dispatch("requestSiteSettings"); - }, - data() { - return { - refreshing: false, - registration: null, - snackBtnText: "", - snackWithBtnText: "", - snackWithButtons: false, - }; - }, - - created() { // Listen for swUpdated event and display refresh snackbar as required. document.addEventListener("swUpdated", this.showRefreshUI, { once: true }); // Refresh all open app tabs when a new service worker is installed. @@ -86,6 +70,21 @@ export default { } }, + mounted() { + this.darkModeSystemCheck(); + this.darkModeAddEventListener(); + }, + + data() { + return { + refreshing: false, + registration: null, + snackBtnText: "", + snackWithBtnText: "", + snackWithButtons: false, + }; + }, + methods: { // For Later! diff --git a/frontend/src/components/FormHelpers/CategoryTagSelector.vue b/frontend/src/components/FormHelpers/CategoryTagSelector.vue index 32b5eeba35c6..e02b988b48ef 100644 --- a/frontend/src/components/FormHelpers/CategoryTagSelector.vue +++ b/frontend/src/components/FormHelpers/CategoryTagSelector.vue @@ -72,6 +72,13 @@ export default { selected: [], }; }, + async created() { + if (this.tagSelector) { + this.$store.dispatch("requestTags"); + } else { + this.$store.dispatch("requestCategories"); + } + }, mounted() { this.$emit(MOUNTED_EVENT); this.setInit(this.value); diff --git a/frontend/src/components/FormHelpers/LanguageSelector.vue b/frontend/src/components/FormHelpers/LanguageSelector.vue index c1959003e049..c480fad998d5 100644 --- a/frontend/src/components/FormHelpers/LanguageSelector.vue +++ b/frontend/src/components/FormHelpers/LanguageSelector.vue @@ -30,7 +30,7 @@ export default { ], }; }, - mounted() { + created() { this.selectedItem = this.$store.getters.getActiveLang; }, computed: { diff --git a/frontend/src/components/MealPlan/MealPlanNew.vue b/frontend/src/components/MealPlan/MealPlanNew.vue index 754502796a61..66eeb39683b1 100644 --- a/frontend/src/components/MealPlan/MealPlanNew.vue +++ b/frontend/src/components/MealPlan/MealPlanNew.vue @@ -122,7 +122,7 @@ export default { } }, }, - async mounted() { + async created() { await this.$store.dispatch("requestCurrentGroup"); await this.$store.dispatch("requestAllRecipes"); await this.buildMealStore(); diff --git a/frontend/src/components/UI/Dialogs/BackupDialog.vue b/frontend/src/components/UI/Dialogs/BackupDialog.vue index 4b3adde7d996..d9edb45efc53 100644 --- a/frontend/src/components/UI/Dialogs/BackupDialog.vue +++ b/frontend/src/components/UI/Dialogs/BackupDialog.vue @@ -82,7 +82,7 @@ export default { } else return this.$t("settings.backup.partial-backup"); }, }, - mounted() { + created() { this.resetData(); this.getAvailableBackups(); }, diff --git a/frontend/src/components/UI/TheSidebar.vue b/frontend/src/components/UI/TheSidebar.vue index a93971937000..effe1338d107 100644 --- a/frontend/src/components/UI/TheSidebar.vue +++ b/frontend/src/components/UI/TheSidebar.vue @@ -78,15 +78,21 @@ export default { hideImage: false, }; }, - mounted() { - this.getVersion(); - + created() { this.showSidebar = !this.isMobile; }, + watch: { user() { this.hideImage = false; }, + isMain(val) { + if (val) { + this.$store.dispatch("requestCustomPages"); + } else { + this.getVersion(); + } + }, }, computed: { diff --git a/frontend/src/pages/Admin/About/index.vue b/frontend/src/pages/Admin/About/index.vue index a27e1c3abd4a..fae2ee76d1db 100644 --- a/frontend/src/pages/Admin/About/index.vue +++ b/frontend/src/pages/Admin/About/index.vue @@ -75,7 +75,7 @@ export default { prettyInfo: [], }; }, - async mounted() { + async created() { await this.getInfo(); }, methods: { diff --git a/frontend/src/pages/Admin/Dashboard/BackupViewer.vue b/frontend/src/pages/Admin/Dashboard/BackupViewer.vue index ba6698190192..b0365fc23319 100644 --- a/frontend/src/pages/Admin/Dashboard/BackupViewer.vue +++ b/frontend/src/pages/Admin/Dashboard/BackupViewer.vue @@ -89,7 +89,7 @@ export default { return this.availableBackups.length; }, }, - mounted() { + created() { this.getAvailableBackups(); }, methods: { diff --git a/frontend/src/pages/Admin/Dashboard/index.vue b/frontend/src/pages/Admin/Dashboard/index.vue index b3d4045acdaa..f217e700551c 100644 --- a/frontend/src/pages/Admin/Dashboard/index.vue +++ b/frontend/src/pages/Admin/Dashboard/index.vue @@ -105,7 +105,7 @@ export default { }, }; }, - mounted() { + created() { this.getStatistics(); }, methods: { diff --git a/frontend/src/pages/Admin/ManageUsers/GroupCard.vue b/frontend/src/pages/Admin/ManageUsers/GroupCard.vue index 532965d533e2..3ab26d3f2860 100644 --- a/frontend/src/pages/Admin/ManageUsers/GroupCard.vue +++ b/frontend/src/pages/Admin/ManageUsers/GroupCard.vue @@ -76,7 +76,7 @@ export default { return this.group.users.length >= 1 ? true : false; }, }, - mounted() { + created() { this.buildData(); }, methods: { diff --git a/frontend/src/pages/Admin/ManageUsers/index.vue b/frontend/src/pages/Admin/ManageUsers/index.vue index 57ef730b686e..15e1888877ef 100644 --- a/frontend/src/pages/Admin/ManageUsers/index.vue +++ b/frontend/src/pages/Admin/ManageUsers/index.vue @@ -54,7 +54,7 @@ export default { }, }, }, - mounted() { + created() { this.reqGroups(); }, methods: { diff --git a/frontend/src/pages/Admin/Migration/index.vue b/frontend/src/pages/Admin/Migration/index.vue index 441d28defd93..c345bde2996f 100644 --- a/frontend/src/pages/Admin/Migration/index.vue +++ b/frontend/src/pages/Admin/Migration/index.vue @@ -52,7 +52,7 @@ export default { }, }; }, - mounted() { + created() { this.getAvailableMigrations(); }, methods: { diff --git a/frontend/src/pages/Admin/Profile/APITokenCard.vue b/frontend/src/pages/Admin/Profile/APITokenCard.vue index 340657faeda1..6977229a5fc7 100644 --- a/frontend/src/pages/Admin/Profile/APITokenCard.vue +++ b/frontend/src/pages/Admin/Profile/APITokenCard.vue @@ -100,7 +100,7 @@ export default { }; }, - mounted() { + created() { this.$store.dispatch("requestUserData"); }, diff --git a/frontend/src/pages/Admin/Profile/ProfileGroupCard.vue b/frontend/src/pages/Admin/Profile/ProfileGroupCard.vue index 0b15ce7a6dec..27c4f5fb8187 100644 --- a/frontend/src/pages/Admin/Profile/ProfileGroupCard.vue +++ b/frontend/src/pages/Admin/Profile/ProfileGroupCard.vue @@ -160,7 +160,7 @@ export default { }, }, - async mounted() { + async created() { this.getTodaysMeal(); await this.$store.dispatch("requestCurrentGroup"); this.getSiteSettings(); diff --git a/frontend/src/pages/Admin/Profile/ProfileThemeCard.vue b/frontend/src/pages/Admin/Profile/ProfileThemeCard.vue index b8078d09a8e8..6a2559eead38 100644 --- a/frontend/src/pages/Admin/Profile/ProfileThemeCard.vue +++ b/frontend/src/pages/Admin/Profile/ProfileThemeCard.vue @@ -189,7 +189,7 @@ export default { }, }, }, - async mounted() { + async created() { await this.getAllThemes(); }, methods: { diff --git a/frontend/src/pages/Admin/Profile/UserCard.vue b/frontend/src/pages/Admin/Profile/UserCard.vue index ab2d2a420386..6f716d184962 100644 --- a/frontend/src/pages/Admin/Profile/UserCard.vue +++ b/frontend/src/pages/Admin/Profile/UserCard.vue @@ -138,7 +138,7 @@ export default { }, }, - async mounted() { + async created() { this.refreshProfile(); }, diff --git a/frontend/src/pages/Admin/Settings/CustomPageCreator.vue b/frontend/src/pages/Admin/Settings/CustomPageCreator.vue index c4dedeac5057..2da1ce91f97e 100644 --- a/frontend/src/pages/Admin/Settings/CustomPageCreator.vue +++ b/frontend/src/pages/Admin/Settings/CustomPageCreator.vue @@ -90,7 +90,7 @@ export default { }, }; }, - async mounted() { + async created() { this.getPages(); }, methods: { diff --git a/frontend/src/pages/Admin/Settings/HomePageSettings.vue b/frontend/src/pages/Admin/Settings/HomePageSettings.vue index e5862cbeee6d..14c0c8ec8966 100644 --- a/frontend/src/pages/Admin/Settings/HomePageSettings.vue +++ b/frontend/src/pages/Admin/Settings/HomePageSettings.vue @@ -154,7 +154,7 @@ export default { }, }; }, - mounted() { + created() { this.getOptions(); }, computed: { diff --git a/frontend/src/pages/Admin/ToolBox/CategoryTagEditor/BulkAssign.vue b/frontend/src/pages/Admin/ToolBox/CategoryTagEditor/BulkAssign.vue index 2707c0d86f4d..19c0aec4cfec 100644 --- a/frontend/src/pages/Admin/ToolBox/CategoryTagEditor/BulkAssign.vue +++ b/frontend/src/pages/Admin/ToolBox/CategoryTagEditor/BulkAssign.vue @@ -67,7 +67,7 @@ export default { tagsToAssign: [], }; }, - mounted() { + created() { this.$store.dispatch("requestAllRecipes"); }, watch: { diff --git a/frontend/src/pages/Admin/ToolBox/EventNotification.vue b/frontend/src/pages/Admin/ToolBox/EventNotification.vue index fd5ecc2b3b06..c022dbb3c1e5 100644 --- a/frontend/src/pages/Admin/ToolBox/EventNotification.vue +++ b/frontend/src/pages/Admin/ToolBox/EventNotification.vue @@ -157,7 +157,7 @@ export default { ], }; }, - mounted() { + created() { this.getAllNotifications(); }, computed: { diff --git a/frontend/src/pages/Admin/ToolBox/RecipeOrganizer.vue b/frontend/src/pages/Admin/ToolBox/RecipeOrganizer.vue index d3d710159d48..9e08cfb536be 100644 --- a/frontend/src/pages/Admin/ToolBox/RecipeOrganizer.vue +++ b/frontend/src/pages/Admin/ToolBox/RecipeOrganizer.vue @@ -67,7 +67,7 @@ export default { }, }, }, - mounted() { + created() { this.refreshUnorganized(); }, methods: { diff --git a/frontend/src/pages/HomePage.vue b/frontend/src/pages/HomePage.vue index af00811beba4..0aea6fec95ab 100644 --- a/frontend/src/pages/HomePage.vue +++ b/frontend/src/pages/HomePage.vue @@ -33,6 +33,11 @@ export default { recipeByCategory: [], }; }, + async created() { + await this.$store.dispatch("requestRecentRecipes"); + await this.buildPage(); + this.recipeByCategory.sort((a, b) => a.position - b.position); + }, computed: { siteSettings() { return this.$store.getters.getSiteSettings; @@ -41,10 +46,7 @@ export default { return this.$store.getters.getRecentRecipes; }, }, - async mounted() { - await this.buildPage(); - this.recipeByCategory.sort((a, b) => a.position - b.position); - }, + methods: { async buildPage() { await this.$store.dispatch("requestSiteSettings"); diff --git a/frontend/src/pages/MealPlan/Planner.vue b/frontend/src/pages/MealPlan/Planner.vue index 16f4adb84667..4647b455c34a 100644 --- a/frontend/src/pages/MealPlan/Planner.vue +++ b/frontend/src/pages/MealPlan/Planner.vue @@ -101,7 +101,7 @@ export default { plannedMeals: [], editMealPlan: null, }), - async mounted() { + async created() { this.requestMeals(); }, methods: { diff --git a/frontend/src/pages/MealPlan/ThisWeek.vue b/frontend/src/pages/MealPlan/ThisWeek.vue index 7b74f5c3f1a9..002d4da30654 100644 --- a/frontend/src/pages/MealPlan/ThisWeek.vue +++ b/frontend/src/pages/MealPlan/ThisWeek.vue @@ -45,7 +45,7 @@ export default { mealPlan: {}, }; }, - async mounted() { + async created() { if (this.mealplanId) { this.mealPlan = await api.mealPlans.getById(this.mealplanId); } else { diff --git a/frontend/src/pages/Recipe/ScraperDebugger.vue b/frontend/src/pages/Recipe/ScraperDebugger.vue index 68ca3073abb8..8b91bfb85b0c 100644 --- a/frontend/src/pages/Recipe/ScraperDebugger.vue +++ b/frontend/src/pages/Recipe/ScraperDebugger.vue @@ -28,7 +28,7 @@ export default { defaultMessage: { details: "site failed to return valid schema" }, }; }, - mounted() { + created() { if (this.$route.query.test_url) { this.getTestData(); } diff --git a/frontend/src/pages/Recipe/ViewRecipe.vue b/frontend/src/pages/Recipe/ViewRecipe.vue index 37b3f6b70e14..fa0842cc4209 100644 --- a/frontend/src/pages/Recipe/ViewRecipe.vue +++ b/frontend/src/pages/Recipe/ViewRecipe.vue @@ -130,12 +130,13 @@ export default { }; }, - async mounted() { - await this.getRecipeDetails(); - + created() { + this.getRecipeDetails(); this.jsonEditor = false; this.form = this.$route.query.edit === "true" && this.loggedIn; + }, + async mounted() { this.checkPrintRecipe(); }, diff --git a/frontend/src/pages/Recipes/AllRecipes.vue b/frontend/src/pages/Recipes/AllRecipes.vue index 12cc41aee8b4..da1069b18d02 100644 --- a/frontend/src/pages/Recipes/AllRecipes.vue +++ b/frontend/src/pages/Recipes/AllRecipes.vue @@ -28,7 +28,7 @@ export default { sortedResults: [], }; }, - async mounted() { + async created() { if (this.allRecipes.length < 1) { this.loading = true; } diff --git a/frontend/src/pages/Recipes/CategoryTagPage.vue b/frontend/src/pages/Recipes/CategoryTagPage.vue index bf6b6e795902..eff8a13ddfd6 100644 --- a/frontend/src/pages/Recipes/CategoryTagPage.vue +++ b/frontend/src/pages/Recipes/CategoryTagPage.vue @@ -81,7 +81,7 @@ export default { this.getRecipes(); }, }, - mounted() { + created() { this.getRecipes(); this.sortedResults = []; }, diff --git a/frontend/src/pages/Recipes/CustomPage.vue b/frontend/src/pages/Recipes/CustomPage.vue index 53a830d83cec..c9b91b70e5ab 100644 --- a/frontend/src/pages/Recipes/CustomPage.vue +++ b/frontend/src/pages/Recipes/CustomPage.vue @@ -58,7 +58,7 @@ export default { }, }, - async mounted() { + async created() { await this.buildPage(); this.render = true; }, diff --git a/frontend/src/pages/Recipes/Favorites.vue b/frontend/src/pages/Recipes/Favorites.vue index 39e2fd07531d..950210eff97f 100644 --- a/frontend/src/pages/Recipes/Favorites.vue +++ b/frontend/src/pages/Recipes/Favorites.vue @@ -34,7 +34,7 @@ export default { } }, }, - async mounted() { + async created() { this.userData = await api.users.getFavorites(this.$route.params.id); this.sortedResults = []; }, diff --git a/frontend/src/pages/SearchPage/index.vue b/frontend/src/pages/SearchPage/index.vue index 48eec44e9e8c..8d8ffdaa6e4b 100644 --- a/frontend/src/pages/SearchPage/index.vue +++ b/frontend/src/pages/SearchPage/index.vue @@ -88,7 +88,7 @@ export default { }, }; }, - mounted() { + created() { this.$store.dispatch("requestAllRecipes"); }, computed: {