39 lines
970 B
JavaScript
39 lines
970 B
JavaScript
import { createRouter, createWebHistory } from 'vue-router'
|
|
import { usePhotoboothStore } from '../stores/photoboothStore'
|
|
|
|
import Home from '../pages/Home.vue'
|
|
import Capture from '../pages/Capture.vue'
|
|
import Customize from '../pages/Customize.vue'
|
|
import Result from '../pages/Result.vue'
|
|
|
|
const router = createRouter({
|
|
history: createWebHistory(import.meta.env.BASE_URL),
|
|
routes: [
|
|
{ path: '/', name: 'home', component: Home },
|
|
{ path: '/capture', name: 'capture', component: Capture },
|
|
{
|
|
path: '/customize',
|
|
name: 'customize',
|
|
component: Customize,
|
|
meta: { requiresPhotos: true },
|
|
},
|
|
{
|
|
path: '/result',
|
|
name: 'result',
|
|
component: Result,
|
|
meta: { requiresPhotos: true },
|
|
},
|
|
],
|
|
})
|
|
|
|
router.beforeEach((to) => {
|
|
if (!to.meta?.requiresPhotos) return true
|
|
|
|
const store = usePhotoboothStore()
|
|
if (store.photos.length >= 3) return true
|
|
|
|
return { name: 'home' }
|
|
})
|
|
|
|
export default router
|