diff --git a/app/javascript/mastodon/components/domain.tsx b/app/javascript/mastodon/components/domain.tsx
index 0ccffac482..86f8a0e6a3 100644
--- a/app/javascript/mastodon/components/domain.tsx
+++ b/app/javascript/mastodon/components/domain.tsx
@@ -9,12 +9,14 @@ import { Button } from './button';
export const Domain: React.FC<{
domain: string;
-}> = ({ domain }) => {
+ onUnblock?: (domain: string) => void;
+}> = ({ domain, onUnblock }) => {
const dispatch = useAppDispatch();
const handleDomainUnblock = useCallback(() => {
dispatch(unblockDomain(domain));
- }, [dispatch, domain]);
+ onUnblock?.(domain);
+ }, [dispatch, domain, onUnblock]);
return (
diff --git a/app/javascript/mastodon/features/domain_blocks/index.tsx b/app/javascript/mastodon/features/domain_blocks/index.tsx
index 2c5860af98..26a31c8870 100644
--- a/app/javascript/mastodon/features/domain_blocks/index.tsx
+++ b/app/javascript/mastodon/features/domain_blocks/index.tsx
@@ -62,6 +62,10 @@ const Blocks: React.FC<{ multiColumn: boolean }> = ({ multiColumn }) => {
columnRef.current?.scrollTop();
}, []);
+ const handleUnblock = useCallback((domain: string) => {
+ setDomains((prev) => prev.filter((d) => d !== domain));
+ }, []);
+
const emptyMessage = (
= ({ multiColumn }) => {
bindToDocument={!multiColumn}
>
{domains.map((domain) => (
-
+
))}