upd: diskusi divisi

Deskripsi:
- realtime arsip dan mengaktifkan diskusi divisi

No Issues
This commit is contained in:
amel
2025-01-15 12:08:28 +08:00
parent 13c05548ff
commit afca934d4c
3 changed files with 39 additions and 27 deletions

View File

@@ -63,10 +63,14 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv
} }
if (dataRealTime && dataRealTime.some((i: any) => i.category == 'discussion-delete' && i.id == id && i.user != isUser)) { if (dataRealTime && dataRealTime.some((i: any) => i.category == 'discussion-delete' && i.id == id && i.user != isUser)) {
toast.error("Data telah diarsipkan, anda akan beralih ke halaman list diskusi") if ((roleLogin.get() == "user" || roleLogin.get() == "coadmin") && !adminLogin.get()) {
setTimeout(() => { toast.error("Data telah diarsipkan, anda akan beralih ke halaman list diskusi")
router.push(`/division/${param.id}/discussion`) setTimeout(() => {
}, 1000) router.push(`/division/${param.id}/discussion`)
}, 1000)
} else {
getData(true)
}
} }
}, [dataRealTime]) }, [dataRealTime])
@@ -107,7 +111,6 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv
return ( return (
<Box> <Box>
{/* <NavbarDetailDiscussion id={id} status={Number(isData?.status)} idDivision={idDivision} /> */}
<LayoutNavbarNew back={`/division/${param.id}/discussion/`} title="Diskusi" <LayoutNavbarNew back={`/division/${param.id}/discussion/`} title="Diskusi"
menu={ menu={
((roleLogin.get() != 'user' && roleLogin.get() != 'coadmin') || adminLogin.get() || isCreator) ? ((roleLogin.get() != 'user' && roleLogin.get() != 'coadmin') || adminLogin.get() || isCreator) ?
@@ -159,7 +162,11 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv
<Grid.Col span={8}> <Grid.Col span={8}>
<Box pl={isMobile2 ? 40 : 30}> <Box pl={isMobile2 ? 40 : 30}>
<Text lineClamp={1} fz={isMobile ? 15 : 16}>{isData?.username}</Text> <Text lineClamp={1} fz={isMobile ? 15 : 16}>{isData?.username}</Text>
<Badge color={isData?.status === 1 ? "green" : "red"} size="sm">{isData?.status === 1 ? "BUKA" : "TUTUP"}</Badge> {!isData?.isActive ?
<Badge color="gray" size="sm">ARSIP</Badge>
:
<Badge color={isData?.status === 1 ? "green" : "red"} size="sm">{isData?.status === 1 ? "BUKA" : "TUTUP"}</Badge>
}
</Box> </Box>
</Grid.Col> </Grid.Col>
<Grid.Col span={3}> <Grid.Col span={3}>
@@ -196,7 +203,11 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv
<Grid.Col span={8}> <Grid.Col span={8}>
<Box pl={isMobile2 ? 40 : 30}> <Box pl={isMobile2 ? 40 : 30}>
<Text lineClamp={1} fz={isMobile ? 15 : 16}>{isData?.username}</Text> <Text lineClamp={1} fz={isMobile ? 15 : 16}>{isData?.username}</Text>
<Badge color={isData?.status === 1 ? "green" : "red"} size="sm">{isData?.status === 1 ? "BUKA" : "TUTUP"}</Badge> {!isData?.isActive ?
<Badge color="gray" size="sm">ARSIP</Badge>
:
<Badge color={isData?.status === 1 ? "green" : "red"} size="sm">{isData?.status === 1 ? "BUKA" : "TUTUP"}</Badge>
}
</Box> </Box>
</Grid.Col> </Grid.Col>
<Grid.Col span={3}> <Grid.Col span={3}>

View File

@@ -59,26 +59,31 @@ export default function DrawerDetailDiscussion({ onSuccess, id, status, idDivisi
setLoadingDelete(true) setLoadingDelete(true)
const response = await funDeleteDiscussion(id, { active: !active }) const response = await funDeleteDiscussion(id, { active: !active })
if (response.success) { if (response.success) {
setDataRealtime([
{
category: "discussion-delete",
id: id,
user: response.user
},
{
category: "division/" + param.id + "/discussion",
}
])
toast.success(response.message) toast.success(response.message)
onSuccess(false) onSuccess(false)
if (active) { if (active) {
setDataRealtime([
{
category: "discussion-delete",
id: id,
user: response.user
},
{
category: "division/" + param.id + "/discussion",
}
])
router.push(`/division/${param.id}/discussion`) router.push(`/division/${param.id}/discussion`)
} else { } else {
refresh.set(!refresh.get()) refresh.set(!refresh.get())
setDataRealtime([{ setDataRealtime([
category: "discussion-detail", {
id: id, category: "discussion-detail",
}]) id: id,
},
{
category: "division/" + param.id + "/discussion",
}
])
} }
} else { } else {
toast.error(response.message) toast.error(response.message)
@@ -86,11 +91,7 @@ export default function DrawerDetailDiscussion({ onSuccess, id, status, idDivisi
} }
} catch (error) { } catch (error) {
console.error(error); console.error(error);
if (!active) { toast.error("Gagal mengupdate diskusi, coba lagi nanti");
toast.error("Gagal mengarsipkan diskusi, coba lagi nanti");
} else {
toast.error("Gagal mengaktifkan diskusi, coba lagi nanti");
}
} finally { } finally {
setLoadingDelete(false) setLoadingDelete(false)
setValModal(false) setValModal(false)

View File

@@ -93,7 +93,7 @@ export default function DrawerDetailDiscussionGeneral({ onSuccess, id, status, a
} }
} catch (error) { } catch (error) {
console.error(error); console.error(error);
toast.error("Gagal mengarsipkan diskusi umum, coba lagi nanti"); toast.error("Gagal mengupdate diskusi umum, coba lagi nanti");
} finally { } finally {
setLoadingDelete(false) setLoadingDelete(false)
setValModal(false) setValModal(false)