Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a281b9a7ff | |||
| ff21a9feda |
1
.vscode/settings.json
vendored
1
.vscode/settings.json
vendored
@@ -13,4 +13,5 @@
|
|||||||
],
|
],
|
||||||
"i18n-ally.keystyle": "nested",
|
"i18n-ally.keystyle": "nested",
|
||||||
"i18n-ally.extract.autoDetect": true,
|
"i18n-ally.extract.autoDetect": true,
|
||||||
|
"vue.features.takeOverMode.enabled": true
|
||||||
}
|
}
|
||||||
1085
package-lock.json
generated
1085
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -44,8 +44,8 @@
|
|||||||
"exifreader": "^4.25.0",
|
"exifreader": "^4.25.0",
|
||||||
"express": "^4.21.1",
|
"express": "^4.21.1",
|
||||||
"jsonwebtoken": "^9.0.2",
|
"jsonwebtoken": "^9.0.2",
|
||||||
"jspdf": "^2.5.2",
|
"jspdf": "^3.0.2",
|
||||||
"jspdf-autotable": "^3.8.4",
|
"jspdf-autotable": "^5.0.2",
|
||||||
"moment": "^2.30.1",
|
"moment": "^2.30.1",
|
||||||
"multer": "^1.4.5-lts.1",
|
"multer": "^1.4.5-lts.1",
|
||||||
"pinia": "^2.2.4",
|
"pinia": "^2.2.4",
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"nodemon": "^3.1.7",
|
"nodemon": "^3.1.7",
|
||||||
"rimraf": "^6.0.1",
|
"rimraf": "^6.0.1",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"vite": "^5.4.9",
|
"vite": "^7.1.4",
|
||||||
"vue-tsc": "^2.1.10"
|
"vue-tsc": "^2.1.10"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
93
src/App.vue
93
src/App.vue
@@ -1,50 +1,63 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useTheme } from 'vuetify/lib/framework.mjs';
|
import { useTheme } from "vuetify/lib/framework.mjs";
|
||||||
import { i18n } from './plugins/i18n';
|
import { i18n } from "./plugins/i18n";
|
||||||
import { ref, watch } from 'vue';
|
import { ref, watch } from "vue";
|
||||||
import { usePreferencesStore } from './stores/preferences.store';
|
import { usePreferencesStore } from "./stores/preferences.store";
|
||||||
import { useFeedbackStore } from './stores/feedback.store';
|
import { useFeedbackStore } from "./stores/feedback.store";
|
||||||
import companyFooter from './components/navigation/companyFooter.vue';
|
import companyFooter from "./components/organisms/companyFooter.vue";
|
||||||
import urlBar from './components/navigation/urlBar.vue';
|
import urlBar from "./components/organisms/urlBar.vue";
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from "vue-router";
|
||||||
import NavigationBar from './components/navigation/navigationBar.vue';
|
import navigationBar from "./components/organisms/navigationBar.vue";
|
||||||
import { BannerStateEnum } from './data/enums/bannerStateEnum';
|
import { BannerStateEnum } from "./data/enums/bannerStateEnum";
|
||||||
|
|
||||||
const preferencesStore = usePreferencesStore()
|
const preferencesStore = usePreferencesStore();
|
||||||
const feedbackStore = useFeedbackStore()
|
const feedbackStore = useFeedbackStore();
|
||||||
const theme = useTheme()
|
const theme = useTheme();
|
||||||
const router = useRouter()
|
const router = useRouter();
|
||||||
|
|
||||||
theme.global.name.value = preferencesStore.theme
|
theme.global.name.value = preferencesStore.theme;
|
||||||
|
|
||||||
// Global watcher
|
// Global watcher
|
||||||
// Watch for language change
|
// Watch for language change
|
||||||
watch(() => preferencesStore.language, () => {
|
watch(
|
||||||
i18n.global.locale = preferencesStore.language
|
() => preferencesStore.language,
|
||||||
}, { immediate: true })
|
() => {
|
||||||
|
i18n.global.locale = preferencesStore.language;
|
||||||
|
},
|
||||||
|
{ immediate: true }
|
||||||
|
);
|
||||||
|
|
||||||
// Watch for theme change
|
// Watch for theme change
|
||||||
watch(() => preferencesStore.theme, () => {
|
watch(
|
||||||
theme.global.name.value = preferencesStore.theme
|
() => preferencesStore.theme,
|
||||||
})
|
() => {
|
||||||
|
theme.global.name.value = preferencesStore.theme;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
// Watch for 404 page directions
|
// Watch for 404 page directions
|
||||||
watch(() => feedbackStore.notFound, () => {
|
watch(
|
||||||
|
() => feedbackStore.notFound,
|
||||||
|
() => {
|
||||||
if (feedbackStore.notFound) {
|
if (feedbackStore.notFound) {
|
||||||
feedbackStore.notFound = false
|
feedbackStore.notFound = false;
|
||||||
router.push("/404")
|
router.push("/404");
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
);
|
||||||
|
|
||||||
// Watch for snackbar disappear
|
// Watch for snackbar disappear
|
||||||
watch(() => feedbackStore.showSnackbar, () => {
|
watch(
|
||||||
|
() => feedbackStore.showSnackbar,
|
||||||
|
() => {
|
||||||
if (!feedbackStore.showSnackbar) {
|
if (!feedbackStore.showSnackbar) {
|
||||||
feedbackStore.snackbars = []
|
feedbackStore.snackbars = [];
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
);
|
||||||
|
|
||||||
function calcMargin(i) {
|
function calcMargin(i) {
|
||||||
return (i * 60) + 10 + 'px'
|
return i * 60 + 10 + "px";
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -56,7 +69,6 @@ function calcMargin(i) {
|
|||||||
<!-- Navigaion bar of page -->
|
<!-- Navigaion bar of page -->
|
||||||
<navigation-bar />
|
<navigation-bar />
|
||||||
|
|
||||||
|
|
||||||
<v-main>
|
<v-main>
|
||||||
<!-- Snackbar in the top right corner for user feedback -->
|
<!-- Snackbar in the top right corner for user feedback -->
|
||||||
<v-snackbar
|
<v-snackbar
|
||||||
@@ -75,21 +87,18 @@ function calcMargin(i) {
|
|||||||
</v-snackbar>
|
</v-snackbar>
|
||||||
|
|
||||||
<!-- Here changes the router the content -->
|
<!-- Here changes the router the content -->
|
||||||
<v-container max-width="1400" min-height="1000" class="py-0" height="100%">
|
<v-container
|
||||||
|
max-width="1400"
|
||||||
|
min-height="1000"
|
||||||
|
class="py-0 px-0"
|
||||||
|
height="100%"
|
||||||
|
>
|
||||||
<v-sheet color="sheet" height="100%">
|
<v-sheet color="sheet" height="100%">
|
||||||
<router-view></router-view>
|
<router-view></router-view>
|
||||||
</v-sheet>
|
</v-sheet>
|
||||||
|
|
||||||
</v-container>
|
</v-container>
|
||||||
|
|
||||||
<v-btn
|
<v-btn fab dark fixed bottom right color="primary">
|
||||||
fab
|
|
||||||
dark
|
|
||||||
fixed
|
|
||||||
bottom
|
|
||||||
right
|
|
||||||
color="primary"
|
|
||||||
>
|
|
||||||
<v-icon>keyboard_arrow_up</v-icon>
|
<v-icon>keyboard_arrow_up</v-icon>
|
||||||
</v-btn>
|
</v-btn>
|
||||||
|
|
||||||
@@ -104,8 +113,8 @@ function calcMargin(i) {
|
|||||||
location="bottom right"
|
location="bottom right"
|
||||||
class="pa-3 mb-12 mr-n16 text-center text-h5"
|
class="pa-3 mb-12 mr-n16 text-center text-h5"
|
||||||
width="300"
|
width="300"
|
||||||
style="rotate: 315deg; z-index: 1008;"
|
style="rotate: 315deg; z-index: 1008"
|
||||||
>
|
>
|
||||||
{{ $t('misc.testEnvironment') }}
|
{{ $t("misc.testEnvironment") }}
|
||||||
</v-sheet>
|
</v-sheet>
|
||||||
</template>
|
</template>
|
||||||
@@ -1,6 +1,3 @@
|
|||||||
<script setup lang="ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<v-progress-circular
|
<v-progress-circular
|
||||||
size="128"
|
size="128"
|
||||||
23
src/components/atoms/headerText.vue
Normal file
23
src/components/atoms/headerText.vue
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
defineProps({
|
||||||
|
// Title text
|
||||||
|
title: String,
|
||||||
|
|
||||||
|
// Activate loading state (skeleton loader)
|
||||||
|
loading: {
|
||||||
|
default: false,
|
||||||
|
type: Boolean,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<v-skeleton-loader
|
||||||
|
type="heading"
|
||||||
|
:loading="loading"
|
||||||
|
width="300"
|
||||||
|
class="d-flex justify-center align-center text-h4"
|
||||||
|
>
|
||||||
|
{{ title }}
|
||||||
|
</v-skeleton-loader>
|
||||||
|
</template>
|
||||||
3
src/components/atoms/horizontalLine.vue
Normal file
3
src/components/atoms/horizontalLine.vue
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<template>
|
||||||
|
<v-sheet height="12" width="100%" color="primary" class="rounded-pill" />
|
||||||
|
</template>
|
||||||
44
src/components/atoms/listItem.vue
Normal file
44
src/components/atoms/listItem.vue
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
const props = defineProps({
|
||||||
|
// Title string
|
||||||
|
title: String,
|
||||||
|
|
||||||
|
// Subtitle string below title
|
||||||
|
subtitle: String,
|
||||||
|
|
||||||
|
// Icon on the left side
|
||||||
|
prependIcon: String,
|
||||||
|
|
||||||
|
// Activate loading state (skeleton loader)
|
||||||
|
loading: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
|
||||||
|
// Handle action if user taps on item
|
||||||
|
// Activates a icon on the right site
|
||||||
|
onTap: {
|
||||||
|
type: Function,
|
||||||
|
default: undefined,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
function executeOnTapped() {
|
||||||
|
if (props.onTap != undefined) {
|
||||||
|
props.onTap();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<v-skeleton-loader :loading="loading" type="list-item">
|
||||||
|
<v-list-item
|
||||||
|
:title="title"
|
||||||
|
:subtitle="subtitle"
|
||||||
|
:prepend-icon="prependIcon"
|
||||||
|
:append-icon="onTap != undefined ? 'mdi-open-in-new' : ''"
|
||||||
|
width="100%"
|
||||||
|
@click="executeOnTapped()"
|
||||||
|
/>
|
||||||
|
</v-skeleton-loader>
|
||||||
|
</template>
|
||||||
@@ -1,10 +1,16 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
defineProps({
|
defineProps({
|
||||||
|
// Icon displayed on the left side
|
||||||
prependIcon: String,
|
prependIcon: String,
|
||||||
|
|
||||||
|
// Color of button, defaults to secondary
|
||||||
color: {
|
color: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "secondary"
|
default: "secondary"
|
||||||
}
|
},
|
||||||
|
|
||||||
|
// Activate loading state
|
||||||
|
loading: Boolean
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -13,6 +19,7 @@ defineProps({
|
|||||||
:prepend-icon="prependIcon"
|
:prepend-icon="prependIcon"
|
||||||
variant="outlined"
|
variant="outlined"
|
||||||
:color="color"
|
:color="color"
|
||||||
|
:loading="loading"
|
||||||
>
|
>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</v-btn>
|
</v-btn>
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
<script setup lang="ts">
|
|
||||||
defineProps({
|
|
||||||
title: String,
|
|
||||||
image: String,
|
|
||||||
loading: Boolean
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<v-row class="pt-3 d-none d-md-flex">
|
|
||||||
<!-- Left line -->
|
|
||||||
<v-col class="d-flex justify-center align-center">
|
|
||||||
<v-sheet height="12" width="100%" color="primary" class="rounded-s-lg" />
|
|
||||||
</v-col>
|
|
||||||
|
|
||||||
<!-- Title -->
|
|
||||||
<v-col class="v-col-auto">
|
|
||||||
<v-skeleton-loader
|
|
||||||
type="heading"
|
|
||||||
:loading="loading"
|
|
||||||
width="300"
|
|
||||||
>
|
|
||||||
<v-sheet
|
|
||||||
class="text-h4"
|
|
||||||
color="sheet"
|
|
||||||
>
|
|
||||||
{{ title }}
|
|
||||||
</v-sheet>
|
|
||||||
</v-skeleton-loader>
|
|
||||||
</v-col>
|
|
||||||
|
|
||||||
<!-- Right line -->
|
|
||||||
<v-col class="d-flex justify-center align-center">
|
|
||||||
<v-sheet height="12" width="100%" color="primary" class="rounded-e-lg" />
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
|
|
||||||
<v-row class="d-md-none">
|
|
||||||
<v-col>
|
|
||||||
<v-skeleton-loader
|
|
||||||
type="heading"
|
|
||||||
:loading="loading"
|
|
||||||
class="d-flex justify-center align-center"
|
|
||||||
>
|
|
||||||
<span class="text-h4 text-center">{{ title }}</span>
|
|
||||||
</v-skeleton-loader>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
|
|
||||||
<v-row class="d-md-none">
|
|
||||||
<v-col class="d-flex justify-center align-center">
|
|
||||||
<v-sheet height="12" width="80%" color="primary" class="rounded-pill" />
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</template>
|
|
||||||
46
src/components/molecules/sectionDivider.vue
Normal file
46
src/components/molecules/sectionDivider.vue
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import horizontalLine from "../atoms/horizontalLine.vue";
|
||||||
|
import headerText from "../atoms/headerText.vue";
|
||||||
|
|
||||||
|
defineProps({
|
||||||
|
// Title text
|
||||||
|
title: String,
|
||||||
|
|
||||||
|
// Activate loading state
|
||||||
|
loading: Boolean,
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<!-- Layout for displays >=md -->
|
||||||
|
<v-row class="pt-3 d-none d-md-flex">
|
||||||
|
<!-- Left line -->
|
||||||
|
<v-col class="d-flex justify-center align-center">
|
||||||
|
<horizontal-line />
|
||||||
|
</v-col>
|
||||||
|
|
||||||
|
<!-- Title -->
|
||||||
|
<v-col class="v-col-auto">
|
||||||
|
<header-text :loading="loading" :title="title" />
|
||||||
|
</v-col>
|
||||||
|
|
||||||
|
<!-- Right line -->
|
||||||
|
<v-col class="d-flex justify-center align-center">
|
||||||
|
<horizontal-line />
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
|
||||||
|
<!-- Layout for display <md -->
|
||||||
|
|
||||||
|
<v-row class="d-md-none">
|
||||||
|
<v-col>
|
||||||
|
<header-text :loading="loading" :title="title" />
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
|
||||||
|
<v-row class="d-md-none">
|
||||||
|
<v-col class="d-flex justify-center align-center">
|
||||||
|
<horizontal-line />
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
</template>
|
||||||
@@ -1,54 +1,63 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from "@/components/basics/cardView.vue";
|
import cardView from "@/components/molecules/cardView.vue";
|
||||||
import packageJson from "./../../../../package.json";
|
import packageJson from "../../../package.json";
|
||||||
|
import listItem from "@/components/atoms/listItem.vue";
|
||||||
|
|
||||||
function openExternal(url: string) {
|
function openExternal(url: string) {
|
||||||
window.open(url, "_blank");
|
window.open(url, "_blank");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function openRepository() {
|
||||||
|
openExternal(
|
||||||
|
"https://github.com/TobiZog/eventmaster"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function openWebsite() {
|
||||||
|
openExternal(
|
||||||
|
"https://www.itsec.uni-hannover.de/de/usec/forschung/eventmaster-learning-web-attacks"
|
||||||
|
);
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<card-view :title="$t('preferences.aboutProject')" icon="mdi-information">
|
<card-view :title="$t('preferences.aboutProject')" icon="mdi-information">
|
||||||
<template #borderless>
|
<template #borderless>
|
||||||
<v-list>
|
<v-list>
|
||||||
<v-list-item
|
<list-item
|
||||||
:title="$t('misc.softwareVersion')"
|
:title="$t('misc.softwareVersion')"
|
||||||
:subtitle="packageJson.version"
|
:subtitle="packageJson.version"
|
||||||
prepend-icon="mdi-counter"
|
prepend-icon="mdi-counter"
|
||||||
/>
|
/>
|
||||||
<v-list-item
|
<list-item
|
||||||
:title="$t('misc.license')"
|
:title="$t('misc.license')"
|
||||||
subtitle="MIT"
|
subtitle="MIT"
|
||||||
prepend-icon="mdi-license"
|
prepend-icon="mdi-license"
|
||||||
/>
|
/>
|
||||||
<v-list-item
|
<list-item
|
||||||
:title="$t('misc.developer')"
|
:title="$t('misc.developer')"
|
||||||
subtitle="Tobias Zoghaib"
|
subtitle="Tobias Zoghaib"
|
||||||
prepend-icon="mdi-account"
|
prepend-icon="mdi-account"
|
||||||
/>
|
/>
|
||||||
<v-list-item
|
<list-item
|
||||||
:title="$t('misc.developedFor')"
|
:title="$t('misc.developedFor')"
|
||||||
subtitle="Uni Hannover, Institut für IT-Sicherheit, Fachgebiet Usable Security and Privacy"
|
subtitle="Uni Hannover, Institut für IT-Sicherheit, Fachgebiet Usable Security and Privacy"
|
||||||
prepend-icon="mdi-school"
|
prepend-icon="mdi-school"
|
||||||
/>
|
/>
|
||||||
<v-list-item
|
<list-item
|
||||||
:title="$t('misc.copyright')"
|
:title="$t('misc.copyright')"
|
||||||
subtitle="2024-2025"
|
subtitle="2024-2025"
|
||||||
prepend-icon="mdi-copyright"
|
prepend-icon="mdi-copyright"
|
||||||
/>
|
/>
|
||||||
<v-list-item
|
<list-item
|
||||||
:title="$t('misc.githubRepository')"
|
:title="$t('misc.githubRepository')"
|
||||||
prepend-icon="mdi-web"
|
prepend-icon="mdi-web"
|
||||||
@click="openExternal('https://github.com/TobiZog/eventmaster')"
|
:onTap="openRepository"
|
||||||
/>
|
/>
|
||||||
<v-list-item
|
<list-item
|
||||||
:title="$t('misc.projectPage')"
|
:title="$t('misc.projectPage')"
|
||||||
prepend-icon="mdi-web"
|
prepend-icon="mdi-web"
|
||||||
@click="
|
:onTap="openWebsite"
|
||||||
openExternal(
|
|
||||||
'https://www.itsec.uni-hannover.de/de/usec/forschung/eventmaster-learning-web-attacks'
|
|
||||||
)
|
|
||||||
"
|
|
||||||
/>
|
/>
|
||||||
</v-list>
|
</v-list>
|
||||||
</template>
|
</template>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from '@/components/basics/cardView.vue';
|
import cardView from '@/components/molecules/cardView.vue';
|
||||||
import { useAccountStore } from '@/stores/account.store';
|
import { useAccountStore } from '@/stores/account.store';
|
||||||
import { useFeedbackStore } from '@/stores/feedback.store';
|
import { useFeedbackStore } from '@/stores/feedback.store';
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from '@/components/basics/cardView.vue';
|
import cardView from '@/components/molecules/cardView.vue';
|
||||||
import confirmDialog from '@/components/basics/confirmDialog.vue';
|
import confirmDialog from '@/components/organisms/confirmDialog.vue';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { useAccountStore } from '@/stores/account.store';
|
import { useAccountStore } from '@/stores/account.store';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ModelRef } from 'vue';
|
import { ModelRef } from 'vue';
|
||||||
import cardView from './cardView.vue';
|
import cardView from '../molecules/cardView.vue';
|
||||||
|
|
||||||
const showDialog: ModelRef<boolean> = defineModel()
|
const showDialog: ModelRef<boolean> = defineModel()
|
||||||
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import actionDialog from '@/components/basics/actionDialog.vue';
|
import actionDialog from '@/components/organisms/actionDialog.vue';
|
||||||
import OutlinedButton from '@/components/basics/outlinedButton.vue';
|
import OutlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { getIbanRules, getNumberStartRules, getPostalRules, getStringRules } from '@/scripts/validationRules';
|
import { getIbanRules, getNumberStartRules, getPostalRules, getStringRules } from '@/scripts/validationRules';
|
||||||
import { useAccountStore } from '@/stores/account.store';
|
import { useAccountStore } from '@/stores/account.store';
|
||||||
import cardViewOneLine from '@/components/basics/cardViewOneLine.vue';
|
import cardViewOneLine from '@/components/molecules/cardViewOneLine.vue';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
|
|
||||||
const valid = ref(false)
|
const valid = ref(false)
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import actionDialog from '@/components/basics/actionDialog.vue';
|
import actionDialog from '@/components/organisms/actionDialog.vue';
|
||||||
import OutlinedButton from '@/components/basics/outlinedButton.vue';
|
import OutlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { GenreModel } from '@/data/models/acts/genreModel';
|
import { GenreModel } from '@/data/models/acts/genreModel';
|
||||||
import { useBandStore } from '@/stores/band.store';
|
import { useBandStore } from '@/stores/band.store';
|
||||||
import { useGenreStore } from '@/stores/genre.store';
|
import { useGenreStore } from '@/stores/genre.store';
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from '@/components/basics/cardView.vue';
|
import cardView from '@/components/molecules/cardView.vue';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { GenreModel } from '@/data/models/acts/genreModel';
|
import { GenreModel } from '@/data/models/acts/genreModel';
|
||||||
import { useGenreStore } from '@/stores/genre.store';
|
import { useGenreStore } from '@/stores/genre.store';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { BandModel } from '@/data/models/acts/bandModel';
|
import { BandModel } from '@/data/models/acts/bandModel';
|
||||||
import { lowestTicketPrice } from '@/scripts/concertScripts';
|
import { lowestTicketPrice } from '@/scripts/concertScripts';
|
||||||
import cardViewHorizontal from '@/components/basics/cardViewHorizontal.vue';
|
import cardViewHorizontal from '@/components/molecules/cardViewHorizontal.vue';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { GenreModel } from '@/data/models/acts/genreModel';
|
import { GenreModel } from '@/data/models/acts/genreModel';
|
||||||
import { ConcertModel } from '@/data/models/acts/concertModel';
|
import { ConcertModel } from '@/data/models/acts/concertModel';
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardWithTopImage from '@/components/basics/cardViewTopImage.vue';
|
import cardWithTopImage from '@/components/molecules/cardViewTopImage.vue';
|
||||||
import sectionDivider from '@/components/basics/sectionDivider.vue';
|
import sectionDivider from '@/components/molecules/sectionDivider.vue';
|
||||||
import { useBandStore } from '@/stores/band.store';
|
import { useBandStore } from '@/stores/band.store';
|
||||||
|
|
||||||
const bandStore = useBandStore()
|
const bandStore = useBandStore()
|
||||||
@@ -22,7 +22,7 @@ const bandStore = useBandStore()
|
|||||||
<v-row>
|
<v-row>
|
||||||
<v-spacer />
|
<v-spacer />
|
||||||
|
|
||||||
<v-col v-for="member of bandStore.band.members" cols="6" md="3">
|
<v-col v-for="member of bandStore.band.members" cols="12" md="3">
|
||||||
<card-with-top-image
|
<card-with-top-image
|
||||||
:title="member.name"
|
:title="member.name"
|
||||||
:image=" member.image"
|
:image=" member.image"
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from '@/components/basics/cardView.vue';
|
import cardView from '@/components/molecules/cardView.vue';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { CityModel } from '@/data/models/locations/cityModel';
|
import { CityModel } from '@/data/models/locations/cityModel';
|
||||||
import { LocationModel } from '@/data/models/locations/locationModel';
|
import { LocationModel } from '@/data/models/locations/locationModel';
|
||||||
import { useConcertStore } from '@/stores/concert.store';
|
import { useConcertStore } from '@/stores/concert.store';
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardViewHorizontal from "@/components/basics/cardViewHorizontal.vue";
|
import cardViewHorizontal from "@/components/molecules/cardViewHorizontal.vue";
|
||||||
import { BandModel } from "@/data/models/acts/bandModel";
|
import { BandModel } from "@/data/models/acts/bandModel";
|
||||||
import { ConcertModel } from "@/data/models/acts/concertModel";
|
import { ConcertModel } from "@/data/models/acts/concertModel";
|
||||||
import { LocationModel } from "@/data/models/locations/locationModel";
|
import { LocationModel } from "@/data/models/locations/locationModel";
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import concertListItem from '@/components/pageParts/concertListItem.vue';
|
import concertListItem from '@/components/organisms/concertListItem.vue';
|
||||||
import CardViewHorizontal from '@/components/basics/cardViewHorizontal.vue';
|
import CardViewHorizontal from '@/components/molecules/cardViewHorizontal.vue';
|
||||||
import sectionDivider from '@/components/basics/sectionDivider.vue';
|
import sectionDivider from '@/components/molecules/sectionDivider.vue';
|
||||||
import { useBandStore } from '@/stores/band.store';
|
import { useBandStore } from '@/stores/band.store';
|
||||||
|
|
||||||
const bandStore = useBandStore()
|
const bandStore = useBandStore()
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useConcertStore } from "@/stores/concert.store";
|
import { useConcertStore } from "@/stores/concert.store";
|
||||||
import concertListItem from "@/components/pageParts/concertListItem.vue";
|
import concertListItem from "@/components/organisms/concertListItem.vue";
|
||||||
import cardViewHorizontal from "@/components/basics/cardViewHorizontal.vue";
|
import cardViewHorizontal from "@/components/molecules/cardViewHorizontal.vue";
|
||||||
import sectionDivider from "@/components/basics/sectionDivider.vue";
|
import sectionDivider from "@/components/molecules/sectionDivider.vue";
|
||||||
import concertFilterbar from "./concertFilterbar.vue";
|
import concertFilterbar from "./concertFilterbar.vue";
|
||||||
|
|
||||||
const concertStore = useConcertStore();
|
const concertStore = useConcertStore();
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ModelRef } from 'vue';
|
import { ModelRef } from 'vue';
|
||||||
import actionDialog from './../basics/actionDialog.vue';
|
import actionDialog from '../organisms/actionDialog.vue';
|
||||||
import outlinedButton from './../basics/outlinedButton.vue';
|
import outlinedButton from '../atoms/outlinedButton.vue';
|
||||||
|
|
||||||
const showDialog: ModelRef<boolean> = defineModel()
|
const showDialog: ModelRef<boolean> = defineModel()
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from '@/components/basics/cardView.vue';
|
import cardView from '@/components/molecules/cardView.vue';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import actionDialog from "@/components/basics/actionDialog.vue";
|
import actionDialog from "@/components/organisms/actionDialog.vue";
|
||||||
import OutlinedButton from "@/components/basics/outlinedButton.vue";
|
import OutlinedButton from "@/components/atoms/outlinedButton.vue";
|
||||||
import {
|
import {
|
||||||
getExerciseGroupNameLanguage,
|
getExerciseGroupNameLanguage,
|
||||||
getExerciseNameLanguage,
|
getExerciseNameLanguage,
|
||||||
@@ -1,12 +1,13 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from "@/components/basics/cardView.vue";
|
import cardView from "@/components/molecules/cardView.vue";
|
||||||
import OutlinedButton from "@/components/basics/outlinedButton.vue";
|
import OutlinedButton from "@/components/atoms/outlinedButton.vue";
|
||||||
import { ExerciseGroupModel } from "@/data/models/exercises/exerciseGroupModel";
|
import { ExerciseGroupModel } from "@/data/models/exercises/exerciseGroupModel";
|
||||||
import { ExerciseModel } from "@/data/models/exercises/exerciseModel";
|
import { ExerciseModel } from "@/data/models/exercises/exerciseModel";
|
||||||
import { getExerciseGroupNameLanguage } from "@/scripts/languageScripts";
|
import { getExerciseGroupNameLanguage } from "@/scripts/languageScripts";
|
||||||
import { useExerciseStore } from "@/stores/exercise.store";
|
import { useExerciseStore } from "@/stores/exercise.store";
|
||||||
import { ref, watch } from "vue";
|
import { ref, watch } from "vue";
|
||||||
import exerciseDialog from "./exerciseDialog.vue";
|
import exerciseDialog from "./exerciseDialog.vue";
|
||||||
|
import listItem from "@/components/atoms/listItem.vue";
|
||||||
|
|
||||||
const exerciseStore = useExerciseStore();
|
const exerciseStore = useExerciseStore();
|
||||||
const exerciseGroups = ref<Array<ExerciseGroupModel>>([]);
|
const exerciseGroups = ref<Array<ExerciseGroupModel>>([]);
|
||||||
@@ -49,9 +50,10 @@ watch(
|
|||||||
>
|
>
|
||||||
<template #borderless>
|
<template #borderless>
|
||||||
<v-list>
|
<v-list>
|
||||||
<v-list-item
|
<list-item
|
||||||
v-for="group in exerciseGroups"
|
v-for="group in exerciseGroups"
|
||||||
:title="getExerciseGroupNameLanguage(group)"
|
:title="getExerciseGroupNameLanguage(group)"
|
||||||
|
hover
|
||||||
:subtitle="
|
:subtitle="
|
||||||
$t('preferences.exercises.available', [
|
$t('preferences.exercises.available', [
|
||||||
filterByExerciseGroup(exerciseStore.exercises, group).filter((exercise) => exercise.available)
|
filterByExerciseGroup(exerciseStore.exercises, group).filter((exercise) => exercise.available)
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import actionDialog from '@/components/basics/actionDialog.vue';
|
import actionDialog from '@/components/organisms/actionDialog.vue';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { useFilesStore } from '@/stores/files.store';
|
import { useFilesStore } from '@/stores/files.store';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useBandStore } from '@/stores/band.store';
|
import { useBandStore } from '@/stores/band.store';
|
||||||
import sectionDivider from '@/components/basics/sectionDivider.vue';
|
import sectionDivider from '@/components/molecules/sectionDivider.vue';
|
||||||
|
|
||||||
const bandStore = useBandStore()
|
const bandStore = useBandStore()
|
||||||
</script>
|
</script>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import actionDialog from '@/components/basics/actionDialog.vue';
|
import actionDialog from '@/components/organisms/actionDialog.vue';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { getStringRules } from '@/scripts/validationRules';
|
import { getStringRules } from '@/scripts/validationRules';
|
||||||
import { useGenreStore } from '@/stores/genre.store';
|
import { useGenreStore } from '@/stores/genre.store';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
@@ -50,7 +50,7 @@ defineProps({
|
|||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
|
|
||||||
<v-col cols="8">
|
<v-col cols="12" md="10">
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
<v-skeleton-loader
|
<v-skeleton-loader
|
||||||
type="heading"
|
type="heading"
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from '@/components/basics/cardView.vue';
|
import cardView from '@/components/molecules/cardView.vue';
|
||||||
import OutlinedButton from "@/components/basics/outlinedButton.vue";
|
import OutlinedButton from "@/components/atoms/outlinedButton.vue";
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useLocationStore } from '@/stores/location.store';
|
import { useLocationStore } from '@/stores/location.store';
|
||||||
import cardViewHorizontal from '@/components/basics/cardViewHorizontal.vue';
|
import cardViewHorizontal from '@/components/molecules/cardViewHorizontal.vue';
|
||||||
import sectionDivider from '@/components/basics/sectionDivider.vue';
|
import sectionDivider from '@/components/molecules/sectionDivider.vue';
|
||||||
import concertListItem from '@/components/pageParts/concertListItem.vue';
|
import concertListItem from '@/components/organisms/concertListItem.vue';
|
||||||
|
|
||||||
const locationStore = useLocationStore()
|
const locationStore = useLocationStore()
|
||||||
</script>
|
</script>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardViewTopImage from '../basics/cardViewTopImage.vue';
|
import cardViewTopImage from '../molecules/cardViewTopImage.vue';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { LocationModel } from '@/data/models/locations/locationModel';
|
import { LocationModel } from '@/data/models/locations/locationModel';
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useLocationStore } from '@/stores/location.store';
|
import { useLocationStore } from '@/stores/location.store';
|
||||||
import seatPlanMap from '@/components/seatPlanMap/seatPlanMap.vue';
|
import seatPlanMap from '@/components/organisms/seatPlanMap.vue';
|
||||||
import sectionDivider from '@/components/basics/sectionDivider.vue';
|
import sectionDivider from '@/components/molecules/sectionDivider.vue';
|
||||||
|
|
||||||
const locationStore = useLocationStore()
|
const locationStore = useLocationStore()
|
||||||
</script>
|
</script>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from '@/components/basics/cardView.vue';
|
import cardView from '@/components/molecules/cardView.vue';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { useAccountStore } from '@/stores/account.store';
|
import { useAccountStore } from '@/stores/account.store';
|
||||||
import { watch } from 'vue';
|
import { watch } from 'vue';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import navigationPrependItems from './navigationPrependItems.vue';
|
import navigationPrependItems from '../molecules/navigationPrependItems.vue';
|
||||||
import navigationAppendItems from './navigationAppendItems.vue';
|
import navigationAppendItems from '../molecules/navigationAppendItems.vue';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import actionDialog from '@/components/basics/actionDialog.vue';
|
import actionDialog from '@/components/organisms/actionDialog.vue';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { useOrderStore } from '@/stores/order.store';
|
import { useOrderStore } from '@/stores/order.store';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from '@/components/basics/cardView.vue';
|
import cardView from '@/components/molecules/cardView.vue';
|
||||||
import ticketListItem from '@/components/pageParts/ticketListItem.vue';
|
import ticketListItem from '@/components/organisms/ticketListItem.vue';
|
||||||
import { OrderApiModel } from '@/data/models/apiEndpoints/orderApiModel';
|
import { OrderApiModel } from '@/data/models/apiEndpoints/orderApiModel';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import actionDialog from '@/components/basics/actionDialog.vue';
|
import actionDialog from '@/components/organisms/actionDialog.vue';
|
||||||
import { useBasketStore } from '@/stores/basket.store';
|
import { useBasketStore } from '@/stores/basket.store';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { ModelRef, ref } from 'vue';
|
import { ModelRef, ref } from 'vue';
|
||||||
import { useAccountStore } from '@/stores/account.store';
|
import { useAccountStore } from '@/stores/account.store';
|
||||||
import { AddressModel } from '@/data/models/user/addressModel';
|
import { AddressModel } from '@/data/models/user/addressModel';
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ThemeEnum } from '@/data/enums/themeEnums';
|
import { ThemeEnum } from '@/data/enums/themeEnums';
|
||||||
import cardView from '@/components/basics/cardView.vue';
|
import cardView from '@/components/molecules/cardView.vue';
|
||||||
import { usePreferencesStore } from '@/stores/preferences.store';
|
import { usePreferencesStore } from '@/stores/preferences.store';
|
||||||
|
|
||||||
const preferencesStore = usePreferencesStore()
|
const preferencesStore = usePreferencesStore()
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import actionDialog from '@/components/basics/actionDialog.vue';
|
import actionDialog from '@/components/organisms/actionDialog.vue';
|
||||||
import OutlinedButton from '@/components/basics/outlinedButton.vue';
|
import OutlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { getIbanRules, getStringRules } from '@/scripts/validationRules';
|
import { getIbanRules, getStringRules } from '@/scripts/validationRules';
|
||||||
import { useAccountStore } from '@/stores/account.store';
|
import { useAccountStore } from '@/stores/account.store';
|
||||||
import cardViewOneLine from '@/components/basics/cardViewOneLine.vue';
|
import cardViewOneLine from '@/components/molecules/cardViewOneLine.vue';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
|
|
||||||
const valid = ref(false)
|
const valid = ref(false)
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { RatingModel } from '@/data/models/acts/ratingModel';
|
import { RatingModel } from '@/data/models/acts/ratingModel';
|
||||||
import sectionDivider from '@/components/basics/sectionDivider.vue';
|
import sectionDivider from '@/components/molecules/sectionDivider.vue';
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
/**
|
/**
|
||||||
@@ -26,7 +26,7 @@ defineProps({
|
|||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col>
|
<v-col cols="12" md="6">
|
||||||
<div class="d-flex align-center justify-center flex-column" style="height: 100%;">
|
<div class="d-flex align-center justify-center flex-column" style="height: 100%;">
|
||||||
<div class="text-h2 mt-5">
|
<div class="text-h2 mt-5">
|
||||||
{{ rating.toFixed(1) }}
|
{{ rating.toFixed(1) }}
|
||||||
@@ -45,7 +45,7 @@ defineProps({
|
|||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
<v-col>
|
<v-col cols="12" md="6">
|
||||||
<v-list style="background-color: transparent;">
|
<v-list style="background-color: transparent;">
|
||||||
<v-list-item
|
<v-list-item
|
||||||
v-for="ratingValue in ratings"
|
v-for="ratingValue in ratings"
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from '@/components/basics/cardView.vue';
|
import cardView from '@/components/molecules/cardView.vue';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { useAccountStore } from '@/stores/account.store';
|
import { useAccountStore } from '@/stores/account.store';
|
||||||
import { getEmailRules, getPasswordRules, getStringRules } from '@/scripts/validationRules';
|
import { getEmailRules, getPasswordRules, getStringRules } from '@/scripts/validationRules';
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from '@/components/basics/cardView.vue';
|
import cardView from '@/components/molecules/cardView.vue';
|
||||||
import { useSearchStore } from '@/stores/search.store';
|
import { useSearchStore } from '@/stores/search.store';
|
||||||
|
|
||||||
const searchStore = useSearchStore()
|
const searchStore = useSearchStore()
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { SeatGroupModel } from '@/data/models/locations/seatGroupModel';
|
import { SeatGroupModel } from '@/data/models/locations/seatGroupModel';
|
||||||
import seatGroupTable from './seatGroupTable.vue';
|
import seatGroupTable from './seatGroupTable.vue';
|
||||||
import standingArea from './standingArea.vue';
|
import standingArea from '@/components/organisms/standingArea.vue';
|
||||||
import { ConcertModel } from '@/data/models/acts/concertModel';
|
import { ConcertModel } from '@/data/models/acts/concertModel';
|
||||||
|
|
||||||
let props = defineProps({
|
let props = defineProps({
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ServerStateText from '@/components/pageParts/serverStateText.vue';
|
import ServerStateText from '@/components/organisms/serverStateText.vue';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import cardView from "@/components/basics/cardView.vue";
|
import cardView from "@/components/molecules/cardView.vue";
|
||||||
import outlinedButton from "@/components/basics/outlinedButton.vue";
|
import outlinedButton from "@/components/atoms/outlinedButton.vue";
|
||||||
import confirmDialog from "@/components/basics/confirmDialog.vue";
|
import confirmDialog from "@/components/organisms/confirmDialog.vue";
|
||||||
import { ServerStateEnum } from "@/data/enums/serverStateEnum";
|
import { ServerStateEnum } from "@/data/enums/serverStateEnum";
|
||||||
import { usePreferencesStore } from "@/stores/preferences.store";
|
import { usePreferencesStore } from "@/stores/preferences.store";
|
||||||
import ServerStateText from "@/components/pageParts/serverStateText.vue";
|
import ServerStateText from "@/components/organisms/serverStateText.vue";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
|
|
||||||
const preferenceStore = usePreferencesStore();
|
const preferenceStore = usePreferencesStore();
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ConcertModel } from '@/data/models/acts/concertModel';
|
import { ConcertModel } from '@/data/models/acts/concertModel';
|
||||||
import cardWithLeftImage from '../basics/cardViewHorizontal.vue';
|
import cardWithLeftImage from '../molecules/cardViewHorizontal.vue';
|
||||||
import { dateStringToHumanReadableString } from '@/scripts/dateTimeScripts';
|
import { dateStringToHumanReadableString } from '@/scripts/dateTimeScripts';
|
||||||
import { BandModel } from '@/data/models/acts/bandModel';
|
import { BandModel } from '@/data/models/acts/bandModel';
|
||||||
import { LocationModel } from '@/data/models/locations/locationModel';
|
import { LocationModel } from '@/data/models/locations/locationModel';
|
||||||
import { CityModel } from '@/data/models/locations/cityModel';
|
import { CityModel } from '@/data/models/locations/cityModel';
|
||||||
import cardViewOneLine from '../basics/cardViewOneLine.vue';
|
import cardViewOneLine from '../molecules/cardViewOneLine.vue';
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
concert: {
|
concert: {
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import CardView from "@/components/basics/cardView.vue";
|
import CardView from "@/components/molecules/cardView.vue";
|
||||||
import CardViewOneLine from "@/components/basics/cardViewOneLine.vue";
|
import CardViewOneLine from "@/components/molecules/cardViewOneLine.vue";
|
||||||
import SectionDivider from "@/components/basics/sectionDivider.vue";
|
import SectionDivider from "@/components/molecules/sectionDivider.vue";
|
||||||
import { GenreApiModel } from "@/data/models/acts/genreApiModel";
|
import { GenreApiModel } from "@/data/models/acts/genreApiModel";
|
||||||
import { useGenreStore } from "@/stores/genre.store";
|
import { useGenreStore } from "@/stores/genre.store";
|
||||||
import { ref, watch } from "vue";
|
import { ref, watch } from "vue";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import outlinedButton from "@/components/basics/outlinedButton.vue";
|
import outlinedButton from "@/components/atoms/outlinedButton.vue";
|
||||||
|
|
||||||
const genreStore = useGenreStore();
|
const genreStore = useGenreStore();
|
||||||
const genresByNumberOfBands = ref<Array<GenreApiModel>>([]);
|
const genresByNumberOfBands = ref<Array<GenreApiModel>>([]);
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import cardViewTopImage from '@/components/basics/cardViewTopImage.vue';
|
import cardViewTopImage from '@/components/molecules/cardViewTopImage.vue';
|
||||||
import sectionDivider from '@/components/basics/sectionDivider.vue';
|
import sectionDivider from '@/components/molecules/sectionDivider.vue';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { useLocationStore } from '@/stores/location.store';
|
import { useLocationStore } from '@/stores/location.store';
|
||||||
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useConcertStore } from '@/stores/concert.store';
|
import { useConcertStore } from '@/stores/concert.store';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import cardViewTopImage from '@/components/basics/cardViewTopImage.vue';
|
import cardViewTopImage from '@/components/molecules/cardViewTopImage.vue';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import sectionDivider from '@/components/basics/sectionDivider.vue';
|
import sectionDivider from '@/components/molecules/sectionDivider.vue';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
|
||||||
const concertStore = useConcertStore()
|
const concertStore = useConcertStore()
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import actionDialog from '@/components/basics/actionDialog.vue';
|
import actionDialog from '@/components/organisms/actionDialog.vue';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { useFeedbackStore } from '@/stores/feedback.store';
|
import { useFeedbackStore } from '@/stores/feedback.store';
|
||||||
import { usePreferencesStore } from '@/stores/preferences.store';
|
import { usePreferencesStore } from '@/stores/preferences.store';
|
||||||
import { ref, watch } from 'vue';
|
import { ref, watch } from 'vue';
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
|
|
||||||
const fetchInProgress = defineModel("fetchInProgress", { default: false })
|
const fetchInProgress = defineModel("fetchInProgress", { default: false })
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import dataLayout from '@/layouts/dataLayout.vue';
|
import dataLayout from '@/layouts/dataLayout.vue';
|
||||||
import { useAccountStore } from '@/stores/account.store';
|
import { useAccountStore } from '@/stores/account.store';
|
||||||
import { useFeedbackStore } from '@/stores/feedback.store';
|
import { useFeedbackStore } from '@/stores/feedback.store';
|
||||||
import addressEditDialog from './addressEditDialog.vue';
|
import addressEditDialog from '@/components/organisms/addressEditDialog.vue';
|
||||||
|
|
||||||
const accountStore = useAccountStore()
|
const accountStore = useAccountStore()
|
||||||
const feedbackStore = useFeedbackStore()
|
const feedbackStore = useFeedbackStore()
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useAccountStore } from '@/stores/account.store';
|
import { useAccountStore } from '@/stores/account.store';
|
||||||
import dashboardCard from '@/components/pageParts/dashboardCard.vue';
|
import dashboardCard from '@/components/organisms/dashboardCard.vue';
|
||||||
import { useOrderStore } from '@/stores/order.store';
|
import { useOrderStore } from '@/stores/order.store';
|
||||||
import OutlinedButton from '@/components/basics/outlinedButton.vue';
|
import OutlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import { millisecondsToHumanReadableString } from '@/scripts/dateTimeScripts';
|
import { millisecondsToHumanReadableString } from '@/scripts/dateTimeScripts';
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import loginForm from './loginForm.vue';
|
import loginForm from '@/components/organisms/loginForm.vue';
|
||||||
import registerForm from './registerForm.vue';
|
import registerForm from '@/components/organisms/registerForm.vue';
|
||||||
|
|
||||||
const showRegisterCard = ref(false)
|
const showRegisterCard = ref(false)
|
||||||
</script>
|
</script>
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useAccountStore } from '@/stores/account.store';
|
import { useAccountStore } from '@/stores/account.store';
|
||||||
import orderItem from './orderItem.vue';
|
import orderItem from '@/components/organisms/orderItem.vue';
|
||||||
import accountSubPageLayout from '@/layouts/accountSubPageLayout.vue';
|
import accountSubPageLayout from '@/layouts/accountSubPageLayout.vue';
|
||||||
import circularProgressIndeterminate from '@/components/basics/circularProgressIndeterminate.vue';
|
import circularProgressIndeterminate from '@/components/atoms/circularProgressIndeterminate.vue';
|
||||||
import { useOrderStore } from '@/stores/order.store';
|
import { useOrderStore } from '@/stores/order.store';
|
||||||
|
|
||||||
const accountStore = useAccountStore()
|
const accountStore = useAccountStore()
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
import dataLayout from '@/layouts/dataLayout.vue';
|
import dataLayout from '@/layouts/dataLayout.vue';
|
||||||
import { useAccountStore } from '@/stores/account.store';
|
import { useAccountStore } from '@/stores/account.store';
|
||||||
import { useFeedbackStore } from '@/stores/feedback.store';
|
import { useFeedbackStore } from '@/stores/feedback.store';
|
||||||
import PaymentEditDialog from './paymentEditDialog.vue';
|
import paymentEditDialog from '@/components/organisms/paymentEditDialog.vue';
|
||||||
|
|
||||||
const accountStore = useAccountStore()
|
const accountStore = useAccountStore()
|
||||||
const feedbackStore = useFeedbackStore()
|
const feedbackStore = useFeedbackStore()
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import accountDataCard from './accountDataCard.vue';
|
import accountDataCard from '@/components/organisms/accountDataCard.vue';
|
||||||
import accountManagingCard from './accountManagingCard.vue';
|
import accountManagingCard from '@/components/organisms/accountManagingCard.vue';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import accountSubPageLayout from '@/layouts/accountSubPageLayout.vue';
|
import accountSubPageLayout from '@/layouts/accountSubPageLayout.vue';
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useBandStore } from '@/stores/band.store';
|
import { useBandStore } from '@/stores/band.store';
|
||||||
import bandEditDialog from './bandEditDialog.vue';
|
import bandEditDialog from '@/components/organisms/bandEditDialog.vue';
|
||||||
import dataLayout from '@/layouts/dataLayout.vue';
|
import dataLayout from '@/layouts/dataLayout.vue';
|
||||||
import { useFeedbackStore } from '@/stores/feedback.store';
|
import { useFeedbackStore } from '@/stores/feedback.store';
|
||||||
|
|
||||||
@@ -5,7 +5,7 @@ import { useAccountStore } from '@/stores/account.store';
|
|||||||
import { useLocationStore } from '@/stores/location.store';
|
import { useLocationStore } from '@/stores/location.store';
|
||||||
import { useGenreStore } from '@/stores/genre.store';
|
import { useGenreStore } from '@/stores/genre.store';
|
||||||
import { usePreferencesStore } from '@/stores/preferences.store';
|
import { usePreferencesStore } from '@/stores/preferences.store';
|
||||||
import dashboardCard from '../../../components/pageParts/dashboardCard.vue';
|
import dashboardCard from '@/components/organisms/dashboardCard.vue';
|
||||||
import { useOrderStore } from '@/stores/order.store';
|
import { useOrderStore } from '@/stores/order.store';
|
||||||
import { useFilesStore } from '@/stores/files.store';
|
import { useFilesStore } from '@/stores/files.store';
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import dataLayout from '@/layouts/dataLayout.vue';
|
import dataLayout from '@/layouts/dataLayout.vue';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import FileUploadDialog from './fileUploadDialog.vue';
|
import fileUploadDialog from '@/components/organisms/fileUploadDialog.vue';
|
||||||
import { useFilesStore } from '@/stores/files.store';
|
import { useFilesStore } from '@/stores/files.store';
|
||||||
|
|
||||||
const filesStore = useFilesStore()
|
const filesStore = useFilesStore()
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import dataLayout from '@/layouts/dataLayout.vue';
|
import dataLayout from '@/layouts/dataLayout.vue';
|
||||||
import genreEditDialog from './genreEditDialog.vue';
|
import genreEditDialog from '@/components/organisms/genreEditDialog.vue';
|
||||||
import { useGenreStore } from '@/stores/genre.store';
|
import { useGenreStore } from '@/stores/genre.store';
|
||||||
import { useFeedbackStore } from '@/stores/feedback.store';
|
import { useFeedbackStore } from '@/stores/feedback.store';
|
||||||
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
import dataLayout from '@/layouts/dataLayout.vue';
|
import dataLayout from '@/layouts/dataLayout.vue';
|
||||||
import { useOrderStore } from '@/stores/order.store';
|
import { useOrderStore } from '@/stores/order.store';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import OrderDetailDialog from './orderDetailDialog.vue';
|
import orderDetailDialog from '@/components/organisms/orderDetailDialog.vue';
|
||||||
import { useFeedbackStore } from '@/stores/feedback.store';
|
import { useFeedbackStore } from '@/stores/feedback.store';
|
||||||
|
|
||||||
const orderStore = useOrderStore()
|
const orderStore = useOrderStore()
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import ratingSection from './ratingSection.vue';
|
import ratingSection from '../components/organisms/ratingSection.vue';
|
||||||
import bandMemberSection from './bandMemberSection.vue';
|
import bandMemberSection from '../components/organisms/bandMemberSection.vue';
|
||||||
import gallerySection from './gallerySection.vue';
|
import gallerySection from '../components/organisms/gallerySection.vue';
|
||||||
import concertSection from './concertSection.vue';
|
import concertSection from '../components/organisms/concertSection.vue';
|
||||||
import heroImage from '@/components/pageParts/heroImage.vue';
|
import heroImage from '@/components/organisms/heroImage.vue';
|
||||||
import { useBandStore } from '@/stores/band.store';
|
import { useBandStore } from '@/stores/band.store';
|
||||||
import { onMounted, watch } from 'vue';
|
import { onMounted, watch } from 'vue';
|
||||||
import { useConcertStore } from '@/stores/concert.store';
|
import { useConcertStore } from '@/stores/concert.store';
|
||||||
@@ -38,7 +38,7 @@ watch(() => router.currentRoute.value.params.name, () => {
|
|||||||
<v-row>
|
<v-row>
|
||||||
<v-spacer />
|
<v-spacer />
|
||||||
|
|
||||||
<v-col cols="10">
|
<v-col cols="12" md="10">
|
||||||
<concert-section />
|
<concert-section />
|
||||||
|
|
||||||
<band-member-section />
|
<band-member-section />
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useBandStore } from '@/stores/band.store';
|
import { useBandStore } from '@/stores/band.store';
|
||||||
import cardViewHorizontal from '@/components/basics/cardViewHorizontal.vue';
|
import cardViewHorizontal from '@/components/molecules/cardViewHorizontal.vue';
|
||||||
import bandListItem from '@/components/pageParts/bandListItem.vue';
|
import bandListItem from '@/components/organisms/bandListItem.vue';
|
||||||
import bandFilterbar from './bandFilterbar.vue';
|
import bandFilterbar from '../components/organisms/bandFilterbar.vue';
|
||||||
import { watch } from 'vue';
|
import { watch } from 'vue';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
|
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useBasketStore } from '@/stores/basket.store';
|
import { useBasketStore } from '@/stores/basket.store';
|
||||||
import cardView from '@/components/basics/cardView.vue';
|
import cardView from '@/components/molecules/cardView.vue';
|
||||||
import orderingDialog from './orderingDialog.vue';
|
import orderingDialog from '../components/organisms/orderingDialog.vue';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { useAccountStore } from '@/stores/account.store';
|
import { useAccountStore } from '@/stores/account.store';
|
||||||
import ticketsTable from './ticketsTable.vue';
|
import ticketsTable from '../components/organisms/ticketsTable.vue';
|
||||||
|
|
||||||
const basketStore = useBasketStore()
|
const basketStore = useBasketStore()
|
||||||
const accountStore = useAccountStore()
|
const accountStore = useAccountStore()
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import seatPlanMap from '@/components/seatPlanMap/seatPlanMap.vue';
|
import seatPlanMap from '@/components/organisms/seatPlanMap.vue';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import sectionDivider from '@/components/basics/sectionDivider.vue';
|
import sectionDivider from '@/components/molecules/sectionDivider.vue';
|
||||||
import { useBasketStore } from '@/stores/basket.store';
|
import { useBasketStore } from '@/stores/basket.store';
|
||||||
import concertListItem from '@/components/pageParts/concertListItem.vue';
|
import concertListItem from '@/components/organisms/concertListItem.vue';
|
||||||
import outlinedButton from '@/components/basics/outlinedButton.vue';
|
import outlinedButton from '@/components/atoms/outlinedButton.vue';
|
||||||
import { useConcertStore } from '@/stores/concert.store';
|
import { useConcertStore } from '@/stores/concert.store';
|
||||||
import ticketListItem from '@/components/pageParts/ticketListItem.vue';
|
import ticketListItem from '@/components/organisms/ticketListItem.vue';
|
||||||
import circularProgressIndeterminate from '@/components/basics/circularProgressIndeterminate.vue';
|
import circularProgressIndeterminate from '@/components/atoms/circularProgressIndeterminate.vue';
|
||||||
import { onMounted, watch } from 'vue';
|
import { onMounted, watch } from 'vue';
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useConcertStore } from '@/stores/concert.store';
|
import { useConcertStore } from '@/stores/concert.store';
|
||||||
import concertFilterbar from './concertFilterbar.vue';
|
import concertFilterbar from '../components/organisms/concertFilterbar.vue';
|
||||||
import ConcertsListSection from './concertsListSection.vue';
|
import concertsListSection from '../components/organisms/concertsListSection.vue';
|
||||||
import { onMounted } from 'vue';
|
import { onMounted } from 'vue';
|
||||||
|
|
||||||
const concertStore = useConcertStore()
|
const concertStore = useConcertStore()
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useExerciseStore } from "@/stores/exercise.store";
|
import { useExerciseStore } from "@/stores/exercise.store";
|
||||||
import outlinedButton from "@/components/basics/outlinedButton.vue";
|
import outlinedButton from "@/components/atoms/outlinedButton.vue";
|
||||||
import { generateResultsPdf } from "@/scripts/pdfScripts";
|
import { generateResultsPdf } from "@/scripts/pdfScripts";
|
||||||
import { usePreferencesStore } from "@/stores/preferences.store";
|
import { usePreferencesStore } from "@/stores/preferences.store";
|
||||||
import cardView from "@/components/basics/cardView.vue";
|
import cardView from "@/components/molecules/cardView.vue";
|
||||||
import { LanguageEnum } from "@/data/enums/languageEnum";
|
import { LanguageEnum } from "@/data/enums/languageEnum";
|
||||||
import { ExerciseModel } from "@/data/models/exercises/exerciseModel";
|
import { ExerciseModel } from "@/data/models/exercises/exerciseModel";
|
||||||
import { getExerciseDotColor } from "@/scripts/colorScripts";
|
import { getExerciseDotColor } from "@/scripts/colorScripts";
|
||||||
@@ -104,7 +104,7 @@ function generateExerciseKey() {
|
|||||||
<!-- Exercise item -->
|
<!-- Exercise item -->
|
||||||
<v-timeline-item
|
<v-timeline-item
|
||||||
v-if="exercise.available"
|
v-if="exercise.available"
|
||||||
:dot-color="exercise.solved ? 'green' : 'primary'"
|
:dot-color="exercise.solved ? 'green-darken-4' : 'primary'"
|
||||||
:icon="exercise.solved ? 'mdi-check' : 'mdi-pencil'"
|
:icon="exercise.solved ? 'mdi-check' : 'mdi-pencil'"
|
||||||
>
|
>
|
||||||
<!-- Right side -->
|
<!-- Right side -->
|
||||||
@@ -115,7 +115,7 @@ function generateExerciseKey() {
|
|||||||
exercise.exerciseNr,
|
exercise.exerciseNr,
|
||||||
]) + getExerciseNameLanguage(exercise)
|
]) + getExerciseNameLanguage(exercise)
|
||||||
"
|
"
|
||||||
:color="exercise.solved ? 'green' : 'primary'"
|
:color="exercise.solved ? 'green-darken-4' : 'primary'"
|
||||||
>
|
>
|
||||||
{{ getExerciseDescriptionLanguage(exercise) }}
|
{{ getExerciseDescriptionLanguage(exercise) }}
|
||||||
</card-view>
|
</card-view>
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useConcertStore } from "@/stores/concert.store";
|
import { useConcertStore } from "@/stores/concert.store";
|
||||||
import { useLocationStore } from "@/stores/location.store";
|
import { useLocationStore } from "@/stores/location.store";
|
||||||
import bandSection from "./bandsSection.vue";
|
import bandsSection from "../components/organisms/bandsSection.vue";
|
||||||
import UpcomingConcertsSection from "./upcomingConcertsSection.vue";
|
import upcomingConcertsSection from "../components/organisms/upcomingConcertsSection.vue";
|
||||||
import TopLocationsSection from "./topLocationsSection.vue";
|
import topLocationsSection from "../components/organisms/topLocationsSection.vue";
|
||||||
import { usePreferencesStore } from "@/stores/preferences.store";
|
import { usePreferencesStore } from "@/stores/preferences.store";
|
||||||
import welcomeDialog from "./welcomeDialog/dialog.vue";
|
import welcomeDialog from "../components/organisms/welcomeDialog.vue";
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import genresSection from "./topGenresSection.vue";
|
import topGenresSection from "../components/organisms/topGenresSection.vue";
|
||||||
|
|
||||||
const concertStore = useConcertStore();
|
const concertStore = useConcertStore();
|
||||||
const locationStore = useLocationStore();
|
const locationStore = useLocationStore();
|
||||||
@@ -25,7 +25,7 @@ if (preferencesStore.firstStartup) {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="pt-4">
|
<div class="pt-4">
|
||||||
<band-section v-if="!preferencesStore.firstStartup" />
|
<bands-section v-if="!preferencesStore.firstStartup" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<v-container v-if="!preferencesStore.firstStartup">
|
<v-container v-if="!preferencesStore.firstStartup">
|
||||||
@@ -35,7 +35,7 @@ if (preferencesStore.firstStartup) {
|
|||||||
<v-col cols="10">
|
<v-col cols="10">
|
||||||
<upcoming-concerts-section />
|
<upcoming-concerts-section />
|
||||||
|
|
||||||
<genres-section />
|
<top-genres-section />
|
||||||
|
|
||||||
<top-locations-section />
|
<top-locations-section />
|
||||||
</v-col>
|
</v-col>
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import heroImage from '@/components/pageParts/heroImage.vue';
|
import heroImage from '@/components/organisms/heroImage.vue';
|
||||||
import { useLocationStore } from '@/stores/location.store';
|
import { useLocationStore } from '@/stores/location.store';
|
||||||
import locationConcertsSection from './locationConcertsSection.vue';
|
import locationConcertsSection from '../components/organisms/locationConcertsSection.vue';
|
||||||
import LocationSeatMapSection from './locationSeatMapSection.vue';
|
import locationSeatMapSection from '../components/organisms/locationSeatMapSection.vue';
|
||||||
import { onMounted, watch } from 'vue';
|
import { onMounted, watch } from 'vue';
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import sectionDivider from '@/components/basics/sectionDivider.vue';
|
import sectionDivider from '@/components/molecules/sectionDivider.vue';
|
||||||
import cardWithTopImage from '@/components/basics/cardViewTopImage.vue';
|
import cardWithTopImage from '@/components/molecules/cardViewTopImage.vue';
|
||||||
import locationListItem from '@/components/pageParts/locationListItem.vue';
|
import locationListItem from '@/components/organisms/locationListItem.vue';
|
||||||
import { useLocationStore } from '@/stores/location.store';
|
import { useLocationStore } from '@/stores/location.store';
|
||||||
|
|
||||||
const locationStore = useLocationStore()
|
const locationStore = useLocationStore()
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import pageSetup from './pageSetupSection.vue';
|
import pageSetupSection from '../components/organisms/pageSetupSection.vue';
|
||||||
import systemSetup from './systemSetupSection.vue';
|
import systemSetupSection from '../components/organisms/systemSetupSection.vue';
|
||||||
import aboutSection from './aboutSection.vue';
|
import aboutSection from '../components/organisms/aboutSection.vue';
|
||||||
import exerciseSection from './exerciseConfig/exerciseSection.vue';
|
import exerciseSection from '../components/organisms/exerciseSection.vue';
|
||||||
import importExportSection from './importExportSection.vue';
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -15,7 +14,7 @@ import importExportSection from './importExportSection.vue';
|
|||||||
</v-row> -->
|
</v-row> -->
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col>
|
<v-col>
|
||||||
<page-setup />
|
<page-setup-section />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
@@ -27,7 +26,7 @@ import importExportSection from './importExportSection.vue';
|
|||||||
|
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col>
|
<v-col>
|
||||||
<system-setup />
|
<system-setup-section />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import searchBar from './searchBar.vue';
|
import searchBar from '../components/organisms/searchBar.vue';
|
||||||
import sectionDivider from '@/components/basics/sectionDivider.vue';
|
import sectionDivider from '@/components/molecules/sectionDivider.vue';
|
||||||
import cardViewHorizontal from '@/components/basics/cardViewHorizontal.vue';
|
import cardViewHorizontal from '@/components/molecules/cardViewHorizontal.vue';
|
||||||
import locationListItem from '@/components/pageParts/locationListItem.vue';
|
import locationListItem from '@/components/organisms/locationListItem.vue';
|
||||||
import cardViewTopImage from '@/components/basics/cardViewTopImage.vue';
|
import cardViewTopImage from '@/components/molecules/cardViewTopImage.vue';
|
||||||
import bandListItem from '@/components/pageParts/bandListItem.vue';
|
import bandListItem from '@/components/organisms/bandListItem.vue';
|
||||||
import { useSearchStore } from '@/stores/search.store';
|
import { useSearchStore } from '@/stores/search.store';
|
||||||
import ConcertListItem from '@/components/pageParts/concertListItem.vue';
|
import ConcertListItem from '@/components/organisms/concertListItem.vue';
|
||||||
|
|
||||||
const searchStore = useSearchStore()
|
const searchStore = useSearchStore()
|
||||||
</script>
|
</script>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user