'use client' import { WARNA } from "@/module/_global"; import { Avatar, Badge, Box, Divider, Flex, Group, Text, TextInput } from "@mantine/core"; import { useParams, useRouter, useSearchParams } from "next/navigation"; import { useState } from "react"; import { GrChatOption } from "react-icons/gr"; import { HiMagnifyingGlass } from "react-icons/hi2"; import { funGetAllDiscussion } from "../lib/api_discussion"; import { useShallowEffect } from "@mantine/hooks"; import { IDataDiscussion } from "../lib/type_discussion"; export default function ListDiscussion({ id }: { id: string }) { const [isData, setData] = useState([]) const [searchQuery, setSearchQuery] = useState('') const param = useParams<{ id: string }>() const getData = async () => { try { const response = await funGetAllDiscussion('?division=' + id + '&search=' + searchQuery) setData(response.data) } catch (error) { console.log(error) } } useShallowEffect(() => { getData() }, [searchQuery]) const router = useRouter() return ( } placeholder="Pencarian" value={searchQuery} onChange={(e) => setSearchQuery(e.target.value)} /> {isData.map((v, i) => { return ( { router.push(`/division/${param.id}/discussion/${v.id}`) }} > {v.user_name} {v.status === 1 ? "BUKA" : "TUTUP"} {v.createdAt} {v.desc} Diskusikan {v.total_komentar} Komentar ); })} ) }