gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 2b0342b231cdc650121716309ab890559a3df463
parent 1d24c1c28312a5a97746df2e091a0838fa24cb7e
Author: f0x52 <f0x@cthu.lu>
Date:   Fri, 16 Dec 2022 12:19:58 +0100

[bugfix] use match-sorter for filtering domain blocks (#1270)


Diffstat:
Mweb/source/settings/admin/federation.js | 7++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/web/source/settings/admin/federation.js b/web/source/settings/admin/federation.js @@ -31,6 +31,7 @@ const adminActions = require("../redux/reducers/admin").actions; const submit = require("../lib/submit"); const BackButton = require("../components/back-button"); const Loading = require("../components/loading"); +const { matchSorter } = require("match-sorter"); const base = "/settings/admin/federation"; @@ -79,6 +80,10 @@ function InstanceOverview() { const blockedInstances = Redux.useSelector(state => state.admin.blockedInstances); const [_location, setLocation] = useLocation(); + const filteredInstances = React.useMemo(() => { + return matchSorter(Object.values(blockedInstances), filter, {keys: ["domain"]}); + }, [blockedInstances, filter]); + function filterFormSubmit(e) { e.preventDefault(); setLocation(`${base}/${filter}`); @@ -96,7 +101,7 @@ function InstanceOverview() { <Link to={`${base}/${filter}`}><a className="button">Add block</a></Link> </form> <div className="list"> - {Object.values(blockedInstances).filter((a) => a.domain.startsWith(filter)).map((entry) => { + {filteredInstances.map((entry) => { return ( <Link key={entry.domain} to={`${base}/${entry.domain}`}> <a className="entry nounderline">