feat: allow only workspace admins to update board visibility
This commit is contained in:
@@ -16,11 +16,13 @@ const VisibilityButton = ({
|
|||||||
boardPublicId,
|
boardPublicId,
|
||||||
queryParams,
|
queryParams,
|
||||||
isLoading,
|
isLoading,
|
||||||
|
isAdmin,
|
||||||
}: {
|
}: {
|
||||||
visibility: "public" | "private";
|
visibility: "public" | "private";
|
||||||
boardPublicId: string;
|
boardPublicId: string;
|
||||||
queryParams: QueryParams;
|
queryParams: QueryParams;
|
||||||
isLoading: boolean;
|
isLoading: boolean;
|
||||||
|
isAdmin: boolean;
|
||||||
}) => {
|
}) => {
|
||||||
const { showPopup } = usePopup();
|
const { showPopup } = usePopup();
|
||||||
const utils = api.useUtils();
|
const utils = api.useUtils();
|
||||||
@@ -63,7 +65,7 @@ const VisibilityButton = ({
|
|||||||
onClick={handleUpdateBoardVisibility}
|
onClick={handleUpdateBoardVisibility}
|
||||||
iconLeft={isPublic ? <HiOutlineEye /> : <HiOutlineEyeSlash />}
|
iconLeft={isPublic ? <HiOutlineEye /> : <HiOutlineEyeSlash />}
|
||||||
isLoading={updateBoardVisibility.isPending}
|
isLoading={updateBoardVisibility.isPending}
|
||||||
disabled={isLoading}
|
disabled={isLoading || !isAdmin}
|
||||||
>
|
>
|
||||||
{isPublic ? "Public" : "Private"}
|
{isPublic ? "Public" : "Private"}
|
||||||
</Button>
|
</Button>
|
||||||
|
|||||||
@@ -242,6 +242,7 @@ export default function BoardPage() {
|
|||||||
boardPublicId={boardId ?? ""}
|
boardPublicId={boardId ?? ""}
|
||||||
queryParams={queryParams}
|
queryParams={queryParams}
|
||||||
isLoading={isLoading}
|
isLoading={isLoading}
|
||||||
|
isAdmin={workspace.role === "admin"}
|
||||||
/>
|
/>
|
||||||
<Filters
|
<Filters
|
||||||
boardData={boardData ?? null}
|
boardData={boardData ?? null}
|
||||||
|
|||||||
Reference in New Issue
Block a user