feat: 更新依赖项并优化组件结构

- 在 package.json 和 package-lock.json 中新增 @sentry/react-native、react-native-device-info 和 react-native-purchases 依赖
- 更新统计页面,替换 CircularRing 组件为 FitnessRingsCard,增强健身数据展示
- 在布局文件中引入 ToastProvider,优化用户通知体验
- 新增 SuccessToast 组件,提供全局成功提示功能
- 更新健康数据获取逻辑,支持健身圆环数据的提取
- 优化多个组件的样式和交互,提升用户体验
This commit is contained in:
richarjiang
2025-08-21 09:51:25 +08:00
parent 19b92547e1
commit 78620f18ee
21 changed files with 2494 additions and 108 deletions

View File

@@ -96,7 +96,7 @@ export function NutritionRecordCard({
</View>
<View style={styles.timelineNode}>
<View style={[styles.timelineDot, { backgroundColor: mealTypeColor }]}>
<Ionicons name={mealTypeIcon as any} size={12} color="#FFFFFF" />
<Ionicons name={mealTypeIcon as any} size={10} color="#FFFFFF" />
</View>
{!isLast && (
<View style={[styles.timelineLine, { backgroundColor: textSecondaryColor }]} />
@@ -197,15 +197,15 @@ const styles = StyleSheet.create({
marginBottom: 12,
},
timelineColumn: {
width: 64,
width: 52,
alignItems: 'center',
paddingTop: 8,
paddingTop: 6,
},
timeContainer: {
marginBottom: 8,
marginBottom: 6,
},
timeText: {
fontSize: 12,
fontSize: 11,
fontWeight: '600',
textAlign: 'center',
},
@@ -214,22 +214,22 @@ const styles = StyleSheet.create({
flex: 1,
},
timelineDot: {
width: 24,
height: 24,
borderRadius: 12,
width: 20,
height: 20,
borderRadius: 10,
justifyContent: 'center',
alignItems: 'center',
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.1,
shadowRadius: 4,
elevation: 2,
shadowOffset: { width: 0, height: 1 },
shadowOpacity: 0.08,
shadowRadius: 3,
elevation: 1,
},
timelineLine: {
width: 2,
width: 1.5,
flex: 1,
marginTop: 8,
opacity: 0.3,
marginTop: 6,
opacity: 0.25,
},
card: {
flex: 1,
@@ -242,7 +242,7 @@ const styles = StyleSheet.create({
elevation: 2,
},
cardWithTimeline: {
marginLeft: 8,
marginLeft: 6,
},
mainContent: {
flexDirection: 'row',