Files
mobile-darmasaba/app/(application)/home.tsx
amel 76c0ba0535 upd: notifikasi
Deskripsi:
- list notifikasi
- tanda notifikasi
- entiti user login

NO Issues
2025-06-26 12:28:36 +08:00

58 lines
2.0 KiB
TypeScript

import CaraouselHome from "@/components/home/carouselHome";
import ChartDokumenHome from "@/components/home/chartDokumenHome";
import ChartProgresHome from "@/components/home/chartProgresHome";
import DisccussionHome from "@/components/home/discussionHome";
import DivisionHome from "@/components/home/divisionHome";
import EventHome from "@/components/home/eventHome";
import FiturHome from "@/components/home/fiturHome";
import { HeaderRightHome } from "@/components/home/headerRightHome";
import ProjectHome from "@/components/home/projectHome";
import Styles from "@/constants/Styles";
import { apiGetProfile } from "@/lib/api";
import { setEntities } from "@/lib/entitiesSlice";
import { useAuthSession } from "@/providers/AuthProvider";
import { Stack } from "expo-router";
import { useEffect } from "react";
import { SafeAreaView, ScrollView, View } from "react-native";
import { useDispatch, useSelector } from "react-redux";
export default function Home() {
const entities = useSelector((state: any) => state.entities)
const dispatch = useDispatch()
const { token, decryptToken } = useAuthSession()
useEffect(() => {
handleUserLogin()
}, [dispatch]);
async function handleUserLogin() {
const hasil = await decryptToken(String(token?.current))
apiGetProfile({ id: hasil }).then((data) => dispatch(setEntities(data.data)));
}
return (
<SafeAreaView>
<Stack.Screen
options={{
title: 'Home',
headerLeft: () => <></>,
headerTitle: entities.village,
headerRight: () => <HeaderRightHome />,
headerTitleAlign: 'left',
}}
/>
<ScrollView>
<CaraouselHome />
<View style={[Styles.ph15]}>
<FiturHome />
<ProjectHome />
<DivisionHome />
<ChartProgresHome />
<ChartDokumenHome />
<EventHome />
<DisccussionHome />
</View>
</ScrollView>
</SafeAreaView>
)
}