Refactor project structure and update dependencies

This commit is contained in:
2025-05-11 16:17:40 +02:00
parent 81d692a19b
commit 813f7b18d8
73 changed files with 10156 additions and 7756 deletions

View File

@@ -0,0 +1,8 @@
export default defineNuxtRouteMiddleware(() => {
const nuxtApp = useNuxtApp()
const auth = useAuthStore()
if (!auth.isLoggedIn) {
return nuxtApp.runWithContext(() => navigateTo('/login'))
}
})

View File

@@ -0,0 +1,8 @@
export default defineNuxtRouteMiddleware(() => {
const nuxtApp = useNuxtApp()
const auth = useAuthStore()
if (auth.isLoggedIn) {
return nuxtApp.runWithContext(() => navigateTo('/'))
}
})

View File

@@ -0,0 +1,16 @@
export default defineNuxtRouteMiddleware(() => {
const nuxtApp = useNuxtApp()
const auth = useAuthStore()
if (auth.isLoggedIn && !auth.user.roles.includes('admin')) {
return nuxtApp.runWithContext(() => {
useToast().add({
icon: 'i-heroicons-exclamation-circle-solid',
title: 'Access denied.',
color: 'error',
})
return navigateTo('/')
})
}
})

View File

@@ -0,0 +1,16 @@
export default defineNuxtRouteMiddleware(() => {
const nuxtApp = useNuxtApp()
const auth = useAuthStore()
if (auth.isLoggedIn && !auth.user.roles.includes('user')) {
return nuxtApp.runWithContext(() => {
useToast().add({
icon: 'i-heroicons-exclamation-circle-solid',
title: 'Access denied.',
color: 'error',
})
return navigateTo('/')
})
}
})

View File

@@ -0,0 +1,16 @@
export default defineNuxtRouteMiddleware(() => {
const nuxtApp = useNuxtApp()
const auth = useAuthStore()
if (auth.isLoggedIn && auth.user.must_verify_email) {
return nuxtApp.runWithContext(() => {
useToast().add({
icon: 'i-heroicons-exclamation-circle-solid',
title: 'Please confirm your email.',
color: 'error',
})
return navigateTo('/account/general')
})
}
})