## 主要修复 - 修复 FullscreenMediaModal 和 FullscreenVideoModal 中的 useEffect 循环依赖 - 重构 VideoPlayer 组件的视频属性管理逻辑 - 优化 useVideoPlayer 的初始化回调机制 ## 新增功能 - 新增标签 API 支持 (lib/api/tags.ts) - 新增内容骨架屏组件 (components/profile/content-skeleton.tsx) - 新增返回按钮组件 (components/ui/back-button.tsx) ## 改进优化 - 优化视频播放器的性能,避免重复初始化 - 修复 useEffect 依赖项导致的无限循环更新 - 完善类型定义和 API 接口 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native';
|
||
import { Stack } from 'expo-router';
|
||
import 'react-native-reanimated';
|
||
|
||
import { AuthProvider } from '@/components/auth/auth-provider';
|
||
import { useColorScheme } from '@/hooks/use-color-scheme';
|
||
import { Platform } from 'react-native';
|
||
import { useEffect } from 'react';
|
||
|
||
// Clarity 只支持 android 和 iOS,web 平台跳过初始化
|
||
if (Platform.OS === 'android' || Platform.OS === 'ios') {
|
||
const Clarity = require('@microsoft/react-native-clarity').default;
|
||
Clarity.initialize('tyq6bmjzo1', {
|
||
logLevel: Clarity.LogLevel.Verbose,
|
||
});
|
||
}
|
||
export const unstable_settings = {
|
||
anchor: '(tabs)',
|
||
};
|
||
|
||
export default function RootLayout() {
|
||
const colorScheme = useColorScheme();
|
||
useEffect(()=>{
|
||
console.log(`app start`)
|
||
}, [])
|
||
return (
|
||
<ThemeProvider value={colorScheme === 'dark' ? DarkTheme : DefaultTheme}>
|
||
<AuthProvider>
|
||
<Stack>
|
||
<Stack.Screen name="(tabs)" options={{ headerShown: false }} />
|
||
<Stack.Screen name="modal" options={{ presentation: 'modal', title: 'Modal' }} />
|
||
</Stack>
|
||
</AuthProvider>
|
||
</ThemeProvider>
|
||
);
|
||
}
|