diff --git a/src/app/features/common-settings/permissions/PermissionGroups.tsx b/src/app/features/common-settings/permissions/PermissionGroups.tsx
index f173b595..d01e8eba 100644
--- a/src/app/features/common-settings/permissions/PermissionGroups.tsx
+++ b/src/app/features/common-settings/permissions/PermissionGroups.tsx
@@ -4,9 +4,8 @@ import { Badge, Box, Button, Chip, config, Icon, Icons, Menu, Spinner, Text } fr
import { useTranslation } from 'react-i18next';
import produce from 'immer';
import type { StateEvents } from 'matrix-js-sdk';
-import { SequenceCard } from '../../../components/sequence-card';
-import { SequenceCardStyle } from '../styles.css';
import { SettingTile } from '../../../components/setting-tile';
+import { SettingsSection } from '../../settings/SettingsSection';
import {
applyPermissionPower,
getPermissionPower,
@@ -120,53 +119,43 @@ export function PermissionGroups({
const powerChanges = value !== power;
return (
-
- {t('RoomSettings.users')}
-
- handleChangePermission(USER_DEFAULT_LOCATION, v, power)}
- >
- {(handleOpen, opened) => (
-
- )
- }
- before={
- canEdit && (
-
- )
- }
- onClick={handleOpen}
- >
-
- {tag.name}
-
-
- )}
-
- }
- />
-
-
+
+ handleChangePermission(USER_DEFAULT_LOCATION, v, power)}
+ >
+ {(handleOpen, opened) => (
+
+ }
+ before={
+ canEdit && (
+
+ )
+ }
+ onClick={handleOpen}
+ >
+
+ {tag.name}
+
+
+ )}
+
+ }
+ />
+
);
};
@@ -174,8 +163,7 @@ export function PermissionGroups({
<>
{renderUserGroup()}
{permissionGroups.map((group, groupIndex) => (
-
- {group.name}
+
{group.items.map((item, itemIndex) => {
const power = getPermissionPower(powerLevels, item.location);
const powerUpdate = permissionUpdate.get(item.location);
@@ -185,60 +173,48 @@ export function PermissionGroups({
const powerChanges = value !== power;
return (
-
- handleChangePermission(item.location, v, power)}
- >
- {(handleOpen, opened) => (
-
- )
- }
- before={
- canEdit && (
-
- )
- }
- onClick={handleOpen}
- >
-
- {tag.name}
-
- {value < maxPower && (
- {t('RoomSettings.and_above')}
- )}
-
- )}
-
- }
- />
-
+ title={item.name}
+ description={item.description}
+ after={
+ handleChangePermission(item.location, v, power)}
+ >
+ {(handleOpen, opened) => (
+
+ )
+ }
+ before={
+ canEdit && (
+
+ )
+ }
+ onClick={handleOpen}
+ >
+
+ {tag.name}
+
+ {value < maxPower && {t('RoomSettings.and_above')}}
+
+ )}
+
+ }
+ />
);
})}
-
+
))}
{hasChanges && (
diff --git a/src/app/features/common-settings/permissions/Powers.tsx b/src/app/features/common-settings/permissions/Powers.tsx
index 72f16ae0..29487325 100644
--- a/src/app/features/common-settings/permissions/Powers.tsx
+++ b/src/app/features/common-settings/permissions/Powers.tsx
@@ -14,11 +14,12 @@ import {
toRem,
config,
color,
+ Icon,
+ Icons,
} from 'folds';
-import { SequenceCard } from '../../../components/sequence-card';
-import { SequenceCardStyle } from '../styles.css';
import { getPowers, usePowerLevelTags } from '../../../hooks/usePowerLevelTags';
import { SettingTile } from '../../../components/setting-tile';
+import { SettingsSection } from '../../settings/SettingsSection';
import { getPermissionPower, IPowerLevels } from '../../../hooks/usePowerLevels';
import { useRoom } from '../../../hooks/useRoom';
import { PowerColorBadge, PowerIcon } from '../../../components/power';
@@ -77,15 +78,20 @@ function PeekPermissions({ powerLevels, power, permissionGroups, children }: Pee
const hasPower = requiredPower <= power;
return (
-
- {hasPower ? '✅' : '❌'} {item.name}
-
+
+
+
+ {item.name}
+
+
);
})}
@@ -120,19 +126,12 @@ export function Powers({ powerLevels, permissionGroups, onEdit }: PowersProps) {
creatorsTag.icon && getPowerTagIconSrc(mx, useAuthentication, creatorsTag.icon);
return (
-
+
{creators.size > 0 && (
-
-
-
-
+
)}
-
@@ -175,8 +170,7 @@ export function Powers({ powerLevels, permissionGroups, onEdit }: PowersProps) {
)
}
- />
-
+ >
{getPowers(powerLevelTags).map((power) => {
const tag = powerLevelTags[power];
@@ -208,7 +202,7 @@ export function Powers({ powerLevels, permissionGroups, onEdit }: PowersProps) {
})}
-
+
);
}