feat: 在食物库页面中集成每日营养数据刷新功能,优化饮食记录成功后的用户体验;移除营养目标计算逻辑以简化组件

This commit is contained in:
richarjiang
2025-09-09 08:31:32 +08:00
parent 1de4b9fe4c
commit 9ccd15319e
2 changed files with 8 additions and 4 deletions

View File

@@ -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) {