diff --git a/app/(tabs)/goals.tsx b/app/(tabs)/goals.tsx index 06b2a06..6257c3a 100644 --- a/app/(tabs)/goals.tsx +++ b/app/(tabs)/goals.tsx @@ -46,6 +46,7 @@ export default function GoalsScreen() { skipError, } = useAppSelector((state) => state.tasks); + const { createLoading, createError @@ -67,13 +68,13 @@ export default function GoalsScreen() { // 页面聚焦时重新加载数据 useFocusEffect( useCallback(() => { - console.log('useFocusEffect - loading tasks'); + console.log('useFocusEffect - loading tasks isLoggedIn', isLoggedIn); if (isLoggedIn) { loadTasks(); checkAndShowGuide(); } - }, [dispatch]) + }, [dispatch, isLoggedIn]) ); // 检查并显示用户引导 @@ -94,6 +95,7 @@ export default function GoalsScreen() { // 加载任务列表 const loadTasks = async () => { try { + await dispatch(fetchTasks({ startDate: dayjs().startOf('day').toISOString(), endDate: dayjs().endOf('day').toISOString(), diff --git a/app/(tabs)/personal.tsx b/app/(tabs)/personal.tsx index 39c23f0..683ef76 100644 --- a/app/(tabs)/personal.tsx +++ b/app/(tabs)/personal.tsx @@ -46,6 +46,7 @@ export default function PersonalScreen() { // 直接使用 Redux 中的用户信息,避免重复状态管理 const userProfile = useAppSelector((state) => state.user.profile); + // 页面聚焦时获取最新用户信息 useFocusEffect( React.useCallback(() => { diff --git a/app/(tabs)/statistics.tsx b/app/(tabs)/statistics.tsx index ca0b2dd..565cb92 100644 --- a/app/(tabs)/statistics.tsx +++ b/app/(tabs)/statistics.tsx @@ -88,8 +88,6 @@ export default function ExploreScreen() { // 解构健康数据(支持mock数据) const mockData = useMockData ? getTestHealthData('mock') : null; - const stepCount: number | null = useMockData ? (mockData?.steps ?? null) : (healthData?.steps ?? null); - const hourlySteps = useMockData ? (mockData?.hourlySteps ?? []) : (healthData?.hourlySteps ?? []); const activeCalories = useMockData ? (mockData?.activeEnergyBurned ?? null) : (healthData?.activeEnergyBurned ?? null); const basalMetabolism: number | null = useMockData ? (mockData?.basalEnergyBurned ?? null) : (healthData?.basalEnergyBurned ?? null); @@ -271,7 +269,6 @@ export default function ExploreScreen() { dispatch(setHealthData({ date: dateString, data: { - steps: data.steps, activeCalories: data.activeEnergyBurned, basalEnergyBurned: data.basalEnergyBurned, hrv: data.hrv, @@ -283,7 +280,6 @@ export default function ExploreScreen() { exerciseMinutesGoal: data.exerciseMinutesGoal, standHours: data.standHours, standHoursGoal: data.standHoursGoal, - hourlySteps: data.hourlySteps, } })); @@ -541,11 +537,9 @@ export default function ExploreScreen() { pushIfAuthedElseLogin('/steps/detail')} /> diff --git a/app/_layout.tsx b/app/_layout.tsx index e39ad9b..a7ac31f 100644 --- a/app/_layout.tsx +++ b/app/_layout.tsx @@ -14,7 +14,7 @@ import { setupQuickActions } from '@/services/quickActions'; import { initializeWaterRecordBridge } from '@/services/waterRecordBridge'; import { WaterRecordSource } from '@/services/waterRecords'; import { store } from '@/store'; -import { rehydrateUser, setPrivacyAgreed } from '@/store/userSlice'; +import { rehydrateUserSync, setPrivacyAgreed } from '@/store/userSlice'; import { createWaterRecordAction } from '@/store/waterSlice'; import { DailySummaryNotificationHelpers, MoodNotificationHelpers, NutritionNotificationHelpers } from '@/utils/notificationHelpers'; import { clearPendingWaterRecords, syncPendingWidgetChanges } from '@/utils/widgetDataSync'; @@ -25,12 +25,6 @@ import { ToastProvider } from '@/contexts/ToastContext'; import { BackgroundTaskManager } from '@/services/backgroundTaskManager'; import { Provider } from 'react-redux'; -let resolver: (() => void) | null; - -// Create a promise and store its resolve function for later -const promise = new Promise((resolve) => { - resolver = resolve; -}); function Bootstrapper({ children }: { children: React.ReactNode }) { const dispatch = useAppDispatch(); @@ -43,13 +37,14 @@ function Bootstrapper({ children }: { children: React.ReactNode }) { React.useEffect(() => { const loadUserData = async () => { - await dispatch(rehydrateUser()); + // 数据已经在启动界面预加载,这里只需要快速同步到 Redux 状态 + await dispatch(rehydrateUserSync()); setUserDataLoaded(true); }; const initializeNotifications = async () => { try { - await BackgroundTaskManager.getInstance().initialize(promise); + await BackgroundTaskManager.getInstance().initialize(); // 初始化通知服务 await notificationService.initialize(); console.log('通知服务初始化成功'); diff --git a/app/auth/login.tsx b/app/auth/login.tsx index c9c9f28..19d213b 100644 --- a/app/auth/login.tsx +++ b/app/auth/login.tsx @@ -130,7 +130,9 @@ export default function LoginScreen() { router.back(); } } catch (err: any) { - if (err?.code === 'ERR_CANCELED') return; + console.log('err.code', err.code); + + if (err?.code === 'ERR_CANCELED' || err?.code === 'ERR_REQUEST_CANCELED') return; const message = err?.message || '登录失败,请稍后再试'; Alert.alert('登录失败', message); } finally { diff --git a/app/index.tsx b/app/index.tsx index 330cc69..8715358 100644 --- a/app/index.tsx +++ b/app/index.tsx @@ -1,6 +1,7 @@ import { ThemedView } from '@/components/ThemedView'; import { ROUTES } from '@/constants/Routes'; import { useThemeColor } from '@/hooks/useThemeColor'; +import { preloadUserData } from '@/store/userSlice'; import { router } from 'expo-router'; import React, { useEffect, useState } from 'react'; import { ActivityIndicator, View } from 'react-native'; @@ -18,6 +19,11 @@ export default function SplashScreen() { const checkOnboardingStatus = async () => { try { + // 先预加载用户数据,这样进入应用时就有正确的 token 状态 + console.log('开始预加载用户数据...'); + await preloadUserData(); + console.log('用户数据预加载完成'); + // const onboardingCompleted = await AsyncStorage.getItem(ONBOARDING_COMPLETED_KEY); // if (onboardingCompleted === 'true') { @@ -28,11 +34,9 @@ export default function SplashScreen() { // setIsLoading(false); router.replace(ROUTES.TAB_STATISTICS); } catch (error) { - console.error('检查引导状态失败:', error); - // 如果出现错误,默认显示引导页面 - // setTimeout(() => { - // router.replace('/onboarding'); - // }, 1000); + console.error('检查引导状态或预加载用户数据失败:', error); + // 如果出现错误,仍然进入应用,但可能会有状态更新 + router.replace(ROUTES.TAB_STATISTICS); } setIsLoading(false); }; diff --git a/app/steps/detail.tsx b/app/steps/detail.tsx index 77dbd7a..153aa63 100644 --- a/app/steps/detail.tsx +++ b/app/steps/detail.tsx @@ -1,37 +1,43 @@ import { DateSelector } from '@/components/DateSelector'; -import { useAppDispatch, useAppSelector } from '@/hooks/redux'; -import { selectHealthDataByDate, setHealthData } from '@/store/healthSlice'; +import { HeaderBar } from '@/components/ui/HeaderBar'; import { getMonthDaysZh, getTodayIndexInMonth } from '@/utils/date'; -import { ensureHealthPermissions, fetchHealthDataForDate } from '@/utils/health'; -import { getTestHealthData } from '@/utils/mockHealthData'; -import { Ionicons } from '@expo/vector-icons'; +import { fetchHourlyStepSamples, fetchStepCount, HourlyStepData } from '@/utils/health'; +import { logger } from '@/utils/logger'; import dayjs from 'dayjs'; import { LinearGradient } from 'expo-linear-gradient'; -import { useRouter } from 'expo-router'; +import { useLocalSearchParams } from 'expo-router'; import React, { useEffect, useMemo, useRef, useState } from 'react'; import { Animated, - SafeAreaView, ScrollView, StyleSheet, Text, - TouchableOpacity, View } from 'react-native'; -import { useSafeAreaInsets } from 'react-native-safe-area-context'; export default function StepsDetailScreen() { - const router = useRouter(); - const dispatch = useAppDispatch(); - const insets = useSafeAreaInsets(); + // 获取路由参数 + const { date } = useLocalSearchParams<{ date?: string }>(); - // 开发调试:设置为true来使用mock数据 - const useMockData = __DEV__; + // 根据传入的日期参数计算初始选中索引 + const getInitialSelectedIndex = () => { + if (date) { + const targetDate = dayjs(date); + const days = getMonthDaysZh(); + const foundIndex = days.findIndex(day => + day.date && dayjs(day.date.toDate()).isSame(targetDate, 'day') + ); + return foundIndex >= 0 ? foundIndex : getTodayIndexInMonth(); + } + return getTodayIndexInMonth(); + }; // 日期选择相关状态 - const [selectedIndex, setSelectedIndex] = useState(getTodayIndexInMonth()); + const [selectedIndex, setSelectedIndex] = useState(getInitialSelectedIndex()); - // 数据加载状态 + // 步数数据状态 + const [stepCount, setStepCount] = useState(0); + const [hourlySteps, setHourSteps] = useState([]); const [isLoading, setIsLoading] = useState(false); // 获取当前选中日期 @@ -40,17 +46,25 @@ export default function StepsDetailScreen() { return days[selectedIndex]?.date?.toDate() ?? new Date(); }, [selectedIndex]); - const currentSelectedDateString = useMemo(() => { - return dayjs(currentSelectedDate).format('YYYY-MM-DD'); - }, [currentSelectedDate]); + // 获取步数数据的函数,参考 StepsCard 的实现 + const getStepData = async (date: Date) => { + try { + setIsLoading(true); + logger.info('获取步数详情数据...'); + const [steps, hourly] = await Promise.all([ + fetchStepCount(date), + fetchHourlyStepSamples(date) + ]); - // 从 Redux 获取指定日期的健康数据 - const healthData = useAppSelector(selectHealthDataByDate(currentSelectedDateString)); + setStepCount(steps); + setHourSteps(hourly); - // 解构健康数据(支持mock数据) - const mockData = useMockData ? getTestHealthData('mock') : null; - const stepCount: number | null = useMockData ? (mockData?.steps ?? null) : (healthData?.steps ?? null); - const hourlySteps = useMockData ? (mockData?.hourlySteps ?? []) : (healthData?.hourlySteps ?? []); + } catch (error) { + logger.error('获取步数详情数据失败:', error); + } finally { + setIsLoading(false); + } + }; // 为每个柱体创建独立的动画值 @@ -113,50 +127,24 @@ export default function StepsDetailScreen() { } }, [chartData, animatedValues]); - // 加载健康数据 - const loadHealthData = async (targetDate: Date) => { - if (useMockData) return; // 如果使用mock数据,不需要加载 - - try { - setIsLoading(true); - console.log('加载步数详情数据...', targetDate); - - const ok = await ensureHealthPermissions(); - if (!ok) { - console.warn('无法获取健康权限'); - return; - } - - const data = await fetchHealthDataForDate(targetDate); - - console.log('data', data); - - const dateString = dayjs(targetDate).format('YYYY-MM-DD'); - - // 使用 Redux 存储健康数据 - dispatch(setHealthData({ - date: dateString, - data: data - })); - - console.log('步数详情数据加载完成'); - } catch (error) { - console.error('加载步数详情数据失败:', error); - } finally { - setIsLoading(false); - } - }; - // 日期选择处理 const onSelectDate = (index: number, date: Date) => { setSelectedIndex(index); - loadHealthData(date); + getStepData(date); }; - // 页面初始化时加载当前日期数据 + // 当路由参数变化时更新选中索引 useEffect(() => { - loadHealthData(currentSelectedDate); - }, []); + const newIndex = getInitialSelectedIndex(); + setSelectedIndex(newIndex); + }, [date]); + + // 当选中日期变化时获取数据 + useEffect(() => { + if (currentSelectedDate) { + getStepData(currentSelectedDate); + } + }, [currentSelectedDate]); // 计算总步数和平均步数 const totalSteps = stepCount || 0; @@ -219,222 +207,212 @@ export default function StepsDetailScreen() { end={{ x: 1, y: 1 }} /> - - {/* 顶部导航栏 */} - - router.back()} - > - - - 步数详情 - + + + + {/* 日期选择器 */} + + + {/* 统计卡片 */} + + {isLoading ? ( + + 加载中... + + ) : ( + + + {totalSteps.toLocaleString()} + 总步数 + + + {averageHourlySteps} + 平均每小时 + + + + {mostActiveHour ? `${mostActiveHour.hour}:00` : '--'} + + 最活跃时段 + + + )} - - {/* 日期选择器 */} - - - {/* 统计卡片 */} - - {isLoading ? ( - - 加载中... - - ) : ( - - - {totalSteps.toLocaleString()} - 总步数 - - - {averageHourlySteps} - 平均每小时 - - - - {mostActiveHour ? `${mostActiveHour.hour}:00` : '--'} - - 最活跃时段 - - - )} + {/* 详细柱状图卡片 */} + + + 每小时步数分布 + + {dayjs(currentSelectedDate).format('YYYY年MM月DD日')} + - {/* 详细柱状图卡片 */} - - - 每小时步数分布 - - {dayjs(currentSelectedDate).format('YYYY年MM月DD日')} - - - - {/* 柱状图容器 */} - - {/* 平均值刻度线 - 放在chartArea外面,相对于chartContainer定位 */} - {averageLinePosition > 0 && ( - - - {/* 创建更多的虚线段来确保完整覆盖 */} - {Array.from({ length: 80 }, (_, index) => ( - 0 ? 2 : 0, - flex: 0 // 防止 flex 拉伸 - } - ]} - /> - ))} - - - 平均 {averageHourlySteps}步 - + {/* 柱状图容器 */} + + {/* 平均值刻度线 - 放在chartArea外面,相对于chartContainer定位 */} + {averageLinePosition > 0 && ( + + + {/* 创建更多的虚线段来确保完整覆盖 */} + {Array.from({ length: 80 }, (_, index) => ( + 0 ? 2 : 0, + flex: 0 // 防止 flex 拉伸 + } + ]} + /> + ))} - )} + + 平均 {averageHourlySteps}步 + + + )} - {/* 柱状图区域 */} - - {chartData.map((data, index) => { - const isActive = data.steps > 0; - const isCurrent = index <= currentHour; - const isKeyTime = index === 0 || index === 12 || index === 23; + {/* 柱状图区域 */} + + {chartData.map((data, index) => { + const isActive = data.steps > 0; + const isCurrent = index <= currentHour; + const isKeyTime = index === 0 || index === 12 || index === 23; - // 动画变换 - const animatedHeight = animatedValues[index].interpolate({ - inputRange: [0, 1], - outputRange: [0, data.height], - }); + // 动画变换 + const animatedHeight = animatedValues[index].interpolate({ + inputRange: [0, 1], + outputRange: [0, data.height], + }); - const animatedOpacity = animatedValues[index].interpolate({ - inputRange: [0, 1], - outputRange: [0, 1], - }); + const animatedOpacity = animatedValues[index].interpolate({ + inputRange: [0, 1], + outputRange: [0, 1], + }); - return ( - - {/* 背景柱体 */} - + {/* 背景柱体 */} + + + {/* 数据柱体 */} + {isActive && ( + + )} - {/* 数据柱体 */} - {isActive && ( - - )} - - {/* 步数标签(仅在有数据且是关键时间点时显示) */} - {/* {isActive && isKeyTime && ( + {/* 步数标签(仅在有数据且是关键时间点时显示) */} + {/* {isActive && isKeyTime && ( {data.steps} )} */} - - ); - })} - - - {/* 底部时间轴标签 */} - - 0:00 - 12:00 - 24:00 - - - - - {/* 活动等级展示卡片 */} - - - - {/* 活动级别文本 */} - 你今天的活动量处于 - {currentActivityLevel.label} - - {/* 进度条 */} - - - - - - - {/* 步数信息 */} - - - {totalSteps.toLocaleString()} 步 - 当前 - - - - {nextActivityLevel ? `${nextActivityLevel.minSteps.toLocaleString()} 步` : '--'} - - - {nextActivityLevel ? `下一级: ${nextActivityLevel.label}` : '已达最高级'} - - - - - {/* 活动等级图例 */} - - {reversedActivityLevels.map((level) => ( - - - 🏃 - {level.label} - - {level.maxSteps === Infinity - ? `> ${level.minSteps.toLocaleString()}` - : `${level.minSteps.toLocaleString()} - ${level.maxSteps.toLocaleString()}`} - - - ))} + ); + })} + + + {/* 底部时间轴标签 */} + + 0:00 + 12:00 + 24:00 - - + + + {/* 活动等级展示卡片 */} + + + + {/* 活动级别文本 */} + 你今天的活动量处于 + {currentActivityLevel.label} + + {/* 进度条 */} + + + + + + + {/* 步数信息 */} + + + {totalSteps.toLocaleString()} 步 + 当前 + + + + {nextActivityLevel ? `${nextActivityLevel.minSteps.toLocaleString()} 步` : '--'} + + + {nextActivityLevel ? `下一级: ${nextActivityLevel.label}` : '已达最高级'} + + + + + {/* 活动等级图例 */} + + {reversedActivityLevels.map((level) => ( + + + 🏃 + + {level.label} + + {level.maxSteps === Infinity + ? `> ${level.minSteps.toLocaleString()}` + : `${level.minSteps.toLocaleString()} - ${level.maxSteps.toLocaleString()}`} + + + ))} + + + ); } @@ -450,9 +428,6 @@ const styles = StyleSheet.create({ top: 0, bottom: 0, }, - safeArea: { - flex: 1, - }, header: { flexDirection: 'row', alignItems: 'center', diff --git a/app/weight-records.tsx b/app/weight-records.tsx index 0b70c40..c00c694 100644 --- a/app/weight-records.tsx +++ b/app/weight-records.tsx @@ -1,4 +1,5 @@ import NumberKeyboard from '@/components/NumberKeyboard'; +import { HeaderBar } from '@/components/ui/HeaderBar'; import { WeightRecordCard } from '@/components/weight/WeightRecordCard'; import { Colors } from '@/constants/Colors'; import { getTabBarBottomPadding } from '@/constants/TabBar'; @@ -169,65 +170,64 @@ export default function WeightRecordsPage() { return ( + {/* 背景渐变 */} - {/* Header */} - - - - - - - - - {/* Weight Statistics */} - - - - {totalWeightLoss.toFixed(1)}kg - 累计减重 + end={{ x: 1, y: 1 }} + /> + + + + } + /> + {/* Weight Statistics */} + + + + {totalWeightLoss.toFixed(1)}kg + 累计减重 + + + {currentWeight.toFixed(1)}kg + 当前体重 + + + {initialWeight.toFixed(1)}kg + + 初始体重 + + + - - {currentWeight.toFixed(1)}kg - 当前体重 - - - {initialWeight.toFixed(1)}kg - - 初始体重 - - - - - - - {targetWeight.toFixed(1)}kg - - 目标体重 - - - - + + + {targetWeight.toFixed(1)}kg + + 目标体重 + + + + - + - {/* Monthly Records */} - {Object.keys(groupedHistory).length > 0 ? ( - Object.entries(groupedHistory).map(([month, records]) => ( - - {/* Month Header Card */} - {/* + {/* Monthly Records */} + {Object.keys(groupedHistory).length > 0 ? ( + Object.entries(groupedHistory).map(([month, records]) => ( + + {/* Month Header Card */} + {/* {dayjs(month, 'YYYY年MM月').format('MM')} @@ -245,139 +245,138 @@ export default function WeightRecordsPage() { */} - {/* Individual Record Cards */} - {records.map((record, recordIndex) => { - // Calculate weight change from previous record - const prevRecord = recordIndex < records.length - 1 ? records[recordIndex + 1] : null; - const weightChange = prevRecord ? - parseFloat(record.weight) - parseFloat(prevRecord.weight) : 0; + {/* Individual Record Cards */} + {records.map((record, recordIndex) => { + // Calculate weight change from previous record + const prevRecord = recordIndex < records.length - 1 ? records[recordIndex + 1] : null; + const weightChange = prevRecord ? + parseFloat(record.weight) - parseFloat(prevRecord.weight) : 0; - return ( - - ); - })} - - )) - ) : ( - - - 暂无体重记录 - 点击右上角添加按钮开始记录 - + return ( + + ); + })} - )} - - - {/* Weight Input Modal */} - setShowWeightPicker(false)} - > - - setShowWeightPicker(false)} - /> - - {/* Header */} - - setShowWeightPicker(false)}> - - - - {pickerType === 'current' && '记录体重'} - {pickerType === 'initial' && '编辑初始体重'} - {pickerType === 'target' && '编辑目标体重'} - {pickerType === 'edit' && '编辑体重记录'} - - - - - - {/* Weight Display Section */} - - - - - - - - {inputWeight || '输入体重'} - - kg - - - - {/* Weight Range Hint */} - - 请输入 0-500 之间的数值,支持小数 - - - - {/* Quick Selection */} - - 快速选择 - - {[50, 60, 70, 80, 90].map((weight) => ( - setInputWeight(weight.toString())} - > - - {weight}kg - - - ))} - - - - - {/* Custom Number Keyboard */} - - - {/* Save Button */} - - - 确定 - - + )) + ) : ( + + + 暂无体重记录 + 点击右上角添加按钮开始记录 - - + )} + + + {/* Weight Input Modal */} + setShowWeightPicker(false)} + > + + setShowWeightPicker(false)} + /> + + {/* Header */} + + setShowWeightPicker(false)}> + + + + {pickerType === 'current' && '记录体重'} + {pickerType === 'initial' && '编辑初始体重'} + {pickerType === 'target' && '编辑目标体重'} + {pickerType === 'edit' && '编辑体重记录'} + + + + + + {/* Weight Display Section */} + + + + + + + + {inputWeight || '输入体重'} + + kg + + + + {/* Weight Range Hint */} + + 请输入 0-500 之间的数值,支持小数 + + + + {/* Quick Selection */} + + 快速选择 + + {[50, 60, 70, 80, 90].map((weight) => ( + setInputWeight(weight.toString())} + > + + {weight}kg + + + ))} + + + + + {/* Custom Number Keyboard */} + + + {/* Save Button */} + + + 确定 + + + + + ); } @@ -386,8 +385,12 @@ const styles = StyleSheet.create({ container: { flex: 1, }, - gradient: { - flex: 1, + gradientBackground: { + position: 'absolute', + left: 0, + right: 0, + top: 0, + bottom: 0, }, header: { flexDirection: 'row', diff --git a/components/StepsCard.tsx b/components/StepsCard.tsx index f40096b..5e639f2 100644 --- a/components/StepsCard.tsx +++ b/components/StepsCard.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useMemo, useRef } from 'react'; +import React, { useEffect, useMemo, useRef, useState } from 'react'; import { Animated, StyleSheet, @@ -8,26 +8,52 @@ import { ViewStyle } from 'react-native'; -import { HourlyStepData } from '@/utils/health'; +import { fetchHourlyStepSamples, fetchStepCount, HourlyStepData } from '@/utils/health'; +import { logger } from '@/utils/logger'; +import { useRouter } from 'expo-router'; import { AnimatedNumber } from './AnimatedNumber'; +import dayjs from 'dayjs'; // 使用原生View来替代SVG,避免导入问题 // import Svg, { Rect } from 'react-native-svg'; interface StepsCardProps { - stepCount: number | null; + curDate: Date stepGoal: number; - hourlySteps: HourlyStepData[]; style?: ViewStyle; - onPress?: () => void; // 新增点击事件回调 } const StepsCard: React.FC = ({ - stepCount, - stepGoal, - hourlySteps, + curDate, style, - onPress }) => { + const router = useRouter(); + + const [stepCount, setStepCount] = useState(0) + const [hourlySteps, setHourSteps] = useState([]) + + + const getStepData = async (date: Date) => { + try { + logger.info('获取步数数据...'); + const [steps, hourly] = await Promise.all([ + fetchStepCount(date), + fetchHourlyStepSamples(date) + ]) + + setStepCount(steps) + setHourSteps(hourly) + + } catch (error) { + logger.error('获取步数数据失败:', error); + } + } + + useEffect(() => { + if (curDate) { + getStepData(curDate); + } + }, [curDate]); + // 为每个柱体创建独立的动画值 const animatedValues = useRef( Array.from({ length: 24 }, () => new Animated.Value(0)) @@ -56,7 +82,7 @@ const StepsCard: React.FC = ({ useEffect(() => { // 检查是否有实际数据(不只是空数组) const hasData = chartData && chartData.length > 0 && chartData.some(data => data.steps > 0); - + if (hasData) { // 重置所有动画值 animatedValues.forEach(animValue => animValue.setValue(0)); @@ -154,24 +180,19 @@ const StepsCard: React.FC = ({ ); - // 如果有点击事件,包装在TouchableOpacity中 - if (onPress) { - return ( - - - - ); - } - // 否则使用普通View return ( - + { + // 传递当前日期参数到详情页 + const dateParam = dayjs(curDate).format('YYYY-MM-DD'); + router.push(`/steps/detail?date=${dateParam}`); + }} + activeOpacity={0.8} + > - + ); }; diff --git a/components/ui/HeaderBar.tsx b/components/ui/HeaderBar.tsx index 3bf7dff..61240f1 100644 --- a/components/ui/HeaderBar.tsx +++ b/components/ui/HeaderBar.tsx @@ -1,11 +1,11 @@ +import { Colors } from '@/constants/Colors'; +import { useColorScheme } from '@/hooks/useColorScheme'; import { Ionicons } from '@expo/vector-icons'; +import { router } from 'expo-router'; import React from 'react'; import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; -import { Colors } from '@/constants/Colors'; -import { useColorScheme } from '@/hooks/useColorScheme'; - export type HeaderBarProps = { title: string | React.ReactNode; onBack?: () => void; @@ -76,23 +76,24 @@ export function HeaderBar({ }, ]} > - {onBack ? ( - - - - ) : ( - - )} - + { + if (onBack) { + onBack(); + return + } + router.back() + }} + style={styles.backButton} + activeOpacity={0.7} + > + + {typeof title === 'string' ? ( = ({ overshootRight={false} > @@ -111,14 +111,11 @@ export const WeightRecordCard: React.FC = ({ const styles = StyleSheet.create({ recordCard: { - backgroundColor: '#F0F0F0', + backgroundColor: '#ffffff', borderRadius: 16, padding: 20, marginBottom: 12, }, - recordCardDark: { - backgroundColor: '#1F2937', - }, recordHeader: { flexDirection: 'row', justifyContent: 'space-between', @@ -145,8 +142,8 @@ const styles = StyleSheet.create({ fontWeight: '500', }, recordWeightValue: { - fontSize: 18, - fontWeight: '700', + fontSize: 16, + fontWeight: '600', color: '#192126', marginLeft: 4, flex: 1, diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 59524e7..4f5c6f4 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -10,7 +10,7 @@ PODS: - React-Core - EXNotifications (0.32.11): - ExpoModulesCore - - Expo (54.0.1): + - Expo (54.0.7): - boost - DoubleConversion - ExpoModulesCore @@ -45,26 +45,26 @@ PODS: - ExpoModulesCore - ExpoAsset (12.0.8): - ExpoModulesCore - - ExpoBackgroundTask (1.0.6): + - ExpoBackgroundTask (1.0.7): - ExpoModulesCore - - ExpoBlur (15.0.6): + - ExpoBlur (15.0.7): - ExpoModulesCore - ExpoCamera (17.0.7): - ExpoModulesCore - ZXingObjC/OneD - ZXingObjC/PDF417 - - ExpoFileSystem (19.0.11): + - ExpoFileSystem (19.0.14): - ExpoModulesCore - ExpoFont (14.0.8): - ExpoModulesCore - - ExpoGlassEffect (0.1.2): + - ExpoGlassEffect (0.1.3): - ExpoModulesCore - ExpoHaptics (15.0.6): - ExpoModulesCore - - ExpoHead (6.0.1): + - ExpoHead (6.0.4): - ExpoModulesCore - RNScreens - - ExpoImage (3.0.7): + - ExpoImage (3.0.8): - ExpoModulesCore - libavif/libdav1d - SDWebImage (~> 5.21.0) @@ -73,7 +73,7 @@ PODS: - SDWebImageWebPCoder (~> 0.14.6) - ExpoImagePicker (17.0.7): - ExpoModulesCore - - ExpoKeepAwake (15.0.6): + - ExpoKeepAwake (15.0.7): - ExpoModulesCore - ExpoLinearGradient (15.0.6): - ExpoModulesCore @@ -116,11 +116,11 @@ PODS: - ExpoModulesCore - ExpoSystemUI (6.0.7): - ExpoModulesCore - - ExpoUI (0.2.0-beta.1): + - ExpoUI (0.2.0-beta.2): - ExpoModulesCore - ExpoWebBrowser (15.0.6): - ExpoModulesCore - - EXTaskManager (14.0.6): + - EXTaskManager (14.0.7): - ExpoModulesCore - UMAppLoader - fast_float (8.0.0) @@ -3031,7 +3031,7 @@ PODS: - SDWebImage/Core (~> 5.17) - Sentry/HybridSDK (8.53.2) - SocketRocket (0.7.1) - - UMAppLoader (6.0.6) + - UMAppLoader (6.0.7) - Yoga (0.0.0) - ZXingObjC/Core (3.6.9) - ZXingObjC/OneD (3.6.9): @@ -3423,20 +3423,20 @@ SPEC CHECKSUMS: EXConstants: 7e4654405af367ff908c863fe77a8a22d60bd37d EXImageLoader: 189e3476581efe3ad4d1d3fb4735b7179eb26f05 EXNotifications: 7a2975f4e282b827a0bc78bb1d232650cb569bbd - Expo: 449ff2805d3673354f533a360e001f556f0b2009 + Expo: b7d4314594ebd7fe5eefd1a06c3b0d92b718cde0 ExpoAppleAuthentication: 9eb1ec7213ee9c9797951df89975136db89bf8ac ExpoAsset: 84810d6fed8179f04d4a7a4a6b37028bbd726e26 - ExpoBackgroundTask: f4dac8f09f3b187e464af7a1088d9fd5ae48a836 - ExpoBlur: 9bde58a4de1d24a02575d0e24290f2026ce8dc3a + ExpoBackgroundTask: 22ed53b129d4d5e15c39be9fa68e45d25f6781a1 + ExpoBlur: 2dd8f64aa31f5d405652c21d3deb2d2588b1852f ExpoCamera: ae1d6691b05b753261a845536d2b19a9788a8750 - ExpoFileSystem: 7b4a4f6c67a738e826fd816139bac9d098b3b084 + ExpoFileSystem: 4fb06865906e781329eb67166bd64fc4749c3019 ExpoFont: 86ceec09ffed1c99cfee36ceb79ba149074901b5 - ExpoGlassEffect: 07bafe3374d7d24299582627d040a6c7e403c3f3 + ExpoGlassEffect: e48c949ee7dcf2072cca31389bf8fa776c1727a0 ExpoHaptics: e0912a9cf05ba958eefdc595f1990b8f89aa1f3f - ExpoHead: 9539b6c97faa57b2deb0414205e084b0a2bc15f1 - ExpoImage: 18d9836939f8e271364a5a2a3566f099ea73b2e4 + ExpoHead: 2aad68c730f967d2533599dabb64d1d2cd9f765a + ExpoImage: e88f500585913969b930e13a4be47277eb7c6de8 ExpoImagePicker: 66195293e95879fa5ee3eb1319f10b5de0ffccbb - ExpoKeepAwake: eba81dfb5728be8c46e382b9314dfa14f40d8764 + ExpoKeepAwake: 1a2e820692e933c94a565ec3fbbe38ac31658ffe ExpoLinearGradient: 74d67832cdb0d2ef91f718d50dd82b273ce2812e ExpoLinking: f051f28e50ea9269ff539317c166adec81d9342d ExpoModulesCore: 5d150c790fb491ab10fe431fb794014af841258f @@ -3444,9 +3444,9 @@ SPEC CHECKSUMS: ExpoSplashScreen: 1665809071bd907c6fdbfd9c09583ee4d51b41d4 ExpoSymbols: 3efee6865b1955fe3805ca88b36e8674ce6970dd ExpoSystemUI: 6cd74248a2282adf6dec488a75fa532d69dee314 - ExpoUI: 1e4b3045678eb66004d78d9a6602afdcbdc06bbd + ExpoUI: 0f109b0549d1ae2fd955d3b8733b290c5cdeec7e ExpoWebBrowser: 84d4438464d9754a4c1f1eaa97cd747f3752187e - EXTaskManager: eedcd03c1a574c47d3f48d83d4e4659b3c1fa29b + EXTaskManager: cf225704fab8de8794a6f57f7fa41a90c0e2cd47 fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6 FBLazyVector: 941bef1c8eeabd9fe1f501e30a5220beee913886 fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd @@ -3545,7 +3545,7 @@ SPEC CHECKSUMS: SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380 Sentry: 59993bffde4a1ac297ba6d268dc4bbce068d7c1b SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 - UMAppLoader: 2af2cc05fcaa9851233893c0e3dbc56a99f57e36 + UMAppLoader: e1234c45d2b7da239e9e90fc4bbeacee12afd5b6 Yoga: a3ed390a19db0459bd6839823a6ac6d9c6db198d ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5 diff --git a/package-lock.json b/package-lock.json index 5378fcf..b19cc88 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "digital-pilates", "version": "1.0.2", "dependencies": { - "@expo/ui": "~0.2.0-beta.1", + "@expo/ui": "~0.2.0-beta.2", "@expo/vector-icons": "^15.0.2", "@react-native-async-storage/async-storage": "^2.2.0", "@react-native-community/datetimepicker": "^8.4.4", @@ -23,22 +23,22 @@ "@types/lodash": "^4.17.20", "cos-js-sdk-v5": "^1.6.0", "dayjs": "^1.11.13", - "expo": "^54.0.1", + "expo": "^54.0.7", "expo-apple-authentication": "~8.0.6", - "expo-background-task": "~1.0.6", - "expo-blur": "~15.0.6", + "expo-background-task": "~1.0.7", + "expo-blur": "~15.0.7", "expo-camera": "~17.0.7", "expo-constants": "~18.0.8", "expo-font": "~14.0.8", - "expo-glass-effect": "^0.1.2", + "expo-glass-effect": "^0.1.3", "expo-haptics": "~15.0.6", - "expo-image": "~3.0.7", + "expo-image": "~3.0.8", "expo-image-picker": "~17.0.7", "expo-linear-gradient": "~15.0.6", - "expo-linking": "~8.0.7", + "expo-linking": "~8.0.8", "expo-notifications": "~0.32.11", "expo-quick-actions": "^5.0.0", - "expo-router": "~6.0.1", + "expo-router": "~6.0.4", "expo-splash-screen": "~31.0.8", "expo-status-bar": "~3.0.7", "expo-symbols": "~1.0.6", @@ -79,7 +79,7 @@ }, "node_modules/@0no-co/graphql.web": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.2.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/@0no-co/graphql.web/-/graphql.web-1.2.0.tgz", "integrity": "sha512-/1iHy9TTr63gE1YcR5idjx8UREz1s0kFhydf3bBLCXyqjhkIc6igAzTOx3zPifCwFR87tsh/4Pa9cNts6d2otw==", "license": "MIT", "peerDependencies": { @@ -241,7 +241,7 @@ }, "node_modules/@babel/helper-define-polyfill-provider": { "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", "license": "MIT", "dependencies": { @@ -330,7 +330,7 @@ }, "node_modules/@babel/helper-remap-async-to-generator": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", "license": "MIT", "dependencies": { @@ -404,7 +404,7 @@ }, "node_modules/@babel/helper-wrap-function": { "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", "license": "MIT", "dependencies": { @@ -532,7 +532,7 @@ }, "node_modules/@babel/plugin-proposal-decorators": { "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==", "license": "MIT", "dependencies": { @@ -549,7 +549,7 @@ }, "node_modules/@babel/plugin-proposal-export-default-from": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.27.1.tgz", "integrity": "sha512-hjlsMBl1aJc5lp8MoCDEZCiYzlgdRAShOjAfRw6X+GlpLpUPU7c3XNLsKFZbQk/1cRzBlJ7CXg3xJAJMrFa1Uw==", "license": "MIT", "dependencies": { @@ -615,7 +615,7 @@ }, "node_modules/@babel/plugin-syntax-decorators": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", "license": "MIT", "dependencies": { @@ -630,7 +630,7 @@ }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "license": "MIT", "dependencies": { @@ -642,7 +642,7 @@ }, "node_modules/@babel/plugin-syntax-export-default-from": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.27.1.tgz", "integrity": "sha512-eBC/3KSekshx19+N40MzjWqJd7KTEdOoLesAfa4IDFI8eRz5a47i5Oszus6zG/cwIXN63YhgLOMSSNJx49sENg==", "license": "MIT", "dependencies": { @@ -657,7 +657,7 @@ }, "node_modules/@babel/plugin-syntax-flow": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.27.1.tgz", "integrity": "sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==", "license": "MIT", "dependencies": { @@ -858,7 +858,7 @@ }, "node_modules/@babel/plugin-transform-async-generator-functions": { "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", "license": "MIT", "dependencies": { @@ -875,7 +875,7 @@ }, "node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", "license": "MIT", "dependencies": { @@ -892,7 +892,7 @@ }, "node_modules/@babel/plugin-transform-block-scoping": { "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.4.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.4.tgz", "integrity": "sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==", "license": "MIT", "dependencies": { @@ -923,7 +923,7 @@ }, "node_modules/@babel/plugin-transform-class-static-block": { "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", "license": "MIT", "dependencies": { @@ -959,7 +959,7 @@ }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", "license": "MIT", "dependencies": { @@ -975,7 +975,7 @@ }, "node_modules/@babel/plugin-transform-destructuring": { "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", "license": "MIT", "dependencies": { @@ -991,7 +991,7 @@ }, "node_modules/@babel/plugin-transform-export-namespace-from": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "license": "MIT", "dependencies": { @@ -1006,7 +1006,7 @@ }, "node_modules/@babel/plugin-transform-flow-strip-types": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz", "integrity": "sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==", "license": "MIT", "dependencies": { @@ -1022,7 +1022,7 @@ }, "node_modules/@babel/plugin-transform-for-of": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", "license": "MIT", "dependencies": { @@ -1038,7 +1038,7 @@ }, "node_modules/@babel/plugin-transform-function-name": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "license": "MIT", "dependencies": { @@ -1055,7 +1055,7 @@ }, "node_modules/@babel/plugin-transform-literals": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", "license": "MIT", "dependencies": { @@ -1070,7 +1070,7 @@ }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", "license": "MIT", "dependencies": { @@ -1101,7 +1101,7 @@ }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", "license": "MIT", "dependencies": { @@ -1132,7 +1132,7 @@ }, "node_modules/@babel/plugin-transform-numeric-separator": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", "license": "MIT", "dependencies": { @@ -1147,7 +1147,7 @@ }, "node_modules/@babel/plugin-transform-object-rest-spread": { "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", "license": "MIT", "dependencies": { @@ -1166,7 +1166,7 @@ }, "node_modules/@babel/plugin-transform-optional-catch-binding": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", "license": "MIT", "dependencies": { @@ -1197,7 +1197,7 @@ }, "node_modules/@babel/plugin-transform-parameters": { "version": "7.27.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "license": "MIT", "dependencies": { @@ -1212,7 +1212,7 @@ }, "node_modules/@babel/plugin-transform-private-methods": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", "license": "MIT", "dependencies": { @@ -1228,7 +1228,7 @@ }, "node_modules/@babel/plugin-transform-private-property-in-object": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", "license": "MIT", "dependencies": { @@ -1245,7 +1245,7 @@ }, "node_modules/@babel/plugin-transform-react-display-name": { "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", "license": "MIT", "dependencies": { @@ -1260,7 +1260,7 @@ }, "node_modules/@babel/plugin-transform-react-jsx": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", "license": "MIT", "dependencies": { @@ -1279,7 +1279,7 @@ }, "node_modules/@babel/plugin-transform-react-jsx-development": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", "license": "MIT", "dependencies": { @@ -1294,7 +1294,7 @@ }, "node_modules/@babel/plugin-transform-react-jsx-self": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", "license": "MIT", "dependencies": { @@ -1309,7 +1309,7 @@ }, "node_modules/@babel/plugin-transform-react-jsx-source": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", "license": "MIT", "dependencies": { @@ -1324,7 +1324,7 @@ }, "node_modules/@babel/plugin-transform-react-pure-annotations": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", "license": "MIT", "dependencies": { @@ -1340,7 +1340,7 @@ }, "node_modules/@babel/plugin-transform-regenerator": { "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", "license": "MIT", "dependencies": { @@ -1355,7 +1355,7 @@ }, "node_modules/@babel/plugin-transform-runtime": { "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz", "integrity": "sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==", "license": "MIT", "dependencies": { @@ -1390,7 +1390,7 @@ }, "node_modules/@babel/plugin-transform-spread": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", "license": "MIT", "dependencies": { @@ -1406,7 +1406,7 @@ }, "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", "license": "MIT", "dependencies": { @@ -1472,7 +1472,7 @@ }, "node_modules/@babel/preset-react": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.27.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/preset-react/-/preset-react-7.27.1.tgz", "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==", "license": "MIT", "dependencies": { @@ -1771,7 +1771,7 @@ }, "node_modules/@expo/code-signing-certificates": { "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz", + "resolved": "https://mirrors.tencent.com/npm/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz", "integrity": "sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==", "license": "MIT", "dependencies": { @@ -1780,14 +1780,14 @@ } }, "node_modules/@expo/config": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-12.0.8.tgz", - "integrity": "sha512-yFadXa5Cmja57EVOSyEYV1hF7kCaSbPnd1twx0MfvTr1Yj2abIbrEu2MUZqcvElNQOtgADnLRP0YJiuEdgoO5A==", + "version": "12.0.9", + "resolved": "https://mirrors.tencent.com/npm/@expo/config/-/config-12.0.9.tgz", + "integrity": "sha512-HiDVVaXYKY57+L1MxSF3TaYjX6zZlGBnuWnOKZG+7mtsLD+aNTtW4bZM0pZqZfoRumyOU0SfTCwT10BWtUUiJQ==", "license": "MIT", "dependencies": { "@babel/code-frame": "~7.10.4", - "@expo/config-plugins": "~54.0.0", - "@expo/config-types": "^54.0.7", + "@expo/config-plugins": "~54.0.1", + "@expo/config-types": "^54.0.8", "@expo/json-file": "^10.0.7", "deepmerge": "^4.3.1", "getenv": "^2.0.0", @@ -1801,14 +1801,14 @@ } }, "node_modules/@expo/config-plugins": { - "version": "54.0.0", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-54.0.0.tgz", - "integrity": "sha512-b2yFNKwaiHjDfh7K+zhMvRKA09gdaP/raqIzB112qeacVJaT66vka8m6cffYbbiXMe1srqofSJvyvr+g3H6+nA==", + "version": "54.0.1", + "resolved": "https://mirrors.tencent.com/npm/@expo/config-plugins/-/config-plugins-54.0.1.tgz", + "integrity": "sha512-NyBChhiWFL6VqSgU+LzK4R1vC397tEG2XFewVt4oMr4Pnalq/mJxBANQrR+dyV1RHhSyhy06RNiJIkQyngVWeg==", "license": "MIT", "dependencies": { - "@expo/config-types": "^54.0.7", - "@expo/json-file": "~10.0.6", - "@expo/plist": "^0.4.6", + "@expo/config-types": "^54.0.8", + "@expo/json-file": "~10.0.7", + "@expo/plist": "^0.4.7", "@expo/sdk-runtime-versions": "^1.0.0", "chalk": "^4.1.2", "debug": "^4.3.5", @@ -1824,7 +1824,7 @@ }, "node_modules/@expo/config-plugins/node_modules/semver": { "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "bin": { @@ -1835,9 +1835,9 @@ } }, "node_modules/@expo/config-types": { - "version": "54.0.7", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-54.0.7.tgz", - "integrity": "sha512-f0UehgPd2gUqUtQ6euHAL6MqTT/A07r847Ztw2yZYWTUr0hRZr4nCP4U+lr8/pPtsHQYMKoPB1mOeAaTO25ruw==", + "version": "54.0.8", + "resolved": "https://mirrors.tencent.com/npm/@expo/config-types/-/config-types-54.0.8.tgz", + "integrity": "sha512-lyIn/x/Yz0SgHL7IGWtgTLg6TJWC9vL7489++0hzCHZ4iGjVcfZmPTUfiragZ3HycFFj899qN0jlhl49IHa94A==", "license": "MIT" }, "node_modules/@expo/config/node_modules/@babel/code-frame": { @@ -1863,7 +1863,7 @@ }, "node_modules/@expo/devcert": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.2.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/@expo/devcert/-/devcert-1.2.0.tgz", "integrity": "sha512-Uilcv3xGELD5t/b0eM4cxBFEKQRIivB3v7i+VhWLV/gL98aw810unLKKJbGAxAIhY6Ipyz8ChWibFsKFXYwstA==", "license": "MIT", "dependencies": { @@ -1874,7 +1874,7 @@ }, "node_modules/@expo/devcert/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "resolved": "https://mirrors.tencent.com/npm/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "license": "MIT", "dependencies": { @@ -1882,9 +1882,9 @@ } }, "node_modules/@expo/devtools": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@expo/devtools/-/devtools-0.1.6.tgz", - "integrity": "sha512-NE4TaCyUS/Cy2YxMdajt4grjfuJIsv6symUbQXk06Y96SyHy5DVzI1H0KdUca1HkPoZwwGCACFZZCN+Jvzuujw==", + "version": "0.1.7", + "resolved": "https://mirrors.tencent.com/npm/@expo/devtools/-/devtools-0.1.7.tgz", + "integrity": "sha512-dfIa9qMyXN+0RfU6SN4rKeXZyzKWsnz6xBSDccjL4IRiE+fQ0t84zg0yxgN4t/WK2JU5v6v4fby7W7Crv9gJvA==", "license": "MIT", "dependencies": { "chalk": "^4.1.2" @@ -2023,7 +2023,7 @@ }, "node_modules/@expo/metro": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@expo/metro/-/metro-0.1.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@expo/metro/-/metro-0.1.1.tgz", "integrity": "sha512-zvA9BE6myFoCxeiw/q3uE/kVkIwLTy27a+fDoEl7WQ7EvKfFeiXnRVhUplDMLGZIHH8VC38Gay6RBtVhnmOm5w==", "license": "MIT", "dependencies": { @@ -2042,15 +2042,15 @@ } }, "node_modules/@expo/metro-config": { - "version": "54.0.1", - "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-54.0.1.tgz", - "integrity": "sha512-yq+aA38RjmTxFUUWK2xuKWIRAVfnIDf7ephSXcc5isNVGRylwnWE+8N2scWrOQt49ikePbvwWpakTsNfLVLZbw==", + "version": "54.0.3", + "resolved": "https://mirrors.tencent.com/npm/@expo/metro-config/-/metro-config-54.0.3.tgz", + "integrity": "sha512-TQ5MKSGFB6zJxi+Yr8VYXQFHzRXgvSJzNsHX1otTqnxjXbptwYiXhljAqGSjr3pByq4+sHX/GifMk6fGgAANmA==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.20.0", "@babel/core": "^7.20.0", "@babel/generator": "^7.20.5", - "@expo/config": "~12.0.8", + "@expo/config": "~12.0.9", "@expo/env": "~2.0.7", "@expo/json-file": "~10.0.7", "@expo/metro": "~0.1.1", @@ -2080,31 +2080,16 @@ }, "node_modules/@expo/metro-config/node_modules/brace-expansion": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/brace-expansion/-/brace-expansion-2.0.2.tgz", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/@expo/metro-config/node_modules/hermes-estree": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", - "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", - "license": "MIT" - }, - "node_modules/@expo/metro-config/node_modules/hermes-parser": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", - "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", - "license": "MIT", - "dependencies": { - "hermes-estree": "0.29.1" - } - }, "node_modules/@expo/metro-config/node_modules/minimatch": { "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "resolved": "https://mirrors.tencent.com/npm/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "license": "ISC", "dependencies": { @@ -2118,9 +2103,9 @@ } }, "node_modules/@expo/metro-runtime": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@expo/metro-runtime/-/metro-runtime-6.1.1.tgz", - "integrity": "sha512-H5ZFj7nisMJ5a4joMGpF4Xt/m4hWDAroMNv5ld/2iniWoXLvNt+YQpMdyecu/lHpydKAjHzXcyE08hTGgURaIA==", + "version": "6.1.2", + "resolved": "https://mirrors.tencent.com/npm/@expo/metro-runtime/-/metro-runtime-6.1.2.tgz", + "integrity": "sha512-nvM+Qv45QH7pmYvP8JB1G8JpScrWND3KrMA6ZKe62cwwNiX/BjHU28Ear0v/4bQWXlOY0mv6B8CDIm8JxXde9g==", "license": "MIT", "dependencies": { "anser": "^1.4.9", @@ -2141,9 +2126,9 @@ } }, "node_modules/@expo/osascript": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.3.6.tgz", - "integrity": "sha512-EMi4/YgWN/dHSkE9A4A5EJE8WrGnp71+BcVAKY80KMYtq5s6mOhLyDm8ytvHeUISUrPcPTRZ/6c8JMd6F8Ggmg==", + "version": "2.3.7", + "resolved": "https://mirrors.tencent.com/npm/@expo/osascript/-/osascript-2.3.7.tgz", + "integrity": "sha512-IClSOXxR0YUFxIriUJVqyYki7lLMIHrrzOaP01yxAL1G8pj2DWV5eW1y5jSzIcIfSCNhtGsshGd1tU/AYup5iQ==", "license": "MIT", "dependencies": { "@expo/spawn-async": "^1.7.2", @@ -2155,7 +2140,7 @@ }, "node_modules/@expo/package-manager": { "version": "1.9.7", - "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.9.7.tgz", + "resolved": "https://mirrors.tencent.com/npm/@expo/package-manager/-/package-manager-1.9.7.tgz", "integrity": "sha512-k3uky8Qzlv21rxuPvP2KUTAy8NI0b/LP7BSXcwJpS/rH7RmiAqUXgzPar3I1OmKGgxpod78Y9Mae//F8d3aiOQ==", "license": "MIT", "dependencies": { @@ -2168,9 +2153,9 @@ } }, "node_modules/@expo/plist": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.4.6.tgz", - "integrity": "sha512-6yklhtUWohs1rBSC8dGyBBpElEbosjXN0zJN/+1/B121n7pPWvd9y/UGJm+2x7b81VnW3AHmWVnbU/u0INQsqA==", + "version": "0.4.7", + "resolved": "https://mirrors.tencent.com/npm/@expo/plist/-/plist-0.4.7.tgz", + "integrity": "sha512-dGxqHPvCZKeRKDU1sJZMmuyVtcASuSYh1LPFVaM1DuffqPL36n6FMEL0iUqq2Tx3xhWk8wCnWl34IKplUjJDdA==", "license": "MIT", "dependencies": { "@xmldom/xmldom": "^0.8.8", @@ -2290,14 +2275,14 @@ }, "node_modules/@expo/sudo-prompt": { "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@expo/sudo-prompt/-/sudo-prompt-9.3.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/@expo/sudo-prompt/-/sudo-prompt-9.3.2.tgz", "integrity": "sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==", "license": "MIT" }, "node_modules/@expo/ui": { - "version": "0.2.0-beta.1", - "resolved": "https://registry.npmjs.org/@expo/ui/-/ui-0.2.0-beta.1.tgz", - "integrity": "sha512-9eEbZmpWHLbpApwWNpeAC7Xf4rzlWsBcgHzGGN1QAfKvAq2S9eJfoIqPergrnnjN8Ju8G3EAos1DCk84q3oBgw==", + "version": "0.2.0-beta.2", + "resolved": "https://mirrors.tencent.com/npm/@expo/ui/-/ui-0.2.0-beta.2.tgz", + "integrity": "sha512-Pf/Nr9k4flJAbMfNMJ1GkaSNAk6VFC90QLH2Ux/e5KOQI5p69ttYANg2xQLw4G40TsBMFhFplAG78sOZfhLmaA==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -2318,13 +2303,13 @@ }, "node_modules/@expo/ws-tunnel": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@expo/ws-tunnel/-/ws-tunnel-1.0.6.tgz", + "resolved": "https://mirrors.tencent.com/npm/@expo/ws-tunnel/-/ws-tunnel-1.0.6.tgz", "integrity": "sha512-nDRbLmSrJar7abvUjp3smDwH8HcbZcoOEa5jVPUv9/9CajgmWw20JNRwTuBRzWIWIkEJDkz20GoNA+tSwUqk0Q==", "license": "MIT" }, "node_modules/@expo/xcpretty": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.3.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/@expo/xcpretty/-/xcpretty-4.3.2.tgz", "integrity": "sha512-ReZxZ8pdnoI3tP/dNnJdnmAk7uLT4FjsKDGW7YeDdvdOMz2XCQSmSCM9IWlrXuWtMF9zeSB6WJtEhCQ41gQOfw==", "license": "BSD-3-Clause", "dependencies": { @@ -2339,7 +2324,7 @@ }, "node_modules/@expo/xcpretty/node_modules/@babel/code-frame": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "resolved": "https://mirrors.tencent.com/npm/@babel/code-frame/-/code-frame-7.10.4.tgz", "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "license": "MIT", "dependencies": { @@ -2466,7 +2451,7 @@ }, "node_modules/@isaacs/fs-minipass": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", "license": "ISC", "dependencies": { @@ -2900,13 +2885,13 @@ }, "node_modules/@radix-ui/primitive": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/primitive/-/primitive-1.1.3.tgz", "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", "license": "MIT" }, "node_modules/@radix-ui/react-collection": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", "license": "MIT", "dependencies": { @@ -2932,7 +2917,7 @@ }, "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", "license": "MIT", "dependencies": { @@ -2950,7 +2935,7 @@ }, "node_modules/@radix-ui/react-compose-refs": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", "license": "MIT", "peerDependencies": { @@ -2965,7 +2950,7 @@ }, "node_modules/@radix-ui/react-context": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-context/-/react-context-1.1.2.tgz", "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", "license": "MIT", "peerDependencies": { @@ -2980,7 +2965,7 @@ }, "node_modules/@radix-ui/react-dialog": { "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", "license": "MIT", "dependencies": { @@ -3016,7 +3001,7 @@ }, "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", "license": "MIT", "dependencies": { @@ -3034,7 +3019,7 @@ }, "node_modules/@radix-ui/react-direction": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", "license": "MIT", "peerDependencies": { @@ -3049,7 +3034,7 @@ }, "node_modules/@radix-ui/react-dismissable-layer": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", "license": "MIT", "dependencies": { @@ -3076,7 +3061,7 @@ }, "node_modules/@radix-ui/react-focus-guards": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", "license": "MIT", "peerDependencies": { @@ -3091,7 +3076,7 @@ }, "node_modules/@radix-ui/react-focus-scope": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", "license": "MIT", "dependencies": { @@ -3116,7 +3101,7 @@ }, "node_modules/@radix-ui/react-id": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-id/-/react-id-1.1.1.tgz", "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", "license": "MIT", "dependencies": { @@ -3134,7 +3119,7 @@ }, "node_modules/@radix-ui/react-portal": { "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", "license": "MIT", "dependencies": { @@ -3158,7 +3143,7 @@ }, "node_modules/@radix-ui/react-presence": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", "license": "MIT", "dependencies": { @@ -3182,7 +3167,7 @@ }, "node_modules/@radix-ui/react-primitive": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", "license": "MIT", "dependencies": { @@ -3205,7 +3190,7 @@ }, "node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", "license": "MIT", "dependencies": { @@ -3223,7 +3208,7 @@ }, "node_modules/@radix-ui/react-roving-focus": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz", "integrity": "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==", "license": "MIT", "dependencies": { @@ -3254,7 +3239,7 @@ }, "node_modules/@radix-ui/react-slot": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-slot/-/react-slot-1.2.0.tgz", "integrity": "sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==", "license": "MIT", "dependencies": { @@ -3272,7 +3257,7 @@ }, "node_modules/@radix-ui/react-tabs": { "version": "1.1.13", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.13.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-tabs/-/react-tabs-1.1.13.tgz", "integrity": "sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==", "license": "MIT", "dependencies": { @@ -3302,7 +3287,7 @@ }, "node_modules/@radix-ui/react-use-callback-ref": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", "license": "MIT", "peerDependencies": { @@ -3317,7 +3302,7 @@ }, "node_modules/@radix-ui/react-use-controllable-state": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", "license": "MIT", "dependencies": { @@ -3336,7 +3321,7 @@ }, "node_modules/@radix-ui/react-use-effect-event": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", "license": "MIT", "dependencies": { @@ -3354,7 +3339,7 @@ }, "node_modules/@radix-ui/react-use-escape-keydown": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", "license": "MIT", "dependencies": { @@ -3372,7 +3357,7 @@ }, "node_modules/@radix-ui/react-use-layout-effect": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", "license": "MIT", "peerDependencies": { @@ -3615,7 +3600,7 @@ }, "node_modules/@react-native/babel-plugin-codegen": { "version": "0.81.4", - "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.81.4.tgz", + "resolved": "https://mirrors.tencent.com/npm/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.81.4.tgz", "integrity": "sha512-6ztXf2Tl2iWznyI/Da/N2Eqymt0Mnn69GCLnEFxFbNdk0HxHPZBNWU9shTXhsLWOL7HATSqwg/bB1+3kY1q+mA==", "license": "MIT", "dependencies": { @@ -3628,7 +3613,7 @@ }, "node_modules/@react-native/babel-preset": { "version": "0.81.4", - "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.81.4.tgz", + "resolved": "https://mirrors.tencent.com/npm/@react-native/babel-preset/-/babel-preset-0.81.4.tgz", "integrity": "sha512-VYj0c/cTjQJn/RJ5G6P0L9wuYSbU9yGbPYDHCKstlQZQWkk+L9V8ZDbxdJBTIei9Xl3KPQ1odQ4QaeW+4v+AZg==", "license": "MIT", "dependencies": { @@ -3685,30 +3670,6 @@ "@babel/core": "*" } }, - "node_modules/@react-native/babel-preset/node_modules/babel-plugin-syntax-hermes-parser": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.29.1.tgz", - "integrity": "sha512-2WFYnoWGdmih1I1J5eIqxATOeycOqRwYxAQBu3cUu/rhwInwHUg7k60AFNbuGjSDL8tje5GDrAnxzRLcu2pYcA==", - "license": "MIT", - "dependencies": { - "hermes-parser": "0.29.1" - } - }, - "node_modules/@react-native/babel-preset/node_modules/hermes-estree": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", - "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", - "license": "MIT" - }, - "node_modules/@react-native/babel-preset/node_modules/hermes-parser": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", - "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", - "license": "MIT", - "dependencies": { - "hermes-estree": "0.29.1" - } - }, "node_modules/@react-native/codegen": { "version": "0.81.4", "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.81.4.tgz", @@ -3751,21 +3712,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@react-native/codegen/node_modules/hermes-estree": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", - "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", - "license": "MIT" - }, - "node_modules/@react-native/codegen/node_modules/hermes-parser": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", - "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", - "license": "MIT", - "dependencies": { - "hermes-estree": "0.29.1" - } - }, "node_modules/@react-native/community-cli-plugin": { "version": "0.81.4", "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.81.4.tgz", @@ -3968,12 +3914,12 @@ } }, "node_modules/@react-navigation/native-stack": { - "version": "7.3.24", - "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-7.3.24.tgz", - "integrity": "sha512-Q2kWil9K5GxU2wKkmAgbkEdctiy0NpFafaIbRM0YzpMNbqzrrPwDaNjOO4A3BEVY6YO4ldg+TpJdj37YyD/qPQ==", + "version": "7.3.26", + "resolved": "https://mirrors.tencent.com/npm/@react-navigation/native-stack/-/native-stack-7.3.26.tgz", + "integrity": "sha512-EjaBWzLZ76HJGOOcWCFf+h/M+Zg7M1RalYioDOb6ZdXHz7AwYNidruT3OUAQgSzg3gVLqvu5OYO0jFsNDPCZxQ==", "license": "MIT", "dependencies": { - "@react-navigation/elements": "^2.6.2", + "@react-navigation/elements": "^2.6.4", "warn-once": "^0.1.1" }, "peerDependencies": { @@ -5162,7 +5108,7 @@ }, "node_modules/@urql/core": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@urql/core/-/core-5.2.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/@urql/core/-/core-5.2.0.tgz", "integrity": "sha512-/n0ieD0mvvDnVAXEQgX/7qJiVcvYvNkOHeBvkwtylfjydar123caCXcl58PXFY11oU1oquJocVXHxLAbtv4x1A==", "license": "MIT", "dependencies": { @@ -5172,7 +5118,7 @@ }, "node_modules/@urql/exchange-retry": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-1.3.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/@urql/exchange-retry/-/exchange-retry-1.3.2.tgz", "integrity": "sha512-TQMCz2pFJMfpNxmSfX1VSfTjwUIFx/mL+p1bnfM1xjjdla7Z+KnGMW/EhFbpckp3LyWAH4PgOsMwOMnIN+MBFg==", "license": "MIT", "dependencies": { @@ -5309,7 +5255,7 @@ }, "node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "license": "MIT", "dependencies": { @@ -5324,7 +5270,7 @@ }, "node_modules/ansi-escapes/node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "license": "(MIT OR CC0-1.0)", "engines": { @@ -5403,7 +5349,7 @@ }, "node_modules/aria-hidden": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "resolved": "https://mirrors.tencent.com/npm/aria-hidden/-/aria-hidden-1.2.6.tgz", "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", "license": "MIT", "dependencies": { @@ -5686,7 +5632,7 @@ }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.14", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "resolved": "https://mirrors.tencent.com/npm/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", "license": "MIT", "dependencies": { @@ -5700,7 +5646,7 @@ }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", "license": "MIT", "dependencies": { @@ -5713,7 +5659,7 @@ }, "node_modules/babel-plugin-polyfill-regenerator": { "version": "0.6.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "resolved": "https://mirrors.tencent.com/npm/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", "license": "MIT", "dependencies": { @@ -5725,7 +5671,7 @@ }, "node_modules/babel-plugin-react-compiler": { "version": "19.1.0-rc.3", - "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-19.1.0-rc.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/babel-plugin-react-compiler/-/babel-plugin-react-compiler-19.1.0-rc.3.tgz", "integrity": "sha512-mjRn69WuTz4adL0bXGx8Rsyk1086zFJeKmes6aK0xPuK3aaXmDJdLHqwKKMrpm6KAI1MCoUK72d2VeqQbu8YIA==", "license": "MIT", "dependencies": { @@ -5734,22 +5680,22 @@ }, "node_modules/babel-plugin-react-native-web": { "version": "0.21.1", - "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.21.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.21.1.tgz", "integrity": "sha512-7XywfJ5QIRMwjOL+pwJt2w47Jmi5fFLvK7/So4fV4jIN6PcRbylCp9/l3cJY4VJbSz3lnWTeHDTD1LKIc1C09Q==", "license": "MIT" }, "node_modules/babel-plugin-syntax-hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.25.1.tgz", - "integrity": "sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ==", + "version": "0.29.1", + "resolved": "https://mirrors.tencent.com/npm/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.29.1.tgz", + "integrity": "sha512-2WFYnoWGdmih1I1J5eIqxATOeycOqRwYxAQBu3cUu/rhwInwHUg7k60AFNbuGjSDL8tje5GDrAnxzRLcu2pYcA==", "license": "MIT", "dependencies": { - "hermes-parser": "0.25.1" + "hermes-parser": "0.29.1" } }, "node_modules/babel-plugin-transform-flow-enums": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", "license": "MIT", "dependencies": { @@ -5783,9 +5729,9 @@ } }, "node_modules/babel-preset-expo": { - "version": "54.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-54.0.0.tgz", - "integrity": "sha512-a0Ej4ik6xzvtrA4Ivblov3XVvfntIoqnXOy2jG2k/3hzWqzrJxKyY2gUW9ZCMAicGevj2ju28q+TsK29uTe0eQ==", + "version": "54.0.1", + "resolved": "https://mirrors.tencent.com/npm/babel-preset-expo/-/babel-preset-expo-54.0.1.tgz", + "integrity": "sha512-ziLpj+I/IxQdblHCpuzcyukTpzunq6h/QFsbWhk5DTd4suqB+Vl0Neacd+e38YeKXBabmxCOv8VJN3qk39Md4w==", "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.25.9", @@ -5806,7 +5752,7 @@ "@react-native/babel-preset": "0.81.4", "babel-plugin-react-compiler": "^19.1.0-rc.2", "babel-plugin-react-native-web": "~0.21.0", - "babel-plugin-syntax-hermes-parser": "^0.25.1", + "babel-plugin-syntax-hermes-parser": "^0.29.1", "babel-plugin-transform-flow-enums": "^0.0.2", "debug": "^4.3.4", "resolve-from": "^5.0.0" @@ -5875,7 +5821,7 @@ }, "node_modules/better-opn": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/better-opn/-/better-opn-3.0.2.tgz", "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", "license": "MIT", "dependencies": { @@ -5887,7 +5833,7 @@ }, "node_modules/better-opn/node_modules/open": { "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "license": "MIT", "dependencies": { @@ -5927,7 +5873,7 @@ }, "node_modules/bplist-parser": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/bplist-parser/-/bplist-parser-0.3.2.tgz", "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==", "license": "MIT", "dependencies": { @@ -6032,7 +5978,7 @@ }, "node_modules/bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "license": "MIT", "engines": { @@ -6204,7 +6150,7 @@ }, "node_modules/chownr": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/chownr/-/chownr-3.0.0.tgz", "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "license": "BlueOak-1.0.0", "engines": { @@ -6260,7 +6206,7 @@ }, "node_modules/cli-cursor": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "license": "MIT", "dependencies": { @@ -6272,7 +6218,7 @@ }, "node_modules/cli-spinners": { "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/cli-spinners/-/cli-spinners-2.9.2.tgz", "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "license": "MIT", "engines": { @@ -6284,7 +6230,7 @@ }, "node_modules/client-only": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", "license": "MIT" }, @@ -6336,7 +6282,7 @@ }, "node_modules/clone": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "resolved": "https://mirrors.tencent.com/npm/clone/-/clone-1.0.4.tgz", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "license": "MIT", "engines": { @@ -6395,7 +6341,7 @@ }, "node_modules/compressible": { "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "resolved": "https://mirrors.tencent.com/npm/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "license": "MIT", "dependencies": { @@ -6407,7 +6353,7 @@ }, "node_modules/compression": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/compression/-/compression-1.8.1.tgz", "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", "license": "MIT", "dependencies": { @@ -6425,7 +6371,7 @@ }, "node_modules/compression/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "https://mirrors.tencent.com/npm/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "license": "MIT", "dependencies": { @@ -6434,13 +6380,13 @@ }, "node_modules/compression/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, "node_modules/compression/node_modules/negotiator": { "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "resolved": "https://mirrors.tencent.com/npm/negotiator/-/negotiator-0.6.4.tgz", "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "license": "MIT", "engines": { @@ -6491,7 +6437,7 @@ }, "node_modules/core-js-compat": { "version": "3.45.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/core-js-compat/-/core-js-compat-3.45.1.tgz", "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==", "license": "MIT", "dependencies": { @@ -6774,7 +6720,7 @@ }, "node_modules/deep-extend": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "license": "MIT", "engines": { @@ -6799,7 +6745,7 @@ }, "node_modules/defaults": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "resolved": "https://mirrors.tencent.com/npm/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "license": "MIT", "dependencies": { @@ -6828,7 +6774,7 @@ }, "node_modules/define-lazy-prop": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "license": "MIT", "engines": { @@ -6883,9 +6829,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/detect-libc/-/detect-libc-2.1.0.tgz", + "integrity": "sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==", "license": "Apache-2.0", "engines": { "node": ">=8" @@ -6893,7 +6839,7 @@ }, "node_modules/detect-node-es": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/detect-node-es/-/detect-node-es-1.1.0.tgz", "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", "license": "MIT" }, @@ -7052,7 +6998,7 @@ }, "node_modules/env-editor": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/env-editor/-/env-editor-0.4.2.tgz", "integrity": "sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==", "license": "MIT", "engines": { @@ -7710,32 +7656,32 @@ }, "node_modules/exec-async": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/exec-async/-/exec-async-2.2.0.tgz", "integrity": "sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==", "license": "MIT" }, "node_modules/expo": { - "version": "54.0.1", - "resolved": "https://registry.npmjs.org/expo/-/expo-54.0.1.tgz", - "integrity": "sha512-BJSraR0CM8aUtrSlk8fgOXHhhsB5SeFqc+rJPsnMpdguN60PNkoGF+/ulr9dYfLaPa2w51tW5PmeVTLzESdXbA==", + "version": "54.0.7", + "resolved": "https://mirrors.tencent.com/npm/expo/-/expo-54.0.7.tgz", + "integrity": "sha512-DftN6nMdpHYUCw5Xnh7+h7wnusjtly4JzQknvuD7MzIvqoyJL9uffQyMQrmZkXrUbgm+cKBm47vtooIz4qj0Qg==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.0", - "@expo/cli": "54.0.1", - "@expo/config": "~12.0.8", - "@expo/config-plugins": "~54.0.0", - "@expo/devtools": "0.1.6", + "@expo/cli": "54.0.5", + "@expo/config": "~12.0.9", + "@expo/config-plugins": "~54.0.1", + "@expo/devtools": "0.1.7", "@expo/fingerprint": "0.15.0", "@expo/metro": "~0.1.1", - "@expo/metro-config": "54.0.1", + "@expo/metro-config": "54.0.3", "@expo/vector-icons": "^15.0.2", "@ungap/structured-clone": "^1.3.0", - "babel-preset-expo": "~54.0.0", + "babel-preset-expo": "~54.0.1", "expo-asset": "~12.0.8", "expo-constants": "~18.0.8", - "expo-file-system": "~19.0.11", - "expo-font": "~14.0.7", - "expo-keep-awake": "~15.0.6", + "expo-file-system": "~19.0.14", + "expo-font": "~14.0.8", + "expo-keep-awake": "~15.0.7", "expo-modules-autolinking": "3.0.10", "expo-modules-core": "3.0.15", "pretty-format": "^29.7.0", @@ -7831,21 +7777,21 @@ } }, "node_modules/expo-background-task": { - "version": "1.0.6", - "resolved": "https://mirrors.tencent.com/npm/expo-background-task/-/expo-background-task-1.0.6.tgz", - "integrity": "sha512-/lGXfpetLtFkAzfLyoVdagB9XMaMkXUgjRy/rLnZy5bXlTK3d7AxITzYs4ePQWRaJ89MPeOWokXg1cy3JgwOeA==", + "version": "1.0.7", + "resolved": "https://mirrors.tencent.com/npm/expo-background-task/-/expo-background-task-1.0.7.tgz", + "integrity": "sha512-SIAxjBt5ZM2HzABVLsMEy24DrqeJqE1e8iqvErNqqujH8nwk0CUi7C+2Ck92HfTMEkThmAUKHl32emVzStAesA==", "license": "MIT", "dependencies": { - "expo-task-manager": "~14.0.6" + "expo-task-manager": "~14.0.7" }, "peerDependencies": { "expo": "*" } }, "node_modules/expo-blur": { - "version": "15.0.6", - "resolved": "https://registry.npmjs.org/expo-blur/-/expo-blur-15.0.6.tgz", - "integrity": "sha512-MvHkrRtuBSNDVppmHfgMbJkxei8Sa89FLm5XhCzflogAqDJBBzTM2oYs9b5avdA3KJn/aapDNnEOUHiN2voeIA==", + "version": "15.0.7", + "resolved": "https://mirrors.tencent.com/npm/expo-blur/-/expo-blur-15.0.7.tgz", + "integrity": "sha512-SugQQbQd+zRPy8z2G5qDD4NqhcD7srBF7fN7O7yq6q7ZFK59VWvpDxtMoUkmSfdxgqONsrBN/rLdk00USADrMg==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -7888,9 +7834,9 @@ } }, "node_modules/expo-file-system": { - "version": "19.0.11", - "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-19.0.11.tgz", - "integrity": "sha512-xrtd4YobW5pKYJt4tGNbmzjb9ojg5J4H1iavUs2MDt4S/jX+IObLuJ8tWxBI7Zce5+0i9j4nU/V0gz/18AMJ8w==", + "version": "19.0.14", + "resolved": "https://mirrors.tencent.com/npm/expo-file-system/-/expo-file-system-19.0.14.tgz", + "integrity": "sha512-0CA7O5IYhab11TlxQlJAx0Xm9pdkk/zEHNiW+Hh/T4atWi9U/J38CIp7iNYSrBvy9dC3rJbze5D1ANcKKr4mSQ==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -7912,9 +7858,9 @@ } }, "node_modules/expo-glass-effect": { - "version": "0.1.2", - "resolved": "https://mirrors.tencent.com/npm/expo-glass-effect/-/expo-glass-effect-0.1.2.tgz", - "integrity": "sha512-25PZqYhRZ6EfJkhTzxthxvcXM5g32vn+GEzKc4+JJ7Qyk52Csxzw5y68Ge2opGF3y3JJ6VENXM07FnTgpuoK2w==", + "version": "0.1.3", + "resolved": "https://mirrors.tencent.com/npm/expo-glass-effect/-/expo-glass-effect-0.1.3.tgz", + "integrity": "sha512-wGWS8DdenyqwBHpVKwFCishtB08HD4SW6SZjIx9BXw92q/9b9fiygBypFob9dT0Mct6d05g7XRBRZ8Ryw5rYIg==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -7932,9 +7878,9 @@ } }, "node_modules/expo-image": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/expo-image/-/expo-image-3.0.7.tgz", - "integrity": "sha512-JlokOLUnIx9fKWgC6jlP/0C1TJd6ESNo/hKVO49a989YvHodslj1GGRy9+CR2ak4WBJiBv1X6SrYMchMXobfSg==", + "version": "3.0.8", + "resolved": "https://mirrors.tencent.com/npm/expo-image/-/expo-image-3.0.8.tgz", + "integrity": "sha512-L83fTHVjvE5hACxUXPk3dpABteI/IypeqxKMeOAAcT2eB/jbqT53ddsYKEvKAP86eoByQ7+TCtw9AOUizEtaTQ==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -7970,9 +7916,9 @@ } }, "node_modules/expo-keep-awake": { - "version": "15.0.6", - "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-15.0.6.tgz", - "integrity": "sha512-xO/KbQQjSdhHR87x2uZsMnIDXsDO9apa64jqxG5t0WKSBujdS3uDmvuYF7EwiJc8fKEWZ500Co51nOtO0wU1dg==", + "version": "15.0.7", + "resolved": "https://mirrors.tencent.com/npm/expo-keep-awake/-/expo-keep-awake-15.0.7.tgz", + "integrity": "sha512-CgBNcWVPnrIVII5G54QDqoE125l+zmqR4HR8q+MQaCfHet+dYpS5vX5zii/RMayzGN4jPgA4XYIQ28ePKFjHoA==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -8099,12 +8045,12 @@ } }, "node_modules/expo-router": { - "version": "6.0.1", - "resolved": "https://mirrors.tencent.com/npm/expo-router/-/expo-router-6.0.1.tgz", - "integrity": "sha512-5wXkWyNMqUbjCWH0PRkOM0P6UsgLVdgchDkiLz5FY7HfU00ToBcxij965bqtlaATBgoaIo4DuLu6EgxewrKJ8Q==", + "version": "6.0.4", + "resolved": "https://mirrors.tencent.com/npm/expo-router/-/expo-router-6.0.4.tgz", + "integrity": "sha512-RZRHAhUCCU6QNTnVhoy0PAJxbLy7OF78F4/4fwJna3cHGTtokPvJYUwz8kOZOOub/7l8jqgxnT7eKAk1dw9uXQ==", "license": "MIT", "dependencies": { - "@expo/metro-runtime": "6.1.1", + "@expo/metro-runtime": "^6.1.2", "@expo/schema-utils": "^0.1.7", "@expo/server": "^0.7.4", "@radix-ui/react-slot": "1.2.0", @@ -8129,6 +8075,7 @@ "vaul": "^1.1.2" }, "peerDependencies": { + "@expo/metro-runtime": "^6.1.2", "@react-navigation/drawer": "^7.5.0", "@testing-library/react-native": ">= 12.0.0", "expo": "*", @@ -8170,7 +8117,7 @@ }, "node_modules/expo-router/node_modules/semver": { "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "license": "ISC", "bin": { @@ -8245,12 +8192,12 @@ "license": "MIT" }, "node_modules/expo-task-manager": { - "version": "14.0.6", - "resolved": "https://mirrors.tencent.com/npm/expo-task-manager/-/expo-task-manager-14.0.6.tgz", - "integrity": "sha512-3JVLgnhD7P23wpZxBGmK+GHD2Wy57snAENAOymoVHURgk2EkdgEfbVl2lcsFtr6UyACF/6i/aIAKW3mWpUGx+A==", + "version": "14.0.7", + "resolved": "https://mirrors.tencent.com/npm/expo-task-manager/-/expo-task-manager-14.0.7.tgz", + "integrity": "sha512-wZRksJg4+Me1wDYmv0wnGh5I30ZOkEpjdXECp/cTKbON1ISQgnaz+4B2eJtljvEPYC1ocBdpAGmz9N0CPtc4mg==", "license": "MIT", "dependencies": { - "unimodules-app-loader": "~6.0.6" + "unimodules-app-loader": "~6.0.7" }, "peerDependencies": { "expo": "*", @@ -8268,27 +8215,27 @@ } }, "node_modules/expo/node_modules/@expo/cli": { - "version": "54.0.1", - "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-54.0.1.tgz", - "integrity": "sha512-vIITqb96FCHzCt4ctlkfghAcuNolNpYDE2cqBFt4zqgiesQW19xeucZRiw+IYF0XE0fo3/8OF29H+Aj3aisELA==", + "version": "54.0.5", + "resolved": "https://mirrors.tencent.com/npm/@expo/cli/-/cli-54.0.5.tgz", + "integrity": "sha512-8MZOZKHfHRHTBQu2/PXBi7eCKc2aF1i1JsZweL/P7aX8nivhrP6KV6An5PtO1/rrdnS9z7pmX2KwMygvvaFNhg==", "license": "MIT", "dependencies": { "@0no-co/graphql.web": "^1.0.8", "@expo/code-signing-certificates": "^0.0.5", - "@expo/config": "~12.0.8", - "@expo/config-plugins": "~54.0.0", + "@expo/config": "~12.0.9", + "@expo/config-plugins": "~54.0.1", "@expo/devcert": "^1.1.2", "@expo/env": "~2.0.7", "@expo/image-utils": "^0.8.7", "@expo/json-file": "^10.0.7", "@expo/metro": "~0.1.1", - "@expo/metro-config": "~54.0.1", - "@expo/osascript": "^2.3.6", + "@expo/metro-config": "~54.0.3", + "@expo/osascript": "^2.3.7", "@expo/package-manager": "^1.9.7", - "@expo/plist": "^0.4.6", - "@expo/prebuild-config": "^54.0.1", - "@expo/schema-utils": "^0.1.6", - "@expo/server": "^0.7.3", + "@expo/plist": "^0.4.7", + "@expo/prebuild-config": "^54.0.3", + "@expo/schema-utils": "^0.1.7", + "@expo/server": "^0.7.4", "@expo/spawn-async": "^1.7.2", "@expo/ws-tunnel": "^1.0.1", "@expo/xcpretty": "^4.3.0", @@ -8356,7 +8303,7 @@ }, "node_modules/expo/node_modules/@expo/image-utils": { "version": "0.8.7", - "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.8.7.tgz", + "resolved": "https://mirrors.tencent.com/npm/@expo/image-utils/-/image-utils-0.8.7.tgz", "integrity": "sha512-SXOww4Wq3RVXLyOaXiCCuQFguCDh8mmaHBv54h/R29wGl4jRY8GEyQEx8SypV/iHt1FbzsU/X3Qbcd9afm2W2w==", "license": "MIT", "dependencies": { @@ -8373,14 +8320,14 @@ } }, "node_modules/expo/node_modules/@expo/prebuild-config": { - "version": "54.0.1", - "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-54.0.1.tgz", - "integrity": "sha512-f2FFDQlIh83rc89/AOdRBtO9nwkE4BCSji0oPBSq0YmAUSXZE7q/cYKABkArZNjuuwjb6jRjD8JfSMcwV7ybTA==", + "version": "54.0.3", + "resolved": "https://mirrors.tencent.com/npm/@expo/prebuild-config/-/prebuild-config-54.0.3.tgz", + "integrity": "sha512-okf6Umaz1VniKmm+pA37QHBzB9XlRHvO1Qh3VbUezy07LTkz87kXUW7uLMmrA319WLavWSVORTXeR0jBRihObA==", "license": "MIT", "dependencies": { - "@expo/config": "~12.0.8", - "@expo/config-plugins": "~54.0.0", - "@expo/config-types": "^54.0.7", + "@expo/config": "~12.0.9", + "@expo/config-plugins": "~54.0.1", + "@expo/config-types": "^54.0.8", "@expo/image-utils": "^0.8.7", "@expo/json-file": "^10.0.7", "@react-native/normalize-colors": "0.81.4", @@ -8395,13 +8342,13 @@ }, "node_modules/expo/node_modules/@react-native/normalize-colors": { "version": "0.81.4", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.81.4.tgz", + "resolved": "https://mirrors.tencent.com/npm/@react-native/normalize-colors/-/normalize-colors-0.81.4.tgz", "integrity": "sha512-9nRRHO1H+tcFqjb9gAM105Urtgcanbta2tuqCVY0NATHeFPDEAB7gPyiLxCHKMi1NbhP6TH0kxgSWXKZl1cyRg==", "license": "MIT" }, "node_modules/expo/node_modules/brace-expansion": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/brace-expansion/-/brace-expansion-2.0.2.tgz", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "license": "MIT", "dependencies": { @@ -8410,7 +8357,7 @@ }, "node_modules/expo/node_modules/minimatch": { "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "resolved": "https://mirrors.tencent.com/npm/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "license": "ISC", "dependencies": { @@ -8425,7 +8372,7 @@ }, "node_modules/expo/node_modules/semver": { "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "bin": { @@ -8437,7 +8384,7 @@ }, "node_modules/expo/node_modules/ws": { "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/ws/-/ws-8.18.3.tgz", "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "license": "MIT", "engines": { @@ -8761,7 +8708,7 @@ }, "node_modules/freeport-async": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/freeport-async/-/freeport-async-2.0.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/freeport-async/-/freeport-async-2.0.0.tgz", "integrity": "sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==", "license": "MIT", "engines": { @@ -8896,7 +8843,7 @@ }, "node_modules/get-nonce": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/get-nonce/-/get-nonce-1.0.1.tgz", "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", "license": "MIT", "engines": { @@ -9179,18 +9126,18 @@ } }, "node_modules/hermes-estree": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", - "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "version": "0.29.1", + "resolved": "https://mirrors.tencent.com/npm/hermes-estree/-/hermes-estree-0.29.1.tgz", + "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", "license": "MIT" }, "node_modules/hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", - "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "version": "0.29.1", + "resolved": "https://mirrors.tencent.com/npm/hermes-parser/-/hermes-parser-0.29.1.tgz", + "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", "license": "MIT", "dependencies": { - "hermes-estree": "0.25.1" + "hermes-estree": "0.29.1" } }, "node_modules/hoist-non-react-statics": { @@ -9210,7 +9157,7 @@ }, "node_modules/hosted-git-info": { "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/hosted-git-info/-/hosted-git-info-7.0.2.tgz", "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "license": "ISC", "dependencies": { @@ -9222,7 +9169,7 @@ }, "node_modules/hosted-git-info/node_modules/lru-cache": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "license": "ISC" }, @@ -10375,7 +10322,7 @@ }, "node_modules/kleur": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "license": "MIT", "engines": { @@ -10384,7 +10331,7 @@ }, "node_modules/lan-network": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/lan-network/-/lan-network-0.1.7.tgz", + "resolved": "https://mirrors.tencent.com/npm/lan-network/-/lan-network-0.1.7.tgz", "integrity": "sha512-mnIlAEMu4OyEvUNdzco9xpuB9YVcPkQec+QsgycBCtPZvEqWPCDPfbAE4OJMdBBWpZWtpCn1xw9jJYlwjWI5zQ==", "license": "MIT", "bin": { @@ -10441,7 +10388,7 @@ }, "node_modules/lightningcss": { "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/lightningcss/-/lightningcss-1.30.1.tgz", "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", "license": "MPL-2.0", "dependencies": { @@ -10469,7 +10416,7 @@ }, "node_modules/lightningcss-darwin-arm64": { "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", "cpu": [ "arm64" @@ -10489,7 +10436,7 @@ }, "node_modules/lightningcss-darwin-x64": { "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", "cpu": [ "x64" @@ -10509,7 +10456,7 @@ }, "node_modules/lightningcss-freebsd-x64": { "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", "cpu": [ "x64" @@ -10529,7 +10476,7 @@ }, "node_modules/lightningcss-linux-arm-gnueabihf": { "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", "cpu": [ "arm" @@ -10549,7 +10496,7 @@ }, "node_modules/lightningcss-linux-arm64-gnu": { "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", "cpu": [ "arm64" @@ -10569,7 +10516,7 @@ }, "node_modules/lightningcss-linux-arm64-musl": { "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", "cpu": [ "arm64" @@ -10589,7 +10536,7 @@ }, "node_modules/lightningcss-linux-x64-gnu": { "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", "cpu": [ "x64" @@ -10609,7 +10556,7 @@ }, "node_modules/lightningcss-linux-x64-musl": { "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", "cpu": [ "x64" @@ -10629,7 +10576,7 @@ }, "node_modules/lightningcss-win32-arm64-msvc": { "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", "cpu": [ "arm64" @@ -10649,7 +10596,7 @@ }, "node_modules/lightningcss-win32-x64-msvc": { "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", "cpu": [ "x64" @@ -10705,7 +10652,7 @@ }, "node_modules/lodash.debounce": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "resolved": "https://mirrors.tencent.com/npm/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "license": "MIT" }, @@ -10724,7 +10671,7 @@ }, "node_modules/log-symbols": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/log-symbols/-/log-symbols-2.2.0.tgz", "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "license": "MIT", "dependencies": { @@ -10736,7 +10683,7 @@ }, "node_modules/log-symbols/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "license": "MIT", "dependencies": { @@ -10748,7 +10695,7 @@ }, "node_modules/log-symbols/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "license": "MIT", "dependencies": { @@ -10762,7 +10709,7 @@ }, "node_modules/log-symbols/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "license": "MIT", "dependencies": { @@ -10771,13 +10718,13 @@ }, "node_modules/log-symbols/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "license": "MIT" }, "node_modules/log-symbols/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "resolved": "https://mirrors.tencent.com/npm/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "license": "MIT", "engines": { @@ -10786,7 +10733,7 @@ }, "node_modules/log-symbols/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "license": "MIT", "engines": { @@ -10795,7 +10742,7 @@ }, "node_modules/log-symbols/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "license": "MIT", "dependencies": { @@ -11014,21 +10961,6 @@ "node": ">=20.19.4" } }, - "node_modules/metro-babel-transformer/node_modules/hermes-estree": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", - "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", - "license": "MIT" - }, - "node_modules/metro-babel-transformer/node_modules/hermes-parser": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", - "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", - "license": "MIT", - "dependencies": { - "hermes-estree": "0.29.1" - } - }, "node_modules/metro-cache": { "version": "0.83.1", "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.83.1.tgz", @@ -11235,21 +11167,6 @@ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "license": "MIT" }, - "node_modules/metro/node_modules/hermes-estree": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", - "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", - "license": "MIT" - }, - "node_modules/metro/node_modules/hermes-parser": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", - "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", - "license": "MIT", - "dependencies": { - "hermes-estree": "0.29.1" - } - }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", @@ -11289,7 +11206,7 @@ }, "node_modules/mime-db": { "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/mime-db/-/mime-db-1.54.0.tgz", "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "license": "MIT", "engines": { @@ -11319,7 +11236,7 @@ }, "node_modules/mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "license": "MIT", "engines": { @@ -11358,7 +11275,7 @@ }, "node_modules/minizlib": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/minizlib/-/minizlib-3.0.2.tgz", "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", "license": "MIT", "dependencies": { @@ -11449,7 +11366,7 @@ }, "node_modules/nested-error-stacks": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz", "integrity": "sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==", "license": "MIT" }, @@ -11475,7 +11392,7 @@ }, "node_modules/node-forge": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { @@ -11505,7 +11422,7 @@ }, "node_modules/npm-package-arg": { "version": "11.0.3", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/npm-package-arg/-/npm-package-arg-11.0.3.tgz", "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", "license": "ISC", "dependencies": { @@ -11520,7 +11437,7 @@ }, "node_modules/npm-package-arg/node_modules/semver": { "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "bin": { @@ -11710,7 +11627,7 @@ }, "node_modules/on-headers": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/on-headers/-/on-headers-1.1.0.tgz", "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", "license": "MIT", "engines": { @@ -11728,7 +11645,7 @@ }, "node_modules/onetime": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/onetime/-/onetime-2.0.1.tgz", "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "license": "MIT", "dependencies": { @@ -11774,7 +11691,7 @@ }, "node_modules/ora": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/ora/-/ora-3.4.0.tgz", "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", "license": "MIT", "dependencies": { @@ -11791,7 +11708,7 @@ }, "node_modules/ora/node_modules/ansi-regex": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/ansi-regex/-/ansi-regex-4.1.1.tgz", "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "license": "MIT", "engines": { @@ -11800,7 +11717,7 @@ }, "node_modules/ora/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "license": "MIT", "dependencies": { @@ -11812,7 +11729,7 @@ }, "node_modules/ora/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "license": "MIT", "dependencies": { @@ -11826,7 +11743,7 @@ }, "node_modules/ora/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "license": "MIT", "dependencies": { @@ -11835,13 +11752,13 @@ }, "node_modules/ora/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "license": "MIT" }, "node_modules/ora/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "resolved": "https://mirrors.tencent.com/npm/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "license": "MIT", "engines": { @@ -11850,7 +11767,7 @@ }, "node_modules/ora/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "license": "MIT", "engines": { @@ -11859,7 +11776,7 @@ }, "node_modules/ora/node_modules/strip-ansi": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "license": "MIT", "dependencies": { @@ -11871,7 +11788,7 @@ }, "node_modules/ora/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "license": "MIT", "dependencies": { @@ -12107,7 +12024,7 @@ }, "node_modules/postcss": { "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "resolved": "https://mirrors.tencent.com/npm/postcss/-/postcss-8.4.49.tgz", "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "funding": [ { @@ -12151,7 +12068,7 @@ }, "node_modules/pretty-bytes": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", "license": "MIT", "engines": { @@ -12195,7 +12112,7 @@ }, "node_modules/proc-log": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/proc-log/-/proc-log-4.2.0.tgz", "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", "license": "ISC", "engines": { @@ -12222,7 +12139,7 @@ }, "node_modules/prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "license": "MIT", "dependencies": { @@ -12267,7 +12184,7 @@ }, "node_modules/qrcode-terminal": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz", "integrity": "sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==", "bin": { "qrcode-terminal": "bin/qrcode-terminal.js" @@ -12338,7 +12255,7 @@ }, "node_modules/rc": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "resolved": "https://mirrors.tencent.com/npm/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { @@ -12353,7 +12270,7 @@ }, "node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "license": "MIT", "engines": { @@ -12393,7 +12310,7 @@ }, "node_modules/react-fast-compare": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/react-fast-compare/-/react-fast-compare-3.2.2.tgz", "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", "license": "MIT" }, @@ -12982,15 +12899,6 @@ } } }, - "node_modules/react-native/node_modules/babel-plugin-syntax-hermes-parser": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.29.1.tgz", - "integrity": "sha512-2WFYnoWGdmih1I1J5eIqxATOeycOqRwYxAQBu3cUu/rhwInwHUg7k60AFNbuGjSDL8tje5GDrAnxzRLcu2pYcA==", - "license": "MIT", - "dependencies": { - "hermes-parser": "0.29.1" - } - }, "node_modules/react-native/node_modules/commander": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", @@ -13021,21 +12929,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/react-native/node_modules/hermes-estree": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", - "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", - "license": "MIT" - }, - "node_modules/react-native/node_modules/hermes-parser": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", - "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", - "license": "MIT", - "dependencies": { - "hermes-estree": "0.29.1" - } - }, "node_modules/react-native/node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", @@ -13091,7 +12984,7 @@ }, "node_modules/react-remove-scroll": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz", "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==", "license": "MIT", "dependencies": { @@ -13116,7 +13009,7 @@ }, "node_modules/react-remove-scroll-bar": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "resolved": "https://mirrors.tencent.com/npm/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", "license": "MIT", "dependencies": { @@ -13138,7 +13031,7 @@ }, "node_modules/react-style-singleton": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/react-style-singleton/-/react-style-singleton-2.2.3.tgz", "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", "license": "MIT", "dependencies": { @@ -13308,7 +13201,7 @@ }, "node_modules/requireg": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/requireg/-/requireg-0.2.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/requireg/-/requireg-0.2.2.tgz", "integrity": "sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==", "dependencies": { "nested-error-stacks": "~2.0.1", @@ -13321,7 +13214,7 @@ }, "node_modules/requireg/node_modules/resolve": { "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/resolve/-/resolve-1.7.1.tgz", "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "license": "MIT", "dependencies": { @@ -13393,7 +13286,7 @@ }, "node_modules/resolve.exports": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/resolve.exports/-/resolve.exports-2.0.3.tgz", "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", "license": "MIT", "engines": { @@ -13402,7 +13295,7 @@ }, "node_modules/restore-cursor": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "license": "MIT", "dependencies": { @@ -13415,7 +13308,7 @@ }, "node_modules/restore-cursor/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "resolved": "https://mirrors.tencent.com/npm/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "license": "ISC" }, @@ -13513,7 +13406,7 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { @@ -13637,7 +13530,7 @@ }, "node_modules/send": { "version": "0.19.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/send/-/send-0.19.1.tgz", "integrity": "sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg==", "license": "MIT", "dependencies": { @@ -13661,7 +13554,7 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "https://mirrors.tencent.com/npm/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "license": "MIT", "dependencies": { @@ -13670,13 +13563,13 @@ }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, "node_modules/send/node_modules/encodeurl": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "license": "MIT", "engines": { @@ -13685,7 +13578,7 @@ }, "node_modules/send/node_modules/on-finished": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "license": "MIT", "dependencies": { @@ -13697,7 +13590,7 @@ }, "node_modules/send/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "license": "MIT", "engines": { @@ -13808,7 +13701,7 @@ }, "node_modules/server-only": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/server-only/-/server-only-0.0.1.tgz", "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==", "license": "MIT" }, @@ -13883,7 +13776,7 @@ }, "node_modules/shallowequal": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/shallowequal/-/shallowequal-1.1.0.tgz", "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", "license": "MIT" }, @@ -14048,7 +13941,7 @@ }, "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "resolved": "https://mirrors.tencent.com/npm/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "license": "MIT" }, @@ -14081,7 +13974,7 @@ }, "node_modules/source-map-js": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "license": "BSD-3-Clause", "engines": { @@ -14447,7 +14340,7 @@ }, "node_modules/structured-headers": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.4.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/structured-headers/-/structured-headers-0.4.1.tgz", "integrity": "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==", "license": "MIT" }, @@ -14502,7 +14395,7 @@ }, "node_modules/supports-hyperlinks": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "license": "MIT", "dependencies": { @@ -14527,7 +14420,7 @@ }, "node_modules/tar": { "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/tar/-/tar-7.4.3.tgz", "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", "license": "ISC", "dependencies": { @@ -14544,7 +14437,7 @@ }, "node_modules/tar/node_modules/mkdirp": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/mkdirp/-/mkdirp-3.0.1.tgz", "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "license": "MIT", "bin": { @@ -14559,7 +14452,7 @@ }, "node_modules/tar/node_modules/yallist": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "resolved": "https://mirrors.tencent.com/npm/yallist/-/yallist-5.0.0.tgz", "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", "license": "BlueOak-1.0.0", "engines": { @@ -14577,7 +14470,7 @@ }, "node_modules/terminal-link": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/terminal-link/-/terminal-link-2.1.1.tgz", "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", "license": "MIT", "dependencies": { @@ -14973,7 +14866,7 @@ }, "node_modules/undici": { "version": "6.21.3", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/undici/-/undici-6.21.3.tgz", "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==", "license": "MIT", "engines": { @@ -15027,9 +14920,9 @@ } }, "node_modules/unimodules-app-loader": { - "version": "6.0.6", - "resolved": "https://mirrors.tencent.com/npm/unimodules-app-loader/-/unimodules-app-loader-6.0.6.tgz", - "integrity": "sha512-VpXX3H9QXP5qp1Xe0JcR2S/+i2VOuiOmyVi6q6S0hFFXcHBXoFYOcBnQDkqU/JXogZt3Wf/HSM0NGuiL3MhZIQ==", + "version": "6.0.7", + "resolved": "https://mirrors.tencent.com/npm/unimodules-app-loader/-/unimodules-app-loader-6.0.7.tgz", + "integrity": "sha512-23iwxmh6/y54PRGJt/xjsOpPK8vlfusBisi3yaVSK22pxg5DmiL/+IHCtbb/crHC+gqdItcy1OoRsZQHfNSBaw==", "license": "MIT" }, "node_modules/unique-string": { @@ -15145,7 +15038,7 @@ }, "node_modules/use-callback-ref": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/use-callback-ref/-/use-callback-ref-1.3.3.tgz", "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", "license": "MIT", "dependencies": { @@ -15175,7 +15068,7 @@ }, "node_modules/use-sidecar": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "resolved": "https://mirrors.tencent.com/npm/use-sidecar/-/use-sidecar-1.1.3.tgz", "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", "license": "MIT", "dependencies": { @@ -15237,7 +15130,7 @@ }, "node_modules/validate-npm-package-name": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", "license": "ISC", "engines": { @@ -15246,7 +15139,7 @@ }, "node_modules/vary": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "license": "MIT", "engines": { @@ -15255,7 +15148,7 @@ }, "node_modules/vaul": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vaul/-/vaul-1.1.2.tgz", + "resolved": "https://mirrors.tencent.com/npm/vaul/-/vaul-1.1.2.tgz", "integrity": "sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==", "license": "MIT", "dependencies": { @@ -15289,7 +15182,7 @@ }, "node_modules/wcwidth": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "resolved": "https://mirrors.tencent.com/npm/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "license": "MIT", "dependencies": { @@ -15446,7 +15339,7 @@ }, "node_modules/wonka": { "version": "6.3.5", - "resolved": "https://registry.npmjs.org/wonka/-/wonka-6.3.5.tgz", + "resolved": "https://mirrors.tencent.com/npm/wonka/-/wonka-6.3.5.tgz", "integrity": "sha512-SSil+ecw6B4/Dm7Pf2sAshKQ5hWFvfyGlfPbEd6A14dOH6VDjrmbY86u6nZvy9omGwwIPFR8V41+of1EezgoUw==", "license": "MIT" }, diff --git a/services/backgroundTaskManager.ts b/services/backgroundTaskManager.ts index 0220e81..815f9d0 100644 --- a/services/backgroundTaskManager.ts +++ b/services/backgroundTaskManager.ts @@ -8,7 +8,18 @@ import { TaskManagerTaskBody } from 'expo-task-manager'; export const BACKGROUND_TASK_IDENTIFIER = 'com.anonymous.digitalpilates.task'; +// 定义后台任务 +TaskManager.defineTask(BACKGROUND_TASK_IDENTIFIER, async (body: TaskManagerTaskBody) => { + try { + log.info(`[BackgroundTask] 后台任务执行, 任务 ID: ${BACKGROUND_TASK_IDENTIFIER}`); + await executeBackgroundTasks(); + } catch (error) { + console.error('[BackgroundTask] 任务执行失败:', error); + return BackgroundTask.BackgroundTaskResult.Failed; + } + return BackgroundTask.BackgroundTaskResult.Success; +}); // 检查通知权限 async function checkNotificationPermissions(): Promise { @@ -147,7 +158,7 @@ async function executeBackgroundTasks(): Promise { await executeWaterReminderTask(); // 执行站立提醒检查任务 - await executeStandReminderTask(); + // await executeStandReminderTask(); console.log('后台任务执行完成'); } catch (error) { @@ -173,24 +184,14 @@ export class BackgroundTaskManager { /** * 初始化后台任务管理器 */ - async initialize(innerAppMountedPromise: Promise): Promise { + async initialize(): Promise { if (this.isInitialized) { console.log('后台任务管理器已初始化'); return; } try { - // 定义后台任务 - TaskManager.defineTask(BACKGROUND_TASK_IDENTIFIER, async (body: TaskManagerTaskBody) => { - try { - log.info(`[BackgroundTask] 后台任务执行, 任务 ID: ${BACKGROUND_TASK_IDENTIFIER}`); - await executeBackgroundTasks(); - // return BackgroundTask.BackgroundTaskResult.Success; - } catch (error) { - console.error('[BackgroundTask] 任务执行失败:', error); - // return BackgroundTask.BackgroundTaskResult.Failed; - } - }); + if (await TaskManager.isTaskRegisteredAsync(BACKGROUND_TASK_IDENTIFIER)) { @@ -201,7 +202,7 @@ export class BackgroundTaskManager { log.info('[BackgroundTask] 任务未注册, 开始注册...'); // 注册后台任务 await BackgroundTask.registerTaskAsync(BACKGROUND_TASK_IDENTIFIER, { - minimumInterval: 15, + minimumInterval: 15 * 2, }); diff --git a/store/healthSlice.ts b/store/healthSlice.ts index 51c4257..121899a 100644 --- a/store/healthSlice.ts +++ b/store/healthSlice.ts @@ -1,4 +1,3 @@ -import { HourlyStepData } from '@/utils/health'; import { createSlice, PayloadAction } from '@reduxjs/toolkit'; import { AppDispatch, RootState } from './index'; @@ -13,7 +12,6 @@ export interface FitnessRingsData { } export interface HealthData { - steps: number | null; activeCalories: number | null; basalEnergyBurned: number | null; hrv: number | null; @@ -25,7 +23,6 @@ export interface HealthData { exerciseMinutesGoal: number; standHours: number; standHoursGoal: number; - hourlySteps: HourlyStepData[]; } export interface HealthState { diff --git a/store/tasksSlice.ts b/store/tasksSlice.ts index 77fa557..15df5ec 100644 --- a/store/tasksSlice.ts +++ b/store/tasksSlice.ts @@ -74,6 +74,8 @@ export const fetchTasks = createAsyncThunk( 'tasks/fetchTasks', async (query: GetTasksQuery = {}, { rejectWithValue }) => { try { + console.log('fetchTasks', fetchTasks); + const response = await tasksApi.getTasks(query); console.log('fetchTasks response', response); return { query, response }; @@ -217,6 +219,8 @@ const tasksSlice = createSlice({ // 如果是第一页,替换数据;否则追加数据 state.tasks = response.list; + console.log('state.tasks', state.tasks); + state.tasksPagination = { page: response.page, pageSize: response.pageSize, diff --git a/store/userSlice.ts b/store/userSlice.ts index 4ee4625..78404c7 100644 --- a/store/userSlice.ts +++ b/store/userSlice.ts @@ -4,6 +4,52 @@ import AsyncStorage from '@react-native-async-storage/async-storage'; import { createAsyncThunk, createSelector, createSlice, PayloadAction } from '@reduxjs/toolkit'; import dayjs from 'dayjs'; +// 预加载的用户数据存储 +let preloadedUserData: { + token: string | null; + profile: UserProfile; + privacyAgreed: boolean; +} | null = null; + +// 预加载用户数据的函数 +export async function preloadUserData() { + try { + const [profileStr, privacyAgreedStr, token] = await Promise.all([ + AsyncStorage.getItem(STORAGE_KEYS.userProfile), + AsyncStorage.getItem(STORAGE_KEYS.privacyAgreed), + AsyncStorage.getItem(STORAGE_KEYS.authToken), + ]); + + let profile: UserProfile = {}; + if (profileStr) { + try { + profile = JSON.parse(profileStr) as UserProfile; + } catch { + profile = {}; + } + } + + const privacyAgreed = privacyAgreedStr === 'true'; + + // 如果有 token,需要设置到 API 客户端 + if (token) { + await setAuthToken(token); + } + + preloadedUserData = { token, profile, privacyAgreed }; + return preloadedUserData; + } catch (error) { + console.error('预加载用户数据失败:', error); + preloadedUserData = { token: null, profile: {}, privacyAgreed: false }; + return preloadedUserData; + } +} + +// 获取预加载的用户数据 +function getPreloadedUserData() { + return preloadedUserData || { token: null, profile: {}, privacyAgreed: false }; +} + export type Gender = 'male' | 'female' | ''; export type UserProfile = { @@ -48,21 +94,27 @@ export type UserState = { export const DEFAULT_MEMBER_NAME = '小海豹'; -const initialState: UserState = { - token: null, - profile: { - name: DEFAULT_MEMBER_NAME, - isVip: false, - freeUsageCount: 3, - maxUsageCount: 5, - }, - loading: false, - error: null, - privacyAgreed: false, - weightHistory: [], - activityHistory: [], +const getInitialState = (): UserState => { + const preloaded = getPreloadedUserData(); + return { + token: preloaded.token, + profile: { + name: DEFAULT_MEMBER_NAME, + isVip: false, + freeUsageCount: 3, + maxUsageCount: 5, + ...preloaded.profile, // 合并预加载的用户资料 + }, + loading: false, + error: null, + privacyAgreed: preloaded.privacyAgreed, + weightHistory: [], + activityHistory: [], + }; }; +const initialState: UserState = getInitialState(); + export type LoginPayload = Record & { // 可扩展:用户名密码、Apple 身份、短信验证码等 username?: string; @@ -132,6 +184,17 @@ export const login = createAsyncThunk( } ); +// 同步重新hydrate用户数据,避免异步状态更新 +export const rehydrateUserSync = createAsyncThunk('user/rehydrateSync', async () => { + // 立即从预加载的数据获取,如果没有则异步获取 + if (preloadedUserData) { + return preloadedUserData; + } + + // 如果预加载的数据不存在,则执行正常的异步加载 + return await preloadUserData(); +}); + export const rehydrateUser = createAsyncThunk('user/rehydrate', async () => { const [profileStr, privacyAgreedStr, token] = await Promise.all([ AsyncStorage.getItem(STORAGE_KEYS.userProfile), @@ -144,12 +207,12 @@ export const rehydrateUser = createAsyncThunk('user/rehydrate', async () => { try { profile = JSON.parse(profileStr) as UserProfile; } catch { profile = {}; } } const privacyAgreed = privacyAgreedStr === 'true'; - + // 如果有 token,需要设置到 API 客户端 if (token) { await setAuthToken(token); } - + return { profile, privacyAgreed, token } as { profile: UserProfile; privacyAgreed: boolean; token: string | null }; }); @@ -197,7 +260,6 @@ export const fetchWeightHistory = createAsyncThunk('user/fetchWeightHistory', as export const fetchActivityHistory = createAsyncThunk('user/fetchActivityHistory', async (_, { rejectWithValue }) => { try { const data: ActivityHistoryItem[] = await api.get('/api/users/activity-history'); - console.log('fetchActivityHistory', data); return data; } catch (err: any) { return rejectWithValue(err?.message ?? '获取用户活动历史记录失败'); @@ -284,6 +346,14 @@ const userSlice = createSlice({ state.profile.name = DEFAULT_MEMBER_NAME; } }) + .addCase(rehydrateUserSync.fulfilled, (state, action) => { + state.profile = action.payload.profile; + state.privacyAgreed = action.payload.privacyAgreed; + state.token = action.payload.token; + if (!state.profile?.name || !state.profile.name.trim()) { + state.profile.name = DEFAULT_MEMBER_NAME; + } + }) .addCase(fetchMyProfile.fulfilled, (state, action) => { state.profile = action.payload || {}; if (!state.profile?.name || !state.profile.name.trim()) { diff --git a/utils/health.ts b/utils/health.ts index 5a1827a..99c4bfb 100644 --- a/utils/health.ts +++ b/utils/health.ts @@ -54,7 +54,6 @@ export type HourlyStandData = { }; export type TodayHealthData = { - steps: number; activeEnergyBurned: number; // kilocalories basalEnergyBurned: number; // kilocalories - 基础代谢率 hrv: number | null; // 心率变异性 (ms) @@ -68,8 +67,6 @@ export type TodayHealthData = { // 新增血氧饱和度和心率数据 oxygenSaturation: number | null; heartRate: number | null; - // 每小时步数数据 - hourlySteps: HourlyStepData[]; }; export async function ensureHealthPermissions(): Promise { @@ -172,7 +169,7 @@ function validateHeartRate(value: any): number | null { } // 健康数据获取函数 -async function fetchStepCount(date: Date): Promise { +export async function fetchStepCount(date: Date): Promise { return new Promise((resolve) => { AppleHealthKit.getStepCount({ date: dayjs(date).toDate().toISOString() @@ -193,7 +190,7 @@ async function fetchStepCount(date: Date): Promise { // 使用样本数据获取每小时步数 -async function fetchHourlyStepSamples(date: Date): Promise { +export async function fetchHourlyStepSamples(date: Date): Promise { return new Promise((resolve) => { const startOfDay = dayjs(date).startOf('day'); const endOfDay = dayjs(date).endOf('day'); @@ -565,7 +562,6 @@ export async function fetchMaximumHeartRate(options: HealthDataOptions): Promise // 默认健康数据 function getDefaultHealthData(): TodayHealthData { return { - steps: 0, activeEnergyBurned: 0, basalEnergyBurned: 0, hrv: null, @@ -577,7 +573,6 @@ function getDefaultHealthData(): TodayHealthData { standHoursGoal: 12, oxygenSaturation: null, heartRate: null, - hourlySteps: Array.from({ length: 24 }, (_, i) => ({ hour: i, steps: 0 })) }; } @@ -590,8 +585,6 @@ export async function fetchHealthDataForDate(date: Date): Promise