import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import router from './router' import { useAuthStore } from './stores/auth' import './assets/main.css' import './assets/nexus-tokens.css' const pinia = createPinia() router.beforeEach(async to => { const auth = useAuthStore(pinia) await auth.initialize() if (to.meta.public) { return to.name === 'Login' && auth.isAuthenticated ? '/dashboard' : true } if (!auth.isAuthenticated) { return { name: 'Login', query: { redirect: to.fullPath } } } return true }) createApp(App) .use(pinia) .use(router) .mount('#app')