This commit is contained in:
Philip Cesar Garay
2025-07-31 21:25:33 +08:00
parent 5cfbc81e3a
commit 84fc719a10
307 changed files with 46470 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
import React, { useGlobal } from "reactn";
import { StyleSheet } from "react-native";
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
import { Motion } from "@legendapp/motion";
import { responsiveHeight } from "../actions/responsiveSizes.js";
import useLayoutType from "../hooks/useLayoutType.js";
import { Routes } from "./Routes";
import { Palette } from "../styles";
import { tabs } from "../assets";
import TabBar from "./TabBar";
import HomeStack from "./HomeStack";
import ChatStack from "./ChatStack";
import SettingsStack from "./SettingsStack";
const bottomTabStyles = StyleSheet.create({
icon: {
width: responsiveHeight(5),
height: responsiveHeight(5),
resizeMode: "contain",
},
});
const BottomTab = createBottomTabNavigator();
export const BottomTabScreen = () => {
const renderIcon = (icon, focused) => (
<Motion.Image
resizeMode={"contain"}
animate={{
tintColor: focused ? Palette.primary : Palette.white,
}}
style={[
bottomTabStyles.icon,
{
width: "55%",
height: "55%",
},
]}
source={icon}
/>
);
return (
<BottomTab.Navigator tabBar={(props) => <TabBar {...props} />}>
<BottomTab.Screen
name={Routes.HomeStack}
component={HomeStack}
options={{
headerShown: false,
tabBarShowLabel: true,
tabBarIcon: ({ focused }) => renderIcon(tabs.home, focused),
}}
/>
<BottomTab.Screen
name={Routes.ChatStack}
component={ChatStack}
options={{
headerShown: false,
tabBarShowLabel: true,
tabBarIcon: ({ focused }) => renderIcon(tabs.chat, focused),
}}
/>
<BottomTab.Screen
name={Routes.SettingsStack}
component={SettingsStack}
options={{
headerShown: false,
tabBarShowLabel: true,
tabBarIcon: ({ focused }) => renderIcon(tabs.settings, focused),
}}
/>
</BottomTab.Navigator>
);
};