main.js
2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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')