upd: diskusi divisi

Deskripsi:
- update pembatasan user jika bukan member

No Issues
This commit is contained in:
amel
2024-12-23 17:51:30 +08:00
parent 9bf8294a6c
commit 44b6314c49
2 changed files with 13 additions and 7 deletions

View File

@@ -1,6 +1,6 @@
"use client" "use client"
import { globalRole, keyWibu, LayoutDrawer, LayoutNavbarNew, TEMA } from "@/module/_global"; 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 { useHookstate } from "@hookstate/core";
import { ActionIcon, Avatar, Badge, Box, Center, Divider, Flex, Grid, Group, rem, Skeleton, Spoiler, Text, TextInput } from "@mantine/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"; 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 [isCreator, setCreator] = useState(false)
const [isUser, setUser] = useState('') const [isUser, setUser] = useState('')
const adminLogin = useHookstate(globalIsAdminDivision) const adminLogin = useHookstate(globalIsAdminDivision)
const memberDivision = useHookstate(globalIsMemberDivision)
const tema = useHookstate(TEMA) const tema = useHookstate(TEMA)
const router = useRouter() const router = useRouter()
const isMobile = useMediaQuery('(max-width: 369px)'); const isMobile = useMediaQuery('(max-width: 369px)');
@@ -323,7 +324,7 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv
}} }}
size="md" size="md"
placeholder="Kirim Komentar" 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)} onChange={(e) => setIsComent(e.target.value)}
value={isComent} value={isComent}
maxLength={300} maxLength={300}
@@ -334,7 +335,7 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv
<Center> <Center>
<ActionIcon <ActionIcon
onClick={sendComent} onClick={sendComent}
variant="subtle" aria-label="submit" disabled={isData?.status === 2}> variant="subtle" aria-label="submit" disabled={(isData?.status === 2 || (!memberDivision.get() && (roleLogin.get() == "user" || roleLogin.get() == "coadmin")))}>
<VscSend size={30} /> <VscSend size={30} />
</ActionIcon> </ActionIcon>
</Center> </Center>

View File

@@ -1,20 +1,25 @@
'use client' 'use client'
import { LayoutNavbarNew, LayoutDrawer, TEMA } from "@/module/_global"; import { LayoutNavbarNew, LayoutDrawer, TEMA, globalRole } from "@/module/_global";
import { ActionIcon } from "@mantine/core"; import { ActionIcon } from "@mantine/core";
import { HiMenu } from "react-icons/hi"; import { HiMenu } from "react-icons/hi";
import { useState } from "react"; import { useState } from "react";
import DrawerListDiscussion from "./drawer_list_discussion"; import DrawerListDiscussion from "./drawer_list_discussion";
import { useParams } from "next/navigation"; import { useParams } from "next/navigation";
import { useHookstate } from "@hookstate/core"; import { useHookstate } from "@hookstate/core";
import { globalIsMemberDivision } from "@/module/division_new";
export default function NavbarListDiscussion() { export default function NavbarListDiscussion() {
const [openDrawer, setOpenDrawer] = useState(false) const [openDrawer, setOpenDrawer] = useState(false)
const roleLogin = useHookstate(globalRole)
const memberDivision = useHookstate(globalIsMemberDivision)
const param = useParams<{ id: string }>() const param = useParams<{ id: string }>()
const tema = useHookstate(TEMA) const tema = useHookstate(TEMA)
return ( return (
<> <>
<LayoutNavbarNew back={`/division/${param.id}`} title="Diskusi" <LayoutNavbarNew back={`/division/${param.id}`} title="Diskusi"
menu={ menu={
(roleLogin.get() == "user" || roleLogin.get() == "coadmin") && !memberDivision.get() ? <></>
:
<ActionIcon variant="light" onClick={() => setOpenDrawer(true)} bg={tema.get().bgIcon} size="lg" radius="lg" aria-label="Settings"> <ActionIcon variant="light" onClick={() => setOpenDrawer(true)} bg={tema.get().bgIcon} size="lg" radius="lg" aria-label="Settings">
<HiMenu size={20} color='white' /> <HiMenu size={20} color='white' />
</ActionIcon> </ActionIcon>