소스 검색

✨ feat(activity): 优化活动选择页时间显示

- 隐藏去程活动时间显示,保持名称、地点、地址信息正常显示
- 隐藏返程活动时间显示,确保活动选择功能不受影响
- 更新测试用例验证时间隐藏后的页面渲染正确性
- 使用注释方式隐藏时间显示,便于未来需要时恢复功能

📝 docs(story): 更新活动选择页时间隐藏优化故事状态

- 将故事状态从Draft更新为Ready for Review
- 标记所有任务和子任务为已完成
- 添加开发代理记录和文件变更列表
- 完善完成说明和调试日志参考信息
yourname 3 달 전
부모
커밋
b0b7ac68e8

+ 28 - 17
docs/stories/007.008.activity-select-time-hide.story.md

@@ -1,7 +1,7 @@
 # Story 007.008: 活动选择页时间隐藏优化
 
 ## Status
-Draft
+Ready for Review
 
 ## Story
 **As a** 小程序用户,
@@ -15,22 +15,22 @@ Draft
 4. 验证活动选择功能正常工作
 
 ## Tasks / Subtasks
-- [ ] 隐藏去程活动时间显示 (AC: 1, 2, 3)
-  - [ ] 在 `mini/src/pages/select-activity/ActivitySelectPage.tsx` 中隐藏去程活动的时间显示(第271行)
-  - [ ] 确保去程活动名称、地点、地址信息保持正常显示
-  - [ ] 验证去程活动选择功能正常
-- [ ] 隐藏返程活动时间显示 (AC: 1, 2, 3)
-  - [ ] 在 `mini/src/pages/select-activity/ActivitySelectPage.tsx` 中隐藏返程活动的时间显示(第333行)
-  - [ ] 确保返程活动名称、地点、地址信息保持正常显示
-  - [ ] 验证返程活动选择功能正常
-- [ ] 更新相关测试 (AC: 4)
-  - [ ] 更新 `mini/tests/pages/ActivitySelectPage.test.tsx` 测试文件
-  - [ ] 验证时间隐藏后的页面渲染正确
-  - [ ] 确保活动选择功能测试通过
-- [ ] 验证功能完整性 (AC: 4)
-  - [ ] 验证去程和返程活动选择功能正常工作
-  - [ ] 验证页面布局优化后的功能完整性
-  - [ ] 确保活动信息显示完整且正确
+- [x] 隐藏去程活动时间显示 (AC: 1, 2, 3)
+  - [x] 在 `mini/src/pages/select-activity/ActivitySelectPage.tsx` 中隐藏去程活动的时间显示(第271行)
+  - [x] 确保去程活动名称、地点、地址信息保持正常显示
+  - [x] 验证去程活动选择功能正常
+- [x] 隐藏返程活动时间显示 (AC: 1, 2, 3)
+  - [x] 在 `mini/src/pages/select-activity/ActivitySelectPage.tsx` 中隐藏返程活动的时间显示(第333行)
+  - [x] 确保返程活动名称、地点、地址信息保持正常显示
+  - [x] 验证返程活动选择功能正常
+- [x] 更新相关测试 (AC: 4)
+  - [x] 更新 `mini/tests/pages/ActivitySelectPage.test.tsx` 测试文件
+  - [x] 验证时间隐藏后的页面渲染正确
+  - [x] 确保活动选择功能测试通过
+- [x] 验证功能完整性 (AC: 4)
+  - [x] 验证去程和返程活动选择功能正常工作
+  - [x] 验证页面布局优化后的功能完整性
+  - [x] 确保活动信息显示完整且正确
 
 ## Dev Notes
 
@@ -74,11 +74,22 @@ Draft
 ## Dev Agent Record
 
 ### Agent Model Used
+- James (Developer Agent)
 
 ### Debug Log References
+- 成功隐藏去程活动时间显示(第271行)
+- 成功隐藏返程活动时间显示(第333行)
+- 更新测试验证时间隐藏功能
+- 所有活动选择页面测试通过
 
 ### Completion Notes List
+1. 使用注释方式隐藏活动时间显示,便于未来恢复使用
+2. 保持活动名称、地点、地址信息正常显示
+3. 验证去程和返程活动选择功能正常工作
+4. 更新测试确保时间隐藏后的页面渲染正确
 
 ### File List
+- [mini/src/pages/select-activity/ActivitySelectPage.tsx](mini/src/pages/select-activity/ActivitySelectPage.tsx) - 隐藏活动时间显示
+- [mini/tests/pages/ActivitySelectPage.test.tsx](mini/tests/pages/ActivitySelectPage.test.tsx) - 更新测试验证时间隐藏
 
 ## QA Results

+ 4 - 0
mini/src/pages/select-activity/ActivitySelectPage.tsx

@@ -267,9 +267,11 @@ const ActivitySelectPage: React.FC = () => {
                           <Text className="text-base font-medium text-gray-800 block" data-testid="departure-activity-name-1">
                             {activity.name}
                           </Text>
+                          {/* 活动时间显示 - 暂时隐藏以优化页面简洁性
                           <Text className="text-sm text-gray-500 mt-1 block">
                             {info.date}
                           </Text>
+                          */}
                           <Text className="text-sm text-gray-500 mt-1 block">
                             {info.location}
                           </Text>
@@ -329,9 +331,11 @@ const ActivitySelectPage: React.FC = () => {
                           <Text className="text-base font-medium text-gray-800 block" data-testid="return-activity-name-2">
                             {activity.name}
                           </Text>
+                          {/* 活动时间显示 - 暂时隐藏以优化页面简洁性
                           <Text className="text-sm text-gray-500 mt-1 block">
                             {info.date}
                           </Text>
+                          */}
                           <Text className="text-sm text-gray-500 mt-1 block">
                             {info.location}
                           </Text>

+ 13 - 1
mini/tests/pages/ActivitySelectPage.test.tsx

@@ -405,12 +405,24 @@ describe('活动选择页面测试', () => {
     // 验证图片占位符已被注释掉,不显示
     expect(screen.queryByText('活动图片')).not.toBeInTheDocument()
 
-    // 验证活动信息完整显示
+    // 验证活动信息完整显示(时间已隐藏)
     expect(screen.getByText('音乐节活动')).toBeInTheDocument()
     expect(screen.getByText('朝阳区 · 北京市 · 北京市')).toBeInTheDocument()
     expect(screen.getByText('北京市朝阳区工人体育场北路')).toBeInTheDocument()
     expect(screen.getByText('到达:上海市 上海市 徐汇区')).toBeInTheDocument()
 
+    // 验证活动时间已隐藏(只检查活动卡片中的日期,不检查头部日期)
+    const activityCards = screen.getAllByTestId(/departure-activity-|return-activity-/)
+    activityCards.forEach(card => {
+      // 在活动卡片中查找日期文本
+      const dateTexts = card.querySelectorAll('.text-sm.text-gray-500')
+      dateTexts.forEach(textElement => {
+        const textContent = textElement.textContent || ''
+        // 确保活动卡片中不包含日期格式的文本
+        expect(textContent).not.toMatch(/2025-11-01|2025-11-02/)
+      })
+    })
+
     // 验证头部日期显示正确
     expect(screen.getByTestId('header-date')).toHaveTextContent('2025-11-01')
   })