main.js 1.57 KB
import { createApp } from 'vue'
import { createI18n } from 'vue-i18n'
import { createRouter, createWebHistory } from 'vue-router'
import '@drama/ui/theme.css'

import App from './App.vue'
import { messages } from './i18n/messages.js'
import AdminPage from './pages/AdminPage.vue'
import AgentsPage from './pages/AgentsPage.vue'
import ApprovalsPage from './pages/ApprovalsPage.vue'
import BoardPage from './pages/BoardPage.vue'
import ClaimPage from './pages/ClaimPage.vue'
import HelpPage from './pages/HelpPage.vue'
import HomePage from './pages/HomePage.vue'
import LedgerPage from './pages/LedgerPage.vue'
import LoginPage from './pages/LoginPage.vue'
import SettingsPage from './pages/SettingsPage.vue'
import TaskPage from './pages/TaskPage.vue'

const router = createRouter({
  history: createWebHistory(),
  routes: [
    { path: '/', component: HomePage },
    { path: '/login', component: LoginPage },
    { path: '/admin', component: AdminPage },
    { path: '/claim/:token', component: ClaimPage },
    { path: '/agents', component: AgentsPage },
    { path: '/approvals', component: ApprovalsPage },
    { path: '/help', component: HelpPage },
    { path: '/settings', component: SettingsPage },
    { path: '/agents/:id/ledger', component: LedgerPage },
    { path: '/agents/:id/tasks/:taskId', component: TaskPage },
    { path: '/agents/:id/board', component: BoardPage },
  ],
})

const locale = navigator.language.toLowerCase().startsWith('zh') ? 'zh' : 'en'
const i18n = createI18n({ legacy: false, locale, fallbackLocale: 'en', messages })

createApp(App).use(router).use(i18n).mount('#app')