From a303415857b19c265673324a292311fb6b8a25d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=94=A6=E9=BA=9F=20=E7=8E=8B?= Date: Thu, 18 Jun 2026 11:03:51 +0800 Subject: [PATCH] feat(mobile): stage 3 - home, groups, notifications - migrate HomeMobile.vue (status card, current session, groups, popular games) - migrate GroupsMobile.vue (list + create/join popup + pull refresh) - migrate NotificationsMobile.vue (invitations/join-requests tabs + app notifications) - router: wire Home/MobileGroups/MobileNotifications mobile views - verified: user/group/team/notification stores + groups/invitations APIs all match uat note: event board NOT added to home (uat PC Home.vue doesn't integrate it either); events will be handled in stage 11 group detail tab build verified: vue-tsc + vite build pass --- frontend/src/router/index.ts | 6 +- frontend/src/views-mobile/GroupsMobile.vue | 381 ++++++++++++++ frontend/src/views-mobile/HomeMobile.vue | 463 ++++++++++++++++++ .../src/views-mobile/NotificationsMobile.vue | 393 +++++++++++++++ 4 files changed, 1240 insertions(+), 3 deletions(-) create mode 100644 frontend/src/views-mobile/GroupsMobile.vue create mode 100644 frontend/src/views-mobile/HomeMobile.vue create mode 100644 frontend/src/views-mobile/NotificationsMobile.vue diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 09d44a8..838e26c 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -56,7 +56,7 @@ const routes: RouteRecordRaw[] = [ name: 'Home', component: view( () => import('@/views/Home.vue'), - mobilePlaceholder + () => import('@/views-mobile/HomeMobile.vue') ) }, { @@ -64,7 +64,7 @@ const routes: RouteRecordRaw[] = [ name: 'MobileGroups', component: view( () => import('@/views/Home.vue'), // 桌面端无此路由,回退首页 - mobilePlaceholder + () => import('@/views-mobile/GroupsMobile.vue') ) }, { @@ -72,7 +72,7 @@ const routes: RouteRecordRaw[] = [ name: 'MobileNotifications', component: view( () => import('@/views/Home.vue'), - mobilePlaceholder + () => import('@/views-mobile/NotificationsMobile.vue') ) }, { diff --git a/frontend/src/views-mobile/GroupsMobile.vue b/frontend/src/views-mobile/GroupsMobile.vue new file mode 100644 index 0000000..e02b82d --- /dev/null +++ b/frontend/src/views-mobile/GroupsMobile.vue @@ -0,0 +1,381 @@ + + + + + + + diff --git a/frontend/src/views-mobile/HomeMobile.vue b/frontend/src/views-mobile/HomeMobile.vue new file mode 100644 index 0000000..d2e71ce --- /dev/null +++ b/frontend/src/views-mobile/HomeMobile.vue @@ -0,0 +1,463 @@ + + + + + + + diff --git a/frontend/src/views-mobile/NotificationsMobile.vue b/frontend/src/views-mobile/NotificationsMobile.vue new file mode 100644 index 0000000..5919b42 --- /dev/null +++ b/frontend/src/views-mobile/NotificationsMobile.vue @@ -0,0 +1,393 @@ + + + + + + +