main.js 2.05 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 AdminDashboardPage from './pages/AdminDashboardPage.vue'
import AdminDisputesPage from './pages/AdminDisputesPage.vue'
import AdminGuildsPage from './pages/AdminGuildsPage.vue'
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 LedgerPage from './pages/LedgerPage.vue'
import SettingsPage from './pages/SettingsPage.vue'
import TaskPage from './pages/TaskPage.vue'
import WorldPage from './pages/WorldPage.vue'

const router = createRouter({
  history: createWebHistory(),
  routes: [
    // 小镇默认公开可看;/login 仍显示小镇,由 App 里的登录弹窗盖在上面。
    { path: '/', component: WorldPage },
    { path: '/login', component: WorldPage },
    { path: '/admin', component: AdminPage },
    { path: '/admin/guilds', component: AdminGuildsPage },
    { path: '/admin/disputes', component: AdminDisputesPage },
    { path: '/admin/dashboard', component: AdminDashboardPage },
    { path: '/agents/:id/world', component: WorldPage },
    { 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')