import BorderBottomItem from "@/components/borderBottomItem"; import ButtonTab from "@/components/buttonTab"; import ImageUser from "@/components/imageNew"; import InputSearch from "@/components/inputSearch"; import LabelStatus from "@/components/labelStatus"; import Styles from "@/constants/Styles"; import { apiGetDiscussion, apiGetDivisionOneFeature } from "@/lib/api"; import { useAuthSession } from "@/providers/AuthProvider"; import { AntDesign, Feather, Ionicons } from "@expo/vector-icons"; import { router, useLocalSearchParams } from "expo-router"; import { useEffect, useState } from "react"; import { SafeAreaView, ScrollView, Text, View } from "react-native"; import { useSelector } from "react-redux"; type Props = { id: string, title: string, desc: string, status: number, user_name: string, img: string, total_komentar: number, createdAt: string, isActive: boolean } export default function DiscussionDivision() { const { id, active } = useLocalSearchParams<{ id: string, active?: string }>() const [data, setData] = useState([]) const { token, decryptToken } = useAuthSession() const [search, setSearch] = useState('') const update = useSelector((state: any) => state.discussionUpdate); async function handleLoad() { try { const hasil = await decryptToken(String(token?.current)) const response = await apiGetDiscussion({ user: hasil, search, division: id, active }) setData(response.data) } catch (error) { console.error(error) } } useEffect(() => { handleLoad() }, [active, search, update.data]) return ( { router.replace('./discussion?active=true') }} label="Aktif" icon={} n={2} /> { router.replace('./discussion?active=false') }} label="Arsip" icon={} n={2} /> {data.length > 0 ? data.map((item, index) => ( { router.push(`./discussion/${item.id}`) }} borderType="bottom" icon={ } title={item.user_name} subtitle={ active == "true" ? item.status == 1 ? : : <> } rightTopInfo={item.createdAt} desc={item.desc} leftBottomInfo={ Diskusikan } rightBottomInfo={item.total_komentar + ' Komentar'} /> )) : ( Tidak ada diskusi )} ); }