fix: added page PageProductCardFull and Addresses

This commit is contained in:
2026-03-17 14:12:02 +01:00
parent 7388d0f828
commit 789d59b0c9
11 changed files with 556 additions and 12 deletions

View File

@@ -5,8 +5,6 @@ import { getSettings } from './settings'
import { useAuthStore } from '@/stores/auth'
import Default from '@/layouts/default.vue'
// Helper: read the non-HTTPOnly is_authenticated cookie set by the backend.
// The backend sets it to "1" on login and removes it on logout.
function isAuthenticated(): boolean {
if (typeof document === 'undefined') return false
return document.cookie.split('; ').some((c) => c === 'is_authenticated=1')
@@ -31,8 +29,10 @@ const router = createRouter({
component: Default,
children: [
{ path: '', component: () => import('../views/RepoChartView.vue'), name: 'home' },
{ path: 'products', component: () => import('../views/customer/ProductsView.vue'), name: 'products' },
{ path: 'products-datail/', component: () => import('../views/customer/ProductDetailView.vue'), name: 'product-detail' },
{ path: 'products', component: () => import('../components/admin/ProductsView.vue'), name: 'products' },
{ path: 'products-datail/', component: () => import('../components/admin/ProductDetailView.vue'), name: 'product-detail' },
{ path: 'product-card-full/', component: () => import('../components/customer/PageProductCardFull.vue'), name: 'product-card-full' },
{ path: 'addresses', component: () => import('../components/customer/PageAddresses.vue'), name: 'addresses' },
],
},
{
@@ -51,34 +51,28 @@ const router = createRouter({
],
})
// Navigation guard: language handling + auth protection
router.beforeEach((to, from, next) => {
const locale = to.params.locale as string
const localeLang = langs.find((x) => x.iso_code == locale)
// Check if the locale is valid
if (locale && langs.length > 0) {
const authStore = useAuthStore()
console.log(authStore.isAuthenticated,to, from)
console.log(authStore.isAuthenticated, to, from)
// if()
const validLocale = langs.find((l) => l.lang_code === locale)
if (validLocale) {
currentLang.value = localeLang
// Auth guard: if the route does NOT have meta.guest = true, require authentication
if (!to.meta?.guest && !isAuthenticated()) {
return next({ name: 'login', params: { locale } })
}
return next()
} else if (locale) {
// Invalid locale - redirect to default language
return next(`/${currentLang.value?.iso_code}${to.path.replace(`/${locale}`, '') || '/'}`)
}
}
// No locale in URL - redirect to default language
if (!locale && to.path !== '/') {
return next(`/${currentLang.value?.iso_code}${to.path}`)
}