From 44b6314c493eb7440d0f260376862b50808cbf66 Mon Sep 17 00:00:00 2001 From: amel Date: Mon, 23 Dec 2024 17:51:30 +0800 Subject: [PATCH] upd: diskusi divisi Deskripsi: - update pembatasan user jika bukan member No Issues --- src/module/discussion/ui/detail_discussion.tsx | 7 ++++--- src/module/discussion/ui/navbar_list_discussion.tsx | 13 +++++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/module/discussion/ui/detail_discussion.tsx b/src/module/discussion/ui/detail_discussion.tsx index 403e5a0..5731dfa 100644 --- a/src/module/discussion/ui/detail_discussion.tsx +++ b/src/module/discussion/ui/detail_discussion.tsx @@ -1,6 +1,6 @@ "use client" import { globalRole, keyWibu, LayoutDrawer, LayoutNavbarNew, TEMA } from "@/module/_global"; -import { globalIsAdminDivision } from "@/module/division_new"; +import { globalIsAdminDivision, globalIsMemberDivision } from "@/module/division_new"; import { useHookstate } from "@hookstate/core"; import { ActionIcon, Avatar, Badge, Box, Center, Divider, Flex, Grid, Group, rem, Skeleton, Spoiler, Text, TextInput } from "@mantine/core"; import { useMediaQuery, useShallowEffect } from "@mantine/hooks"; @@ -28,6 +28,7 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv const [isCreator, setCreator] = useState(false) const [isUser, setUser] = useState('') const adminLogin = useHookstate(globalIsAdminDivision) + const memberDivision = useHookstate(globalIsMemberDivision) const tema = useHookstate(TEMA) const router = useRouter() const isMobile = useMediaQuery('(max-width: 369px)'); @@ -323,7 +324,7 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv }} size="md" placeholder="Kirim Komentar" - disabled={isData?.status === 2} + disabled={(isData?.status === 2 || (!memberDivision.get() && (roleLogin.get() == "user" || roleLogin.get() == "coadmin")))} onChange={(e) => setIsComent(e.target.value)} value={isComent} maxLength={300} @@ -334,7 +335,7 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv
+ variant="subtle" aria-label="submit" disabled={(isData?.status === 2 || (!memberDivision.get() && (roleLogin.get() == "user" || roleLogin.get() == "coadmin")))}>
diff --git a/src/module/discussion/ui/navbar_list_discussion.tsx b/src/module/discussion/ui/navbar_list_discussion.tsx index 35d654b..9d5112b 100644 --- a/src/module/discussion/ui/navbar_list_discussion.tsx +++ b/src/module/discussion/ui/navbar_list_discussion.tsx @@ -1,23 +1,28 @@ 'use client' -import { LayoutNavbarNew, LayoutDrawer, TEMA } from "@/module/_global"; +import { LayoutNavbarNew, LayoutDrawer, TEMA, globalRole } from "@/module/_global"; import { ActionIcon } from "@mantine/core"; import { HiMenu } from "react-icons/hi"; import { useState } from "react"; import DrawerListDiscussion from "./drawer_list_discussion"; import { useParams } from "next/navigation"; import { useHookstate } from "@hookstate/core"; +import { globalIsMemberDivision } from "@/module/division_new"; export default function NavbarListDiscussion() { const [openDrawer, setOpenDrawer] = useState(false) + const roleLogin = useHookstate(globalRole) + const memberDivision = useHookstate(globalIsMemberDivision) const param = useParams<{ id: string }>() const tema = useHookstate(TEMA) return ( <> setOpenDrawer(true)} bg={tema.get().bgIcon} size="lg" radius="lg" aria-label="Settings"> - - + (roleLogin.get() == "user" || roleLogin.get() == "coadmin") && !memberDivision.get() ? <> + : + setOpenDrawer(true)} bg={tema.get().bgIcon} size="lg" radius="lg" aria-label="Settings"> + + } /> setOpenDrawer(false)}>