Memoize clear share modal props callback
This commit is contained in:
parent
e114343d1f
commit
ff9fc94ce1
@ -4,7 +4,7 @@ import Modal from '@/components/Modal';
|
|||||||
import { TbPhotoShare } from 'react-icons/tb';
|
import { TbPhotoShare } from 'react-icons/tb';
|
||||||
import { clsx } from 'clsx/lite';
|
import { clsx } from 'clsx/lite';
|
||||||
import { BiCopy } from 'react-icons/bi';
|
import { BiCopy } from 'react-icons/bi';
|
||||||
import { ReactNode, useEffect } from 'react';
|
import { ReactNode, useCallback, useEffect } from 'react';
|
||||||
import { shortenUrl } from '@/utility/url';
|
import { shortenUrl } from '@/utility/url';
|
||||||
import { toastSuccess } from '@/toast';
|
import { toastSuccess } from '@/toast';
|
||||||
import { SOCIAL_NETWORKS } from '@/app/config';
|
import { SOCIAL_NETWORKS } from '@/app/config';
|
||||||
@ -71,10 +71,14 @@ export default function ShareModal({
|
|||||||
{icon}
|
{icon}
|
||||||
</LoaderButton>;
|
</LoaderButton>;
|
||||||
|
|
||||||
useOnPathChange(() => setShareModalProps?.(undefined));
|
const clearShareModalProps = useCallback(() =>
|
||||||
|
setShareModalProps?.(undefined),
|
||||||
|
[setShareModalProps]);
|
||||||
|
|
||||||
|
useOnPathChange(clearShareModalProps);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Modal onClose={() => setShareModalProps?.(undefined)}>
|
<Modal onClose={clearShareModalProps}>
|
||||||
<div className="space-y-2 w-full">
|
<div className="space-y-2 w-full">
|
||||||
{title &&
|
{title &&
|
||||||
<div className={clsx(
|
<div className={clsx(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user