58 lines
2.0 KiB
TypeScript
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>
|
|
)
|
|
} |