From 6a33333ecf57bf788b3a517abd9e0dc1b6362e1f Mon Sep 17 00:00:00 2001 From: amel Date: Tue, 10 Sep 2024 16:47:08 +0800 Subject: [PATCH] upd: diskusi Deskripsi: - role user - log user NO Issues --- src/app/api/discussion/[id]/route.ts | 3 ++- src/module/discussion/ui/detail_discussion.tsx | 14 ++++---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/app/api/discussion/[id]/route.ts b/src/app/api/discussion/[id]/route.ts index bbd9246..a87bcd3 100644 --- a/src/app/api/discussion/[id]/route.ts +++ b/src/app/api/discussion/[id]/route.ts @@ -68,10 +68,11 @@ export async function GET(request: Request, context: { params: { id: string } }) const username = data?.User.name const user_img = data?.User.img const createdAt = moment(data?.createdAt).format("ll") + const isCreator = data?.createdBy == user.id - const result = { ...userMember, username, createdAt, user_img } + const result = { ...userMember, username, createdAt, user_img, isCreator } const omitData = _.omit(result, ["User"]) diff --git a/src/module/discussion/ui/detail_discussion.tsx b/src/module/discussion/ui/detail_discussion.tsx index d92d028..4215192 100644 --- a/src/module/discussion/ui/detail_discussion.tsx +++ b/src/module/discussion/ui/detail_discussion.tsx @@ -3,7 +3,6 @@ import { ActionIcon, Avatar, Badge, Box, Center, Divider, Flex, Grid, Group, Inp import { globalRole, LayoutDrawer, LayoutNavbarNew, SkeletonDetailDiscussionComment, SkeletonDetailDiscussionMember, SkeletonSingle, WARNA } from "@/module/_global"; import { GrChatOption } from "react-icons/gr"; import { LuSendHorizonal } from "react-icons/lu"; -import NavbarDetailDiscussion from "@/module/discussion/ui/navbar_detail_discussion"; import { useState } from "react"; import { funCreateComent, funGetAllDiscussion, funGetDiscussionById } from "../lib/api_discussion"; import { useShallowEffect } from "@mantine/hooks"; @@ -16,8 +15,7 @@ import { useHookstate } from "@hookstate/core"; import { globalRefreshDiscussion } from "../lib/val_discussion"; import { HiMenu } from "react-icons/hi"; import DrawerDetailDiscussion from "./drawer_detail_discussion"; -import { funGetUserByCookies } from "@/module/auth"; -import { funGetDivisionById } from "@/module/division_new"; +import {globalIsAdminDivision } from "@/module/division_new"; export default function DetailDiscussion({ id, idDivision }: { id: string, idDivision: string }) { const [isData, setData] = useState() @@ -27,20 +25,16 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv const router = useRouter() const refresh = useHookstate(globalRefreshDiscussion) const roleLogin = useHookstate(globalRole) - const [isAdmin, setAdmin] = useState(false) const [isCreator, setCreator] = useState(false) + const adminLogin = useHookstate(globalIsAdminDivision) const getData = async () => { try { setIsLoad(true) const response = await funGetDiscussionById(id) - const res = await funGetDivisionById(param.id); - const login = await funGetUserByCookies() - const cek = res.data.member.some((i: any) => i.idUser == login.id && i.isAdmin == true) - setAdmin(cek) setData(response.data) setIsLoad(false) - setCreator(response.data.createdBy == login.id) + setCreator(response.data.isCreator) } catch (error) { console.error(error) } finally { @@ -88,7 +82,7 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv {/* */} setOpenDrawer(true)} bg={WARNA.bgIcon} size="lg" radius="lg" aria-label="Settings">