refactor(App, navigation): migrate to Expo Router and clean up navigation structure
- Updated App entry point to utilize Expo Router, simplifying the navigation setup. - Removed legacy navigation components and services to streamline the codebase. - Adjusted package.json to reflect the new entry point and updated dependencies for compatibility. - Enhanced overall application structure by consolidating navigation logic and improving maintainability.
This commit is contained in:
36
app/(app)/(tabs)/profile/_layout.tsx
Normal file
36
app/(app)/(tabs)/profile/_layout.tsx
Normal file
@@ -0,0 +1,36 @@
|
||||
import { Stack } from 'expo-router';
|
||||
import { useRouter } from 'expo-router';
|
||||
|
||||
import { AppBackButton } from '../../../../src/components/common';
|
||||
import { colors } from '../../../../src/theme';
|
||||
|
||||
const headerOptions = {
|
||||
headerStyle: { backgroundColor: colors.background.paper },
|
||||
headerTintColor: colors.text.primary,
|
||||
headerTitleStyle: { fontWeight: '600' as const },
|
||||
headerShadowVisible: false,
|
||||
headerBackTitle: '',
|
||||
};
|
||||
|
||||
export default function ProfileStackLayout() {
|
||||
const router = useRouter();
|
||||
|
||||
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>
|
||||
);
|
||||
}
|
||||
5
app/(app)/(tabs)/profile/account-security.tsx
Normal file
5
app/(app)/(tabs)/profile/account-security.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
import { AccountSecurityScreen } from '../../../../src/screens/profile';
|
||||
|
||||
export default function AccountSecurityRoute() {
|
||||
return <AccountSecurityScreen />;
|
||||
}
|
||||
5
app/(app)/(tabs)/profile/blocked-users.tsx
Normal file
5
app/(app)/(tabs)/profile/blocked-users.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
import { BlockedUsersScreen } from '../../../../src/screens/profile';
|
||||
|
||||
export default function BlockedUsersRoute() {
|
||||
return <BlockedUsersScreen />;
|
||||
}
|
||||
5
app/(app)/(tabs)/profile/bookmarks.tsx
Normal file
5
app/(app)/(tabs)/profile/bookmarks.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
import { ProfileScreen } from '../../../../src/screens/profile';
|
||||
|
||||
export default function BookmarksRoute() {
|
||||
return <ProfileScreen />;
|
||||
}
|
||||
5
app/(app)/(tabs)/profile/edit-profile.tsx
Normal file
5
app/(app)/(tabs)/profile/edit-profile.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
import { EditProfileScreen } from '../../../../src/screens/profile';
|
||||
|
||||
export default function EditProfileRoute() {
|
||||
return <EditProfileScreen />;
|
||||
}
|
||||
5
app/(app)/(tabs)/profile/index.tsx
Normal file
5
app/(app)/(tabs)/profile/index.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
import { ProfileScreen } from '../../../../src/screens/profile';
|
||||
|
||||
export default function ProfileRoute() {
|
||||
return <ProfileScreen />;
|
||||
}
|
||||
5
app/(app)/(tabs)/profile/my-posts.tsx
Normal file
5
app/(app)/(tabs)/profile/my-posts.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
import { ProfileScreen } from '../../../../src/screens/profile';
|
||||
|
||||
export default function MyPostsRoute() {
|
||||
return <ProfileScreen />;
|
||||
}
|
||||
5
app/(app)/(tabs)/profile/notification-settings.tsx
Normal file
5
app/(app)/(tabs)/profile/notification-settings.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
import { NotificationSettingsScreen } from '../../../../src/screens/profile';
|
||||
|
||||
export default function NotificationSettingsRoute() {
|
||||
return <NotificationSettingsScreen />;
|
||||
}
|
||||
5
app/(app)/(tabs)/profile/settings.tsx
Normal file
5
app/(app)/(tabs)/profile/settings.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
import { SettingsScreen } from '../../../../src/screens/profile';
|
||||
|
||||
export default function SettingsRoute() {
|
||||
return <SettingsScreen />;
|
||||
}
|
||||
Reference in New Issue
Block a user