|
|
|
|
import React from 'react';
|
|
|
|
|
import FontAwesome from '@expo/vector-icons/FontAwesome';
|
|
|
|
|
import { Link, Tabs } from 'expo-router';
|
|
|
|
|
import { Pressable } from 'react-native';
|
|
|
|
|
|
|
|
|
|
import Colors from '@/constants/Colors';
|
|
|
|
|
import { useColorScheme, useClientOnlyValue } from '@/hooks';
|
|
|
|
|
|
|
|
|
|
// You can explore the built-in icon families and icons on the web at https://icons.expo.fyi/
|
|
|
|
|
function TabBarIcon(props: {
|
|
|
|
|
name: React.ComponentProps<typeof FontAwesome>['name'];
|
|
|
|
|
color: string;
|
|
|
|
|
}) {
|
|
|
|
|
return <FontAwesome size={28} style={{ marginBottom: -3 }} {...props} />;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default function TabLayout() {
|
|
|
|
|
const colorScheme = useColorScheme();
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<Tabs
|
|
|
|
|
screenOptions={{
|
|
|
|
|
tabBarActiveTintColor: Colors[colorScheme ?? 'light'].tint,
|
|
|
|
|
// Disable the static render of the header on web
|
|
|
|
|
// to prevent a hydration error in React Navigation v6.
|
|
|
|
|
headerShown: useClientOnlyValue(false, true),
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<Tabs.Screen
|
|
|
|
|
name="index"
|
|
|
|
|
options={{
|
|
|
|
|
title: '首页',
|
|
|
|
|
tabBarIcon: ({ color }) => <TabBarIcon name="home" color={color} />,
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
<Tabs.Screen
|
|
|
|
|
name="two"
|
|
|
|
|
options={{
|
|
|
|
|
title: '充值',
|
|
|
|
|
tabBarIcon: ({ color }) => <TabBarIcon name="code" color={color} />,
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
<Tabs.Screen
|
|
|
|
|
name="demo"
|
|
|
|
|
options={{
|
|
|
|
|
title: '活动',
|
|
|
|
|
tabBarIcon: ({ color }) => <TabBarIcon name="rocket" color={color} />,
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
<Tabs.Screen
|
|
|
|
|
name="paper"
|
|
|
|
|
options={{
|
|
|
|
|
title: '我的',
|
|
|
|
|
tabBarIcon: ({ color }) => <TabBarIcon name="paint-brush" color={color} />,
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
</Tabs>
|
|
|
|
|
);
|
|
|
|
|
}
|