feat: 在食物库页面中集成每日营养数据刷新功能,优化饮食记录成功后的用户体验;移除营养目标计算逻辑以简化组件
This commit is contained in:
@@ -3,9 +3,11 @@ import { FoodDetailModal } from '@/components/model/food/FoodDetailModal';
|
||||
import { HeaderBar } from '@/components/ui/HeaderBar';
|
||||
import { Colors } from '@/constants/Colors';
|
||||
import { DEFAULT_IMAGE_FOOD } from '@/constants/Image';
|
||||
import { useAppDispatch } from '@/hooks/redux';
|
||||
import { useFoodLibrary, useFoodSearch } from '@/hooks/useFoodLibrary';
|
||||
import { addDietRecord, type CreateDietRecordDto } from '@/services/dietRecords';
|
||||
import { foodLibraryApi, type CreateCustomFoodDto } from '@/services/foodLibraryApi';
|
||||
import { fetchDailyNutritionData } from '@/store/nutritionSlice';
|
||||
import type { FoodItem, MealType, SelectedFoodItem } from '@/types/food';
|
||||
import { Ionicons } from '@expo/vector-icons';
|
||||
import { Image } from 'expo-image';
|
||||
@@ -39,6 +41,7 @@ export default function FoodLibraryScreen() {
|
||||
const mealType = (params.mealType as MealType) || 'breakfast';
|
||||
|
||||
// Redux hooks
|
||||
const dispatch = useAppDispatch();
|
||||
const { categories, loading, error, clearErrors, loadFoodLibrary } = useFoodLibrary();
|
||||
const { searchResults, searchLoading, search, clearResults } = useFoodSearch();
|
||||
|
||||
@@ -176,7 +179,11 @@ export default function FoodLibraryScreen() {
|
||||
await addDietRecord(dietRecordData);
|
||||
}
|
||||
|
||||
// 记录成功后清空选择列表并返回
|
||||
// 记录成功后,刷新当天的营养数据
|
||||
const today = new Date();
|
||||
await dispatch(fetchDailyNutritionData(today));
|
||||
|
||||
// 清空选择列表并返回
|
||||
setSelectedFoodItems([]);
|
||||
router.back();
|
||||
} catch (error) {
|
||||
|
||||
@@ -108,9 +108,6 @@ export function NutritionRadarCard({
|
||||
}: NutritionRadarCardProps) {
|
||||
const [currentMealType] = useState<'breakfast' | 'lunch' | 'dinner' | 'snack'>('breakfast');
|
||||
const [showFoodOverlay, setShowFoodOverlay] = useState(false);
|
||||
// 计算营养目标
|
||||
const calorieGoal = nutritionGoals?.calories ?? 2000;
|
||||
const proteinGoal = nutritionGoals?.proteinGoal ?? 50;
|
||||
|
||||
const nutritionStats = useMemo(() => {
|
||||
return [
|
||||
|
||||
Reference in New Issue
Block a user