feat: 实现目标列表左滑删除功能及相关组件

- 在目标列表中添加左滑删除功能,用户可通过左滑手势显示删除按钮并确认删除目标
- 修改 GoalCard 组件,使用 Swipeable 组件包装卡片内容,支持删除操作
- 更新目标列表页面,集成删除目标的逻辑,确保与 Redux 状态管理一致
- 添加开发模式下的模拟数据,方便测试删除功能
- 更新相关文档,详细描述左滑删除功能的实现和使用方法
This commit is contained in:
2025-08-23 17:58:39 +08:00
parent 20a244e375
commit 4f2bd76b8f
14 changed files with 1592 additions and 732 deletions

View File

@@ -17,7 +17,7 @@ import { useColorScheme } from '@/hooks/useColorScheme';
import { calculateNutritionSummary, getDietRecords, NutritionSummary } from '@/services/dietRecords';
import { fetchDailyMoodCheckins, selectLatestMoodRecordByDate } from '@/store/moodSlice';
import { getMonthDaysZh, getTodayIndexInMonth } from '@/utils/date';
import { ensureHealthPermissions, fetchHealthDataForDate } from '@/utils/health';
import { ensureHealthPermissions, fetchHealthDataForDate, testOxygenSaturationData } from '@/utils/health';
import { useBottomTabBarHeight } from '@react-navigation/bottom-tabs';
import { useFocusEffect } from '@react-navigation/native';
import dayjs from 'dayjs';
@@ -309,6 +309,13 @@ export default function ExploreScreen() {
}
};
// 测试血氧饱和度数据
const testOxygenData = async () => {
console.log('开始测试血氧饱和度数据...');
const currentDate = getCurrentSelectedDate();
await testOxygenSaturationData(currentDate);
};
// 使用统一的渐变背景色
const backgroundGradientColors = [colorTokens.backgroundGradientStart, colorTokens.backgroundGradientEnd] as const;
@@ -450,6 +457,13 @@ export default function ExploreScreen() {
style={styles.basalMetabolismCardOverride}
oxygenSaturation={oxygenSaturation}
/>
{/* 测试按钮 - 开发时使用 */}
<Text
style={styles.testButton}
onPress={testOxygenData}
>
</Text>
</FloatingCard>
{/* 心率卡片 */}
@@ -794,4 +808,11 @@ const styles = StyleSheet.create({
moodCard: {
backgroundColor: '#F0FDF4',
},
testButton: {
fontSize: 12,
color: '#3B82F6',
textAlign: 'center',
marginTop: 8,
padding: 4,
},
});