diff --git a/apps/web/src/views/board/components/VisibilityButton.tsx b/apps/web/src/views/board/components/VisibilityButton.tsx
index b1b556f2..23956016 100644
--- a/apps/web/src/views/board/components/VisibilityButton.tsx
+++ b/apps/web/src/views/board/components/VisibilityButton.tsx
@@ -16,11 +16,13 @@ const VisibilityButton = ({
boardPublicId,
queryParams,
isLoading,
+ isAdmin,
}: {
visibility: "public" | "private";
boardPublicId: string;
queryParams: QueryParams;
isLoading: boolean;
+ isAdmin: boolean;
}) => {
const { showPopup } = usePopup();
const utils = api.useUtils();
@@ -63,7 +65,7 @@ const VisibilityButton = ({
onClick={handleUpdateBoardVisibility}
iconLeft={isPublic ? : }
isLoading={updateBoardVisibility.isPending}
- disabled={isLoading}
+ disabled={isLoading || !isAdmin}
>
{isPublic ? "Public" : "Private"}
diff --git a/apps/web/src/views/board/index.tsx b/apps/web/src/views/board/index.tsx
index 76cff545..1ded4827 100644
--- a/apps/web/src/views/board/index.tsx
+++ b/apps/web/src/views/board/index.tsx
@@ -242,6 +242,7 @@ export default function BoardPage() {
boardPublicId={boardId ?? ""}
queryParams={queryParams}
isLoading={isLoading}
+ isAdmin={workspace.role === "admin"}
/>