@@ -15,7 +15,7 @@ import ArticleFeedbackPanel from '@/components/features/Feedback/ArticleFeedback
1515import PostEditor from '@/components/features/Post/PostEditor' ;
1616import { CommonLayout } from '@/components/layout/CommonLayout' ;
1717
18- import { useEffect , useState } from 'react' ;
18+ import { useCallback , useEffect , useState } from 'react' ;
1919import { RiErrorWarningFill } from 'react-icons/ri' ;
2020import {
2121 Navigate ,
@@ -107,7 +107,14 @@ const Posting = () => {
107107 const buttonFontSize = isMobile ? '12px' : '16px' ;
108108 const [ progress , setProgress ] = useState ( 0 ) ;
109109
110- usePrompt ( ! disablePrompt ) ;
110+ const clearPostingCache = useCallback ( ( ) => {
111+ sessionStorage . removeItem ( `posting-articleId-${ id } ` ) ;
112+ sessionStorage . removeItem ( `posting-content-${ id } ` ) ;
113+ sessionStorage . removeItem ( `posting-title-${ id } ` ) ;
114+ setPostImages ( [ ] ) ;
115+ } , [ id , setPostImages ] ) ;
116+
117+ usePrompt ( ! disablePrompt , clearPostingCache ) ;
111118
112119 useEffect ( ( ) => {
113120 document . documentElement . scrollTo ( { top : 0 , left : 0 , behavior : 'instant' } ) ;
@@ -250,9 +257,7 @@ const Posting = () => {
250257 const savedId = await handleSaveArticle ( ) ;
251258
252259 if ( savedId ) {
253- sessionStorage . removeItem ( `posting-articleId-${ id } ` ) ;
254- sessionStorage . removeItem ( `posting-content-${ id } ` ) ;
255- sessionStorage . removeItem ( `posting-title-${ id } ` ) ;
260+ clearPostingCache ( ) ;
256261 setDashboardView ( 'article' ) ;
257262 setSelectedPostId ( savedId ) ;
258263 setDisablePrompt ( true ) ;
0 commit comments