upd: diskusi

Deskripsi:
- role user
- log user

NO Issues
This commit is contained in:
amel
2024-09-10 16:47:08 +08:00
parent fc64f53ede
commit 6a33333ecf
2 changed files with 6 additions and 11 deletions

View File

@@ -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"])

View File

@@ -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<IDetailDiscussion>()
@@ -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
{/* <NavbarDetailDiscussion id={id} status={Number(isData?.status)} idDivision={idDivision} /> */}
<LayoutNavbarNew back={`/division/${param.id}/discussion/`} title="Diskusi "
menu={
((roleLogin.get() != 'user' && roleLogin.get() != 'coadmin') || isAdmin || isCreator) ?
((roleLogin.get() != 'user' && roleLogin.get() != 'coadmin') || adminLogin.get() || isCreator) ?
<ActionIcon variant="light" onClick={() => setOpenDrawer(true)} bg={WARNA.bgIcon} size="lg" radius="lg" aria-label="Settings">
<HiMenu size={20} color='white' />
</ActionIcon>