'use client' import { WARNA } from "@/module/_global" import LayoutModal from "@/module/_global/layout/layout_modal" import { Box, Group, Avatar, Textarea, Button, Grid, rem, Skeleton } from "@mantine/core" import { useParams, useRouter } from "next/navigation" import { useState } from "react" import toast from "react-hot-toast" import { funEditDiscussion, funGetDiscussionById } from "../lib/api_discussion" import { useShallowEffect } from "@mantine/hooks" import { funGetProfileByCookies } from "@/module/user/profile/lib/api_profile" export default function FormEditDiscussion() { const [isValModal, setValModal] = useState(false) const router = useRouter() const param = useParams<{ id: string, detail: string }>() const [isDataOne, setDataOne] = useState("") const [loading, setLoading] = useState(true) const [img, setIMG] = useState() const [touched, setTouched] = useState({ desc: false, }); async function fetchGetOneDiscussion() { try { setLoading(true) const response = await funGetDiscussionById(param.detail) setDataOne(response.data.desc) } catch (error) { console.error(error); toast.error("Gagal menampilkan discussion, coba lagi nanti"); } finally { setLoading(false) } } async function fetchEditDiscussion(val: boolean) { try { if (val) { const response = await funEditDiscussion(param.detail, { desc: isDataOne }) if (response.success) { toast.success(response.message) setValModal(false) router.push(`/division/${param.id}/discussion/${param.detail}`) } else { toast.error(response.message) } } setValModal(false) } catch (error) { console.error(error); setValModal(false) toast.error("Gagal menambahkan diskusi, coba lagi nanti"); } finally { setValModal(false) } } async function getData() { try { setLoading(true) const res = await funGetProfileByCookies() setIMG(`/api/file/img?jenis=image&cat=user&file=${res.data.img}`) setLoading(false) } catch (error) { console.error(error); } finally { setLoading(false) } } useShallowEffect(() => { fetchGetOneDiscussion() getData() }, []) return ( {loading ? : } {loading ? Array(10) .fill(null) .map((_, i) => ( )) :