// Metro module 9017 (f9018). import { useState, useEffect } from "react"; import { View } from "react-native"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import Module712 from "../../../_bundle/Module712"; import { NONE } from "../../../utils/PermissionUtils"; import { invert, has } from "../../../_bundle/HighLow"; import { OrderedPermissions, getPermissionName } from "../permissions"; import { Checkbox } from "../../../design/components/Checkbox/native/Checkbox.native"; import { Stack } from "../../../design/components/Stack/native/Stack.native"; import { XSmallIcon } from "../../../design/components/Icon/native/redesign/generated/XSmallIcon"; import { Text } from "../../../design/components/Text/native/Text"; import { intl, t } from "../../../intl/index.native"; const useStyles = createStyles({ disabledPermissionIcon: { width: 24, height: 24, flexGrow: 0, flexShrink: 0, alignItems: "center", justifyContent: "center", borderRadius: Module712.radii.sm, backgroundColor: Module712.colors.ICON_FEEDBACK_CRITICAL } }); export default function BotPermissions(props) { const { application, permissions, deniedPermissions, onPermissionsChange, guild } = props; const styles = useStyles(); const [state, setState] = useState(NONE); useEffect(() => { onPermissionsChange(true, permissions); setState(invert(guild.permissions)); onPermissionsChange(false, invert(guild.permissions)); }, [guild.permissions, onPermissionsChange, permissions]); const r43 = OrderedPermissions.filter((orderedPermission) => has(permissions, orderedPermission)); const r14 = r43.filter((item) => !has(state, item)).map((item) => { const permissionName = getPermissionName(item); const checked = !has(deniedPermissions, item); return onPermissionsChange(event, item)} label={permissionName} />; }); const r13 = r43.filter((item) => has(state, item)).map((item) => { const permissionName = getPermissionName(item); return {permissionName} ; }); return {intl.format(t.sOaT2j, { applicationName: application.name, guildName: guild.name })} {r14} {r13.length > 0 ? {intl.format(t.fsOkF4, { applicationName: application.name })} {r13} : null} ; };