feat: 添加 BMI 计算和训练计划排课功能

- 新增 BMI 计算工具,支持用户输入体重和身高计算 BMI 值,并根据结果提供分类和建议
- 在训练计划中集成排课功能,允许用户选择和安排训练动作
- 更新个人信息页面,添加出生日期字段,支持用户完善个人资料
- 优化训练计划卡片样式,提升用户体验
- 更新相关依赖,确保项目兼容性和功能完整性
This commit is contained in:
richarjiang
2025-08-15 10:45:37 +08:00
parent 807e185761
commit f95401c1ce
14 changed files with 3309 additions and 374 deletions

View File

@@ -3,7 +3,7 @@ import { useThemeColor } from '@/hooks/useThemeColor';
import AsyncStorage from '@react-native-async-storage/async-storage';
import { router } from 'expo-router';
import React, { useEffect, useState } from 'react';
import { ActivityIndicator, Text, View } from 'react-native';
import { ActivityIndicator, View } from 'react-native';
const ONBOARDING_COMPLETED_KEY = '@onboarding_completed';
@@ -20,15 +20,12 @@ export default function SplashScreen() {
try {
const onboardingCompleted = await AsyncStorage.getItem(ONBOARDING_COMPLETED_KEY);
// 添加一个短暂的延迟以显示启动画面
setTimeout(() => {
if (onboardingCompleted === 'true') {
router.replace('/(tabs)');
} else {
router.replace('/onboarding');
}
setIsLoading(false);
}, 1000);
if (onboardingCompleted === 'true') {
router.replace('/(tabs)');
} else {
router.replace('/onboarding');
}
setIsLoading(false);
} catch (error) {
console.error('检查引导状态失败:', error);
// 如果出现错误,默认显示引导页面
@@ -59,11 +56,7 @@ export default function SplashScreen() {
alignItems: 'center',
marginBottom: 20,
}}>
<Text style={{
fontSize: 32,
}}>
🧘
</Text>
</View>
<ActivityIndicator size="large" color={primaryColor} />
</ThemedView>