Add comprehensive identity verification flow including: - New verification guide screen at /verification-guide for selecting identity type - New verification form screen at /verification-form for submitting verification documents - Verification settings screen at /profile/verification for managing verification status - Move terms and privacy policy to root-level routes (/terms, /privacy) - Update login to require active terms agreement checkbox - Database: add in-memory fallback when OPFS is unavailable on web BREAKING CHANGE: Terms and privacy policy routes moved from /profile/terms and /profile/privacy to /terms and /privacy
47 lines
1.8 KiB
TypeScript
47 lines
1.8 KiB
TypeScript
import { useMemo } from 'react';
|
|
import { Stack } from 'expo-router';
|
|
import { useRouter } from 'expo-router';
|
|
|
|
import { AppBackButton } from '../../../../src/components/common';
|
|
import { useAppColors } from '../../../../src/theme';
|
|
|
|
export default function ProfileStackLayout() {
|
|
const router = useRouter();
|
|
const colors = useAppColors();
|
|
|
|
const headerOptions = useMemo(
|
|
() => ({
|
|
headerStyle: { backgroundColor: colors.background.paper },
|
|
headerTintColor: colors.text.primary,
|
|
headerTitleStyle: { fontWeight: '600' as const },
|
|
headerShadowVisible: false,
|
|
headerBackTitle: '',
|
|
}),
|
|
[colors]
|
|
);
|
|
|
|
return (
|
|
<Stack
|
|
screenOptions={{
|
|
...headerOptions,
|
|
headerBackVisible: false,
|
|
headerLeft: () => <AppBackButton onPress={() => router.back()} />,
|
|
}}
|
|
>
|
|
<Stack.Screen name="index" options={{ headerShown: false }} />
|
|
<Stack.Screen name="settings" options={{ headerShown: true, title: '设置' }} />
|
|
<Stack.Screen name="edit-profile" options={{ title: '编辑资料' }} />
|
|
<Stack.Screen name="account-security" options={{ title: '账号安全' }} />
|
|
<Stack.Screen name="my-posts" options={{ title: '我的帖子' }} />
|
|
<Stack.Screen name="bookmarks" options={{ title: '收藏' }} />
|
|
<Stack.Screen name="notification-settings" options={{ title: '通知设置' }} />
|
|
<Stack.Screen name="blocked-users" options={{ title: '黑名单' }} />
|
|
<Stack.Screen name="chat-settings" options={{ title: '聊天设置' }} />
|
|
<Stack.Screen name="about" options={{ title: '关于我们' }} />
|
|
<Stack.Screen name="terms" options={{ title: '用户协议' }} />
|
|
<Stack.Screen name="privacy" options={{ title: '隐私政策' }} />
|
|
<Stack.Screen name="verification" options={{ title: '身份认证' }} />
|
|
</Stack>
|
|
);
|
|
}
|