Buttons hidden by permissions

This commit is contained in:
2025-03-15 16:51:13 -04:00
parent 56236fd2ac
commit a842c24d0d
44 changed files with 624 additions and 94 deletions

View File

@@ -3,6 +3,8 @@ import PersonCharacterDisplay from "@/components/personCharacter/PersonCharacter
import Table from "@/components/table/Table";
import { Person } from "@/interface/Person";
import { RaidGroup } from "@/interface/RaidGroup";
import { useAuth } from "@/providers/AuthProvider";
import { isRaidGroupAdmin, isRaidGroupLeader } from "@/util/PermissionUtil";
import { useState } from "react";
import { Link } from "react-router";
import PersonCharacterModal from "../personCharacter/modal/PersonCharacterModal";
@@ -18,6 +20,7 @@ export default function PersonList({
people: Person[];
raidGroup: RaidGroup;
}){
const { accountPermissions, raidGroupPermissions } = useAuth();
const [ selectedPerson, setSelectedPerson ] = useState<Person>();
const [ displayUpdatePersonModal, setDisplayUpdatePersonModal ] = useState(false);
const [ displayDeletePersonModal, setDisplayDeletePersonModal ] = useState(false);
@@ -27,7 +30,8 @@ export default function PersonList({
const buttonProps: ButtonProps = {
variant: "ghost",
size: "md",
shape: "square"
shape: "square",
disabled: !isRaidGroupAdmin(raidGroup.raidGroupId ?? "", raidGroupPermissions, accountPermissions) && !isRaidGroupLeader(raidGroup.raidGroupId ?? "", raidGroupPermissions, accountPermissions)
};
@@ -78,6 +82,7 @@ export default function PersonList({
&nbsp;
</div>
<PersonAdminButtons
person={person}
buttonProps={buttonProps}
showUpdatePersonModal={() => {
setSelectedPerson(person);