Fix: - android/app/src/main/AndroidManifest.xml - app/(application)/(user)/job/(tabs)/_layout.tsx - app/(application)/(user)/job/[id]/index.tsx - app/(application)/(user)/notifications/index.tsx - app/(application)/(user)/profile/[id]/index.tsx - app/(application)/admin/job/[id]/[status]/index.tsx - app/(application)/admin/notification/index.tsx - app/+not-found.tsx - ios/HIPMIBadungConnect.xcodeproj/project.pbxproj - screens/Admin/Job/funUpdateStatus.ts - screens/Home/bottomFeatureSection.tsx ### No Issue
73 lines
1.8 KiB
TypeScript
73 lines
1.8 KiB
TypeScript
/* eslint-disable react-hooks/exhaustive-deps */
|
|
import { BackButton } from "@/components";
|
|
import { IconHome, IconStatus } from "@/components/_Icon";
|
|
import { TabsStyles } from "@/styles/tabs-styles";
|
|
import { Ionicons } from "@expo/vector-icons";
|
|
import {
|
|
router,
|
|
Tabs,
|
|
useLocalSearchParams,
|
|
useNavigation
|
|
} from "expo-router";
|
|
import { useLayoutEffect } from "react";
|
|
|
|
export default function JobTabsLayout() {
|
|
const navigation = useNavigation();
|
|
|
|
const { from, category } = useLocalSearchParams<{
|
|
from?: string;
|
|
category?: string;
|
|
}>();
|
|
|
|
// Atur header secara dinamis
|
|
useLayoutEffect(() => {
|
|
navigation.setOptions({
|
|
headerLeft: () => (
|
|
<BackButton
|
|
onPress={() => {
|
|
if (from === "notifications") {
|
|
router.replace(`/notifications?category=${category}`);
|
|
} else {
|
|
if (from) {
|
|
router.replace(`/${from}` as any);
|
|
} else {
|
|
router.navigate("/home");
|
|
}
|
|
}
|
|
}}
|
|
/>
|
|
),
|
|
});
|
|
}, [from, router, navigation]);
|
|
|
|
return (
|
|
<>
|
|
<Tabs screenOptions={TabsStyles}>
|
|
<Tabs.Screen
|
|
name="index"
|
|
options={{
|
|
title: "Beranda",
|
|
tabBarIcon: ({ color }) => <IconHome color={color} />,
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="status"
|
|
options={{
|
|
title: "Status",
|
|
tabBarIcon: ({ color }) => <IconStatus color={color} />,
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="archive"
|
|
options={{
|
|
title: "Arsip",
|
|
tabBarIcon: ({ color }) => (
|
|
<Ionicons size={20} name="archive" color={color} />
|
|
),
|
|
}}
|
|
/>
|
|
</Tabs>
|
|
</>
|
|
);
|
|
}
|