"use strict";(self.webpackChunkhhgDiscoverV1=self.webpackChunkhhgDiscoverV1||[]).push([[1231,4541],{"7KkI":function(e,t,r){r.d(t,{D5:function(){return useGetSize},NP:function(){return s},fT:function(){return i}});var o=r("+OUp");let i="#595959",s="#2d87f3",n={normal:24,sm:20,xs:18,sxs:16},a=n.normal,getSize=e=>"number"==typeof e?e:n[e]||e||a,useGetSize=e=>(0,o.useMemo)(()=>getSize(e),[e])},AuMj:function(e,t,r){r.d(t,{VD:function(){return ArticleStoreProvider},NP:function(){return useArticleStore}});var o,i,s=r("BGKE"),n=r("+OUp"),a=r("sEfC"),l=r.n(a),c=r("oWg6"),u=r("VNqU");(o=i||(i={}))[o.traditional=0]="traditional",o[o.simplified=1]="simplified";let d=["small","medium","large"],k=(0,n.createContext)(null),createArticleStore=e=>(0,c.y)((t,r)=>({articles:[],bookmarkIds:[],chineseTranslate:i.traditional,currentArticle:null,currentProgress:0,fontSize:"small",isBookmarked:!1,isCommentPopupOpen:!1,isLiked:!1,isDisliked:!1,totalComment:0,categories:[],...e||{},addToArticles:e=>{!e||r().articles.find(t=>e.id===t.id)||t({articles:r().articles.concat(e)})},addToBookmark:e=>t({isBookmarked:!0,bookmarkIds:[...r().bookmarkIds,e]}),removeBookmark:e=>{let o=r().bookmarkIds.filter(t=>t!==e);t({isBookmarked:!1,bookmarkIds:o})},setArticles:e=>t(t=>({articles:"function"==typeof e?e(t.articles):e})),setBookmarkIds:e=>{t({bookmarkIds:e})},setChineseTranslate:e=>t({chineseTranslate:e}),setCurrentArticle:l()(e=>t({currentArticle:e}),300),setCurrentProgress:e=>t({currentProgress:e}),cycleFontSize:()=>t({fontSize:function(e,t){let r=e.indexOf(t);return r===e.length-1?e[0]:e[r+1]}(d,r().fontSize)}),setIsBookmarked:e=>t({isBookmarked:e}),setIsCommentPopupOpen:e=>t({isCommentPopupOpen:e}),setIsLiked:e=>t({isLiked:e}),setIsDisliked:e=>t({isDisliked:e}),setTotalComment:e=>t({totalComment:e}),setCategories:e=>t({categories:e}),setShowDictionaryShortcutBtn:e=>t({showDictionaryShortcutBtn:e})})),ArticleStoreProvider=e=>{let{init:t,refreshKey:r,children:o}=e,i=(0,n.useRef)(createArticleStore(t)),a=i.current;return(0,n.useEffect)(()=>{r&&i.current.setState(t)},[r]),(0,s.Y)(k.Provider,{value:a,children:o})},useArticleStore=(e,t)=>{let r=(0,n.useContext)(k),o=(0,u.Pj)(r,e,t);return o}}}]);