diff --git a/src/features/federation-restrictions/components/instance-restrictions.tsx b/src/features/federation-restrictions/components/instance-restrictions.tsx index 71c9c9e58..154c2aba6 100644 --- a/src/features/federation-restrictions/components/instance-restrictions.tsx +++ b/src/features/federation-restrictions/components/instance-restrictions.tsx @@ -8,10 +8,8 @@ import { useInstance } from 'soapbox/hooks'; import type { Map as ImmutableMap } from 'immutable'; const hasRestrictions = (remoteInstance: ImmutableMap): boolean => { - return remoteInstance - .get('federation') - .deleteAll(['accept', 'reject_deletes', 'report_removal']) - .reduce((acc: boolean, value: boolean) => acc || value, false); + const { accept, reject_deletes, report_removal, ...federation } = remoteInstance.get('federation'); + return !!Object.values(federation).reduce((acc, value) => Boolean(acc || value), false); }; interface IRestriction { diff --git a/src/features/ui/components/modals/edit-federation-modal.tsx b/src/features/ui/components/modals/edit-federation-modal.tsx index a8851420f..f438d8258 100644 --- a/src/features/ui/components/modals/edit-federation-modal.tsx +++ b/src/features/ui/components/modals/edit-federation-modal.tsx @@ -1,4 +1,3 @@ -import { Map as ImmutableMap } from 'immutable'; import React, { useState, useEffect, useCallback } from 'react'; import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; @@ -31,10 +30,10 @@ const EditFederationModal: React.FC = ({ host, onClose }) const getRemoteInstance = useCallback(makeGetRemoteInstance(), []); const remoteInstance = useAppSelector(state => getRemoteInstance(state, host)); - const [data, setData] = useState(ImmutableMap()); + const [data, setData] = useState({} as any); useEffect(() => { - setData(remoteInstance.get('federation') as any); + setData(remoteInstance.get('federation')); }, [remoteInstance]); const handleDataChange = (key: string): React.ChangeEventHandler => { @@ -69,7 +68,7 @@ const EditFederationModal: React.FC = ({ host, onClose }) media_nsfw, media_removal, reject, - } = data.toJS() as Record; + } = data; const fullMediaRemoval = avatar_removal && banner_removal && media_removal;