feat(mobile): stage 1 - infrastructure (vant, useDevice, MobileLayout, router, mobile.css)

- add vant@^4.9.0 dependency
- migrate useDevice.ts (device detection + localStorage)
- migrate MobileLayout.vue (tabbar + navbar + store init)
- migrate mobile.css (vant theme -> --gg-* mapping)
- migrate Placeholder.vue for unimplemented mobile views
- index.html: viewport for mobile (no-zoom, safe-area)
- main.ts: register Vant + import mobile.css
- vite.config.ts: manualChunks code splitting (vue/element/vant/pocketbase/livekit)
- router/index.ts: device-based routing via isMobile() + view() helper,
  preserve uat's JoinGroup/JoinTeam routes, mobile views use Placeholder
  pending stages 2-11

build verified: vue-tsc + vite build pass
This commit is contained in:
锦麟 王
2026-06-18 10:54:12 +08:00
parent 0b999eebb0
commit 38c13ec50e
9 changed files with 406 additions and 16 deletions
+1
View File
@@ -15,6 +15,7 @@
"livekit-client": "^2.18.3",
"pinia": "^2.1.7",
"pocketbase": "^0.21.1",
"vant": "^4.9.0",
"vue": "^3.4.21",
"vue-router": "^4.3.0"
},