From 02aefcf15531bc5c81e065815fa27f348562a20c Mon Sep 17 00:00:00 2001 From: aits2026 Date: Fri, 6 Mar 2026 15:34:58 +0800 Subject: [PATCH] fix(sns): stabilize jump date popover month --- src/components/Sns/SnsFilterPanel.tsx | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/components/Sns/SnsFilterPanel.tsx b/src/components/Sns/SnsFilterPanel.tsx index 4b646b2..f6f8e93 100644 --- a/src/components/Sns/SnsFilterPanel.tsx +++ b/src/components/Sns/SnsFilterPanel.tsx @@ -45,6 +45,7 @@ export const SnsFilterPanel: React.FC = ({ contactsCountProgress }) => { const [showJumpPopover, setShowJumpPopover] = useState(false) + const [jumpPopoverDate, setJumpPopoverDate] = useState(jumpTargetDate || new Date()) const jumpCalendarWrapRef = useRef(null) useEffect(() => { @@ -58,6 +59,11 @@ export const SnsFilterPanel: React.FC = ({ return () => document.removeEventListener('mousedown', handleClickOutside) }, [showJumpPopover]) + useEffect(() => { + if (showJumpPopover) return + setJumpPopoverDate(jumpTargetDate || new Date()) + }, [jumpTargetDate, showJumpPopover]) + const filteredContacts = contacts.filter(c => (c.displayName || '').toLowerCase().includes(contactSearch.toLowerCase()) || c.username.toLowerCase().includes(contactSearch.toLowerCase()) @@ -131,7 +137,12 @@ export const SnsFilterPanel: React.FC = ({
setShowJumpPopover(false)} - onSelect={(date) => setJumpTargetDate(date)} + onSelect={(date) => { + setJumpPopoverDate(date) + setJumpTargetDate(date) + }} />