From be1bc85f409ef1ee953814569dda6d164d5a68cf Mon Sep 17 00:00:00 2001 From: Tobias Zoghaib Date: Fri, 8 Nov 2024 13:45:09 +0100 Subject: [PATCH] First startup dialog, factory reset --- software/backend/scripts/databaseHelper.ts | 12 +- software/src/App.vue | 35 +--- .../src/components/basics/actionDialog.vue | 6 +- .../components/pageParts/serverStateText.vue | 32 +++ software/src/data/enums/themeEnums.ts | 5 +- software/src/locales/de.json | 28 ++- software/src/locales/en.json | 28 ++- .../{ => misc}/homePage/bandsSection.vue | 0 .../src/pages/{ => misc}/homePage/index.vue | 16 +- .../homePage/topLocationsSection.vue | 0 .../homePage/upcomingConcertsSection.vue | 0 .../src/pages/misc/homePage/welcomeDialog.vue | 185 ++++++++++++++++++ .../src/pages/misc/preferencesPage/index.vue | 11 +- .../{pageSetup.vue => pageSetupSection.vue} | 13 -- .../misc/preferencesPage/systemSetup.vue | 84 -------- .../preferencesPage/systemSetupSection.vue | 91 +++++++++ .../misc/preferencesPage/userSection.vue | 32 +++ software/src/router/routes.ts | 2 +- software/src/stores/preferences.store.ts | 28 ++- 19 files changed, 452 insertions(+), 156 deletions(-) create mode 100644 software/src/components/pageParts/serverStateText.vue rename software/src/pages/{ => misc}/homePage/bandsSection.vue (100%) rename software/src/pages/{ => misc}/homePage/index.vue (60%) rename software/src/pages/{ => misc}/homePage/topLocationsSection.vue (100%) rename software/src/pages/{ => misc}/homePage/upcomingConcertsSection.vue (100%) create mode 100644 software/src/pages/misc/homePage/welcomeDialog.vue rename software/src/pages/misc/preferencesPage/{pageSetup.vue => pageSetupSection.vue} (72%) delete mode 100644 software/src/pages/misc/preferencesPage/systemSetup.vue create mode 100644 software/src/pages/misc/preferencesPage/systemSetupSection.vue create mode 100644 software/src/pages/misc/preferencesPage/userSection.vue diff --git a/software/backend/scripts/databaseHelper.ts b/software/backend/scripts/databaseHelper.ts index 25a6379..f574c57 100644 --- a/software/backend/scripts/databaseHelper.ts +++ b/software/backend/scripts/databaseHelper.ts @@ -90,12 +90,12 @@ export async function prepopulateDatabase() { { await City.create(city) .then(async cityDataset => { - for (let location of city.locations) + for (let { ...location } of city.locations) { location["cityId"] = cityDataset.id location["urlName"] = location.name.replaceAll(" ", "-").toLowerCase() - location["imageIndoor"] = "http://localhost:3000/static/" + location["imageIndoor"] - location["imageOutdoor"] = "http://localhost:3000/static/" + location["imageOutdoor"] + location.imageIndoor = "http://localhost:3000/static/" + location["imageIndoor"] + location.imageOutdoor = "http://localhost:3000/static/" + location["imageOutdoor"] await Location.create(location) .then(async locationDataset => { @@ -240,7 +240,7 @@ export async function prepopulateDatabase() { let concerts = [] let ratings = [] - for(let band of bandsConcerts.bands) { + for(let { ...band } of bandsConcerts.bands) { band.imageMembers = "http://localhost:3000/static/" + band.imageMembers band.images = band.images.map(image => "http://localhost:3000/static/" + image) band.logo = "http://localhost:3000/static/" + band.logo @@ -282,11 +282,9 @@ export async function prepopulateDatabase() { } for (let member of band.members) { - member.image = "http://localhost:3000/static/" + member.image - bandMembers.push({ name: member.name, - image: member.image, + image: "http://localhost:3000/static/" + member.image, bandId: dataset.dataValues.id }) } diff --git a/software/src/App.vue b/software/src/App.vue index aa1e54e..9bb00f2 100644 --- a/software/src/App.vue +++ b/software/src/App.vue @@ -9,8 +9,6 @@ import { useFeedbackStore } from './stores/feedback.store'; import companyFooter from './components/navigation/companyFooter.vue'; import urlBar from './components/navigation/urlBar.vue'; import { useRouter } from 'vue-router'; -import actionDialog from './components/basics/actionDialog.vue'; -import CircularProgressIndeterminate from './components/basics/circularProgressIndeterminate.vue'; const preferencesStore = usePreferencesStore() const feedbackStore = useFeedbackStore() @@ -19,18 +17,18 @@ const router = useRouter() theme.global.name.value = preferencesStore.theme - -// First startup -if (preferencesStore.firstStartup) { - preferencesStore.firstStartupRoutine() -} - - // Global watcher +// Watch for language change watch(() => preferencesStore.language, () => { i18n.global.locale = preferencesStore.language }, { immediate: true }) +// Watch for theme change +watch(() => preferencesStore.theme, () => { + theme.global.name.value = preferencesStore.theme +}) + +// Watch for 404 page directions watch(() => feedbackStore.notFound, () => { if (feedbackStore.notFound) { feedbackStore.notFound = false @@ -92,23 +90,4 @@ watch(() => feedbackStore.notFound, () => { - - - - - {{ $t('misc.firstStartup.description') }} - - - - - - - - - \ No newline at end of file diff --git a/software/src/components/basics/actionDialog.vue b/software/src/components/basics/actionDialog.vue index b483a71..6ff8171 100644 --- a/software/src/components/basics/actionDialog.vue +++ b/software/src/components/basics/actionDialog.vue @@ -23,9 +23,11 @@ defineProps({ :icon="icon" :tonal="false" > - + -