feat: update ViewDetailDialog; conditionally display target roles based on user permissions
This commit is contained in:
parent
ceeb1e325d
commit
6ec257a1cc
@ -135,6 +135,7 @@ export default function AnnouncementIndex({
|
|||||||
|
|
||||||
<ViewDetailDialog
|
<ViewDetailDialog
|
||||||
open={viewing !== null}
|
open={viewing !== null}
|
||||||
|
showTargetRoles={canCreate || canUpdate}
|
||||||
onOpenChange={(open) => {
|
onOpenChange={(open) => {
|
||||||
if (!open) {
|
if (!open) {
|
||||||
setViewing(null);
|
setViewing(null);
|
||||||
@ -176,10 +177,12 @@ function ViewDetailDialog({
|
|||||||
open,
|
open,
|
||||||
onOpenChange,
|
onOpenChange,
|
||||||
announcement,
|
announcement,
|
||||||
|
showTargetRoles,
|
||||||
}: {
|
}: {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
onOpenChange: (open: boolean) => void;
|
onOpenChange: (open: boolean) => void;
|
||||||
announcement: Announcement | null;
|
announcement: Announcement | null;
|
||||||
|
showTargetRoles: boolean;
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<Dialog open={open} onOpenChange={onOpenChange}>
|
<Dialog open={open} onOpenChange={onOpenChange}>
|
||||||
@ -200,18 +203,20 @@ function ViewDetailDialog({
|
|||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<div className="grid gap-1">
|
{showTargetRoles && (
|
||||||
<Label className="text-muted-foreground">
|
<div className="grid gap-1">
|
||||||
Ditujukan Untuk
|
<Label className="text-muted-foreground">
|
||||||
</Label>
|
Ditujukan Untuk
|
||||||
<div className="flex flex-wrap gap-1">
|
</Label>
|
||||||
{announcement.target_roles.map((role) => (
|
<div className="flex flex-wrap gap-1">
|
||||||
<Badge key={role} variant="secondary">
|
{announcement.target_roles.map((role) => (
|
||||||
{AnnouncementTargetRoleLabels[role]}
|
<Badge key={role} variant="secondary">
|
||||||
</Badge>
|
{AnnouncementTargetRoleLabels[role]}
|
||||||
))}
|
</Badge>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
)}
|
||||||
|
|
||||||
<div className="grid gap-1">
|
<div className="grid gap-1">
|
||||||
<Label className="text-muted-foreground">
|
<Label className="text-muted-foreground">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user