From ff9fc94ce183d298b1a61db81d218a74fb6caad2 Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Sun, 26 Oct 2025 10:37:02 -0500 Subject: [PATCH] Memoize clear share modal props callback --- src/share/ShareModal.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/share/ShareModal.tsx b/src/share/ShareModal.tsx index 95ea251b..7d02f3ff 100644 --- a/src/share/ShareModal.tsx +++ b/src/share/ShareModal.tsx @@ -4,7 +4,7 @@ import Modal from '@/components/Modal'; import { TbPhotoShare } from 'react-icons/tb'; import { clsx } from 'clsx/lite'; import { BiCopy } from 'react-icons/bi'; -import { ReactNode, useEffect } from 'react'; +import { ReactNode, useCallback, useEffect } from 'react'; import { shortenUrl } from '@/utility/url'; import { toastSuccess } from '@/toast'; import { SOCIAL_NETWORKS } from '@/app/config'; @@ -71,10 +71,14 @@ export default function ShareModal({ {icon} ; - useOnPathChange(() => setShareModalProps?.(undefined)); + const clearShareModalProps = useCallback(() => + setShareModalProps?.(undefined), + [setShareModalProps]); + + useOnPathChange(clearShareModalProps); return ( - setShareModalProps?.(undefined)}> +
{title &&