eeb6174de0
- ASP.NET Core 10 Backend (JWT Auth, Agent config API) - Vue 3 Frontend (Dashboard, Team, Agents, Config Editor) - PostgreSQL Database - Docker Compose setup - Mission Control Dashboard redesign
29 lines
600 B
TypeScript
29 lines
600 B
TypeScript
import { createApp } from 'vue'
|
|
import { createPinia } from 'pinia'
|
|
import App from './App.vue'
|
|
import router from './router'
|
|
import { useAuthStore } from './stores/auth'
|
|
import './style.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')
|