diff --git a/src/app/features/common-settings/permissions/PowersEditor.tsx b/src/app/features/common-settings/permissions/PowersEditor.tsx index 6d50b2fa..f6157b9c 100644 --- a/src/app/features/common-settings/permissions/PowersEditor.tsx +++ b/src/app/features/common-settings/permissions/PowersEditor.tsx @@ -48,6 +48,7 @@ import { MemberPowerTag, MemberPowerTagIcon, StateEvent } from '../../../../type import { useAlive } from '../../../hooks/useAlive'; import { BetaNoticeBadge } from '../../../components/BetaNoticeBadge'; import { getPowerTagIconSrc } from '../../../hooks/useMemberPowerTag'; +import { useRoomCreators } from '../../../hooks/useRoomCreators'; type EditPowerProps = { maxPower: number; @@ -61,6 +62,7 @@ function EditPower({ maxPower, power, tag, onSave, onClose }: EditPowerProps) { const room = useRoom(); const roomToParents = useAtomValue(roomToParentsAtom); const useAuthentication = useMediaAuthentication(); + const creators = useRoomCreators(room); const imagePackRooms = useImagePackRooms(room.roomId, roomToParents); @@ -99,7 +101,7 @@ function EditPower({ maxPower, power, tag, onSave, onClose }: EditPowerProps) { const tagPower = parseInt(powerInput.value, 10); if (Number.isNaN(tagPower)) return; - if (tagPower > maxPower) return; + const tagName = nameInput.value.trim(); if (!tagName) return; @@ -163,7 +165,7 @@ function EditPower({ maxPower, power, tag, onSave, onClose }: EditPowerProps) { radii="300" type="number" placeholder="75" - max={maxPower} + max={creators.has(mx.getSafeUserId()) ? undefined : maxPower} outlined={typeof power === 'number'} readOnly={typeof power === 'number'} required