1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="c5336fda-7c21-ab24-5412-b4035a1daeca")}catch(e){}}(); 2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,87316,e=>{"use strict";let t=(0,e.i(475254).default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);e.s(["Calendar",0,t],87316)},724247,e=>{"use strict";let t=(0,e.i(475254).default)("image-off",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]]);e.s(["ImageOff",0,t],724247)},373264,e=>{"use strict";let t=(0,e.i(475254).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",0,t],373264)},16715,e=>{"use strict";let t=(0,e.i(475254).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],16715)},751975,e=>{"use strict";let t=(0,e.i(475254).default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);e.s(["Tag",0,t],751975)},317360,e=>{"use strict";var t=e.i(843476),r=e.i(63209),l=e.i(503116),i=e.i(373264),a=e.i(16715),n=e.i(948148),s=e.i(271645),o=e.i(977092),d=e.i(886801),c=e.i(350518),u=e.i(298726),m=e.i(651362),x=e.i(26187),p=e.i(87316),g=e.i(286536),f=e.i(724247),h=e.i(751975),b=e.i(657688),y=e.i(609867),v=e.i(503421),j=e.i(91086),N=e.i(77249);function E(e,t,r){return(0,N.getLocalizedBlogField)(e,t,r)}function w(e,t){return e?new Date(e).toLocaleDateString(t||"en",{year:"numeric",month:"short",day:"numeric"}):""}function M(e,t,r){let l,i=Number(e)||0;try{l=new Intl.NumberFormat("zh-HK"===r?"zh-HK":r||"en").format(i)}catch{l=String(i)}return(t||"{count} views").replace("{count}",l)}function I(e){return e?.createdAt||e?.created_at||e?.publishedAt||e?.published_at||""}function S(e,t=1){let r=Number(e);return Number.isInteger(r)&&r>0?r:t}function A(e){return Array.isArray(e)?[...e].sort((e,t)=>{let r=e?.publishedAt?new Date(e.publishedAt).getTime():-1/0;return(t?.publishedAt?new Date(t.publishedAt).getTime():-1/0)-r}):[]}function C(e){return e.tags?e.tags.split(",").map(e=>e.trim()).filter(Boolean):[]}let k={MCP:["mcp","mcp-server","model-context-protocol"],Evolver:["evolver","self-evolution","evolution","metaclaw","explore","critpt"],GEP:["gep","gep-protocol","capability-evolution"],Agent:["ai-agent","agent-skills","agent-capability","agent-stack","agent-evolution","agent-memory","agent-hooks","agent-infrastructure","agent-identity","agent-economy","agent-network","agent-directory","agent-harness"],"Claude Code":["claude-code","claude-skills","claude-code-skills","skill-md","custom-skills","skill-sharing"],Swarm:["swarm","swarm-intelligence","multi-agent","protoss","zerg","self-organization","privacy","multi-tenancy"],A2A:["a2a","a2a-protocol","direct-messaging","collaboration"],"Developer Tools":["developer-tools","cursor","vscode","vs-code","cline","coding-agent","ai-extensions","developer-workflow","ai-coding","productivity"]};function z(e){let t=C(e).map(e=>e.toLowerCase());for(let[e,r]of Object.entries(k))if(t.some(e=>r.includes(e)))return e;return null}function P(e){let t={};for(let r of e){let e=z(r);e&&(t[e]=(t[e]||0)+1)}return Object.entries(t).sort((e,t)=>
2t[1]-e[1]).map(([e,t])=>({name:e,count:t}))}function G(){return(0,t.jsx)("div",{className:"w-full h-full bg-gradient-to-br from-bg-elevated via-bg-subtle to-bg-elevated flex items-center justify-center transition-all duration-300 group-hover:from-primary/5 group-hover:to-bg-elevated",children:(0,t.jsx)("div",{className:"flex flex-col items-center gap-2 opacity-30 group-hover:opacity-50 transition-opacity",children:(0,t.jsx)(f.ImageOff,{size:28,className:"text-text-dim"})})})}function T({src:e,alt:r,priority:l=!1}){let[i,a]=(0,s.useState)(!1),[n,o]=(0,s.useState)(!1),d=(0,j.normalizeBlogCoverSrc)(e),c=(0,j.shouldOptimizeBlogImage)(d);return!d||i?(0,t.jsx)(G,{}):(0,t.jsxs)(t.Fragment,{children:[!n&&(0,t.jsx)(y.default,{className:"absolute inset-0 rounded-none","aria-hidden":"true"}),(0,t.jsx)(b.default,{src:d,alt:r,fill:!0,unoptimized:!c,sizes:"(max-width: 768px) 100vw, (max-width: 1280px) 50vw, 33vw",placeholder:"blur",blurDataURL:(0,j.getBlogImageBlurDataURL)(),priority:l,loading:l?"eager":"lazy",className:`w-full h-full object-cover transition-all duration-300 group-hover:scale-105 ${n?"opacity-100":"opacity-0"}`,onLoad:()=>o(!0),onError:()=>a(!0)})]})}function _(){return(0,t.jsxs)("div",{className:"flex flex-col rounded-xl border border-border bg-bg-elevated/60 overflow-hidden",children:[(0,t.jsx)(y.default,{className:"aspect-[16/9] w-full rounded-none"}),(0,t.jsxs)("div",{className:"flex flex-col gap-2.5 p-5",children:[(0,t.jsx)(y.default,{className:"h-4 w-4/5"}),(0,t.jsx)(y.default,{className:"h-4 w-3/5"}),(0,t.jsxs)("div",{className:"space-y-1.5 pt-0.5",children:[(0,t.jsx)(y.default,{className:"h-3 w-full"}),(0,t.jsx)(y.default,{className:"h-3 w-5/6"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 pt-2",children:[(0,t.jsx)(y.default,{className:"h-3 w-20"}),(0,t.jsx)(y.default,{className:"h-3 w-16"})]})]})]})}function R({post:e,locale:r,router:l,priority:i=!1,viewsTemplate:a}){let n=E(e,"title",r),s=E(e,"summary",r),o=C(e),d=I(e),c=`/blog/${e.slug}`;return(0,t.jsxs)(v.default,{href:c,prefetch:!1,onMouseEnter:()=>l.prefetch(c),onFocus:()=>l.prefetch(c),className:"group flex flex-col rounded-xl border border-border bg-bg-elevated/60 backdrop-blur-sm overflow-hidden transition-all duration-200 hover:border-primary/30 hover:bg-bg-elevated hover:shadow-md hover:-translate-y-0.5",children:[(0,t.jsx)("div",{className:"aspect-[16/9] w-full overflow-hidden bg-bg-subtle relative",children:(0,t.jsx)(T,{src:e.coverUrl,alt:n,priority:i})}),(0,t.jsxs)("div",{className:"flex flex-col gap-2 p-5",children:[(0,t.jsx)("h2",{className:"text-base font-semibold text-foreground line-clamp-2 leading-snug",children:n}),s&&(0,t.jsx)("p",{className:"text-xs text-text-muted leading-relaxed line-clamp-3",children:s}),(0,t.jsxs)("div",{className:"flex items-center gap-3 mt-auto pt-2 flex-wrap",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 text-[11px] text-text-dim",children:[(0,t.jsx)(p.Calendar,{size:11}),(0,t.jsx)("span",{children:w(d,r)})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 text-[11px] text-text-dim",children:[(0,t.jsx)(g.Eye,{size:11}),(0,t.jsx)("span",{children:M(e.viewCount,a,r)})]}),o.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-1 text-[11px] text-text-dim",children:[(0,t.jsx)(h.Tag,{size:11}),(0,t.jsx)("span",{children:o.slice(0,3).join(", ")})]})]})]})]})}var L=e.i(531278);function F({posts:e,locale:r,router:l,viewsTemplate:i,loadMore:a,labels:n}){let o=(0,s.useMemo)(()=>{let t=new Map;for(let r of e){let e=function(e){if(!e)return"unknown";let t=new Date(e);return`${t.getUTCFullYear()}-${String(t.getUTCMonth()+1).padStart(2,"0")}`}(I(r));t.has(e)||t.set(e,[]),t.get(e).push(r)}return Array.from(t.entries()).sort((e,t)=>t[0].localeCompare(e[0]))},[e]);return 0===e.length?null:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{className:"absolute left-[19px] top-2 bottom-2 w-px bg-border md:left-[23px]"}),o.map(([e,a])=>(0,t.jsx)(D,{monthPosts:a,locale:r,router:l,viewsTemplate:i},e)),a?(0,t.jsx)(Z,{loadMore:a,labels:n}):null]})}function D({monthPosts:e,locale:r,router:l,viewsTemplate:i}){var a;return(0,t.jsxs)("div",{className:"mb-8 last:mb-0",children:[(0,t.jsxs)("div",{className:"relative flex items-center gap-3 mb-4",children:[(0,t.jsx)("div",{className:"relative z-10 flex h-10 w-10 items-center justify-center rounded-full border border-primary/30 bg-primary/10 md:h-12 md:w-12",children:(0,t.jsx)(p.Calendar,{size:16,className:"text-primary"})}),(0,t.jsx)("h3",{className:"text-sm font-semibold text-foreground md:text-base",children:(a=I(e[0]),a?new Date(a).toLocaleDateString(r||"en",{year:"numeric",month:"long"}):"")}),(0,t.jsxs)("span",{className:"text-[11px] text-text-dim",children:["(",e.length,")"]})]}),(0,t.jsx)("div",{className:"ml-[19px] border-l border-transparent pl-6 md:ml-[23px] md:pl-8 space-y-3",children:e.map(e=>(0,t.jsx)(B,{post:e,locale:r,router:l,viewsTemplate:i},e.id||e.slug))})]})}function Z({loadMore:e,labels:l}){let{hasMore:i,isFetchingMore:n,hasError:s,onRetry:o,sentinelRef:d}=e;return s?(0,t.jsxs)("div",{className:"ml-[19px] mt-6 flex flex-col items-center gap-2 rounded-lg border border-red-500/20 bg-red-500/[0.03] px-4 py-5 text-center md:ml-[23px]",children:[(0,t.jsx)(r.AlertCircle,{size:20,className:"text-brand-rose/80"}),(0,t.jsx)("p",{className:"text-xs text-text-muted",children:l?.loadMoreError??"Failed to load more"}),o?(0,t.jsxs)("button",{type:"button",onClick:o,className:"inline-flex items-center gap-1.5 rounded-md border border-primary/30 bg-primary/10 px-3 py-1.5 text-xs text-primary transition-colors hover:bg-primary/20",children:[(0,t.jsx)(a.RefreshCw,{size:12})," ",l?.retry??"Retry"]}):null]}):n?(0,t.jsxs)("div",{className:"ml-[19px] mt-6 flex items-center justify-center gap-2 py-4 text-xs text-text-dim md:ml-[23px]",children:[(0,t.jsx)(L.Loader2,{size:14,className:"animate-spin"}),(0,t.jsxs)("span",{children:[l?.loadMore??"Loading more","â¦"]})]}):i?(0,t.jsx)("div",{ref:d,className:"h-1 w-full","aria-hidden":"true"}):null}function B({post:e,locale:r,router:l,viewsTemplate:i}){let a=E(e,"title",r),n=E(e,"summary",r),s=C(e),o=I(e),d=`/blog/${e.slug}`;return(0,t.jsxs)(v.default,{href:d,prefetch:!1,onMouseEnter:()=>l.prefetch(d),onFocus:()=>
2l.prefetch(d),className:"group relative flex gap-4 rounded-lg border border-border bg-bg-elevated/60 p-4 transition-all duration-200 hover:border-primary/30 hover:bg-bg-elevated hover:shadow-sm",children:[(0,t.jsx)("div",{className:"absolute -left-[25px] top-5 h-2.5 w-2.5 rounded-full border-2 border-primary/40 bg-background group-hover:border-primary group-hover:bg-primary/20 transition-colors md:-left-[33px]"}),e.coverUrl&&(0,t.jsx)("div",{className:"relative hidden h-16 w-24 shrink-0 overflow-hidden rounded-md bg-bg-subtle sm:block",children:(0,t.jsx)(T,{src:e.coverUrl,alt:a})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,t.jsx)("h4",{className:"text-sm font-semibold text-foreground line-clamp-1 group-hover:text-primary transition-colors",children:a}),n&&(0,t.jsx)("p",{className:"text-xs text-text-muted line-clamp-2 leading-relaxed",children:n}),(0,t.jsxs)("div",{className:"flex items-center gap-3 pt-1 flex-wrap",children:[(0,t.jsx)("span",{className:"text-[11px] text-text-dim",children:w(o,r)}),(0,t.jsxs)("div",{className:"flex items-center gap-1 text-[11px] text-text-dim",children:[(0,t.jsx)(g.Eye,{size:10}),(0,t.jsx)("span",{children:M(e.viewCount,i,r)})]}),s.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-1 text-[11px] text-text-dim",children:[(0,t.jsx)(h.Tag,{size:10}),(0,t.jsx)("span",{children:s.slice(0,3).join(", ")})]})]})]})]})}var O=e.i(625380),$=e.i(661849);function H(e){let t=e?.originalArgs;return"boolean"==typeof t?.official?t.official:null}let U=e=>e?.[O.blogApi.reducerPath]?.queries??{},W=e=>(0,$.createSelector)(U,t=>{let r=new Set,l=[];for(let i of Object.values(t)){if(!i||"getBlogPosts"!==i.endpointName||H(i)!==e)continue;let t=i.data?.posts;if(Array.isArray(t))for(let e of t){let t=e?.id||e?.slug;!t||r.has(t)||(r.add(t),l.push(e))}}return l}),V=e=>(0,$.createSelector)(U,t=>{let r=0;for(let l of Object.values(t)){if(!l||"getBlogPosts"!==l.endpointName||H(l)!==e)continue;let t=l.data?.total;"number"==typeof t&&Number.isFinite(t)&&t>r&&(r=t)}return r}),Y=W(null),J=V(null),K=new Map,Q=e=>(0,$.createSelector)(U,t=>{let r=t[(0,O.blogTimelineCacheKey)(u.TIMELINE_PAGE_SIZE,e)],l=r?.data?.loadedPage;return"number"==typeof l&&l>0?l:0}),q=Q(null),X=new Map;var ee=e.i(844406);let et=["a","b","c","d","e","f"];function er(){return(0,t.jsx)("div",{className:"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3",children:et.map(e=>(0,t.jsx)(_,{},e))})}function el(){return{activeCategory:null,viewMode:"grid",page:1}}function ei(e,t){switch(t.type){case"SET_CATEGORY":return{...e,activeCategory:t.payload,page:1};case"RESET_CATEGORY":return{...e,activeCategory:null,page:1};case"SET_PAGE":return{...e,page:t.payload};case"SET_VIEW_GRID":return{...e,viewMode:"grid",page:1};case"SET_VIEW_TIMELINE":return{...e,viewMode:"timeline"};default:return e}}function ea({categories:e,activeCategory:r,allCount:a,onCategoryChange:n,onResetCategory:s,viewMode:o,onSetGrid:d,onSetTimeline:c}){return(0,t.jsxs)("div",{className:"flex flex-col gap-4 mb-6 sm:flex-row sm:items-center sm:justify-between",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("button",{type:"button",onClick:s,className:`inline-flex items-center gap-1 rounded-full px-3 py-1.5 text-xs font-medium transition-all duration-200 ${null===r?"bg-primary text-brand-ink shadow-sm":"bg-bg-elevated text-text-muted border border-border hover:border-primary/30 hover:text-foreground"}`,children:["All",(0,t.jsx)("span",{className:`ml-0.5 text-xs ${null===r?"text-white/70":"text-text-dim"}`,children:a})]}),e.map(({name:e,count:l})=>(0,t.jsxs)("button",{type:"button",onClick:()=>n(e),className:`inline-flex items-center gap-1 rounded-full px-3 py-1.5 text-xs font-medium transition-all duration-200 ${r===e?"bg-primary text-brand-ink shadow-sm":"bg-bg-elevated text-text-muted border border-border hover:border-primary/30 hover:text-foreground"}`,children:[e,(0,t.jsx)("span",{className:`ml-0.5 text-xs ${r===e?"text-white/70":"text-text-dim"}`,children:l})]},e))]}),(0,t.jsx)("div",{className:"flex items-center shrink-0",children:(0,t.jsxs)("div",{className:"inline-flex rounded-lg border border-border bg-bg-elevated p-0.5",children:[(0,t.jsx)("button",{type:"button",onClick:d,className:`inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-all duration-200 ${"grid"===o?"bg-primary text-brand-ink shadow-sm":"text-text-muted hover:text-foreground"}`,title:"Grid",children:(0,t.jsx)(i.LayoutGrid,{size:14})}),(0,t.jsx)("button",{type:"button",onClick:c,className:`inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-all duration-200 ${"timeline"===o?"bg-primary text-brand-ink shadow-sm":"text-text-muted hover:text-foreground"}`,title:"Timeline",children:(0,t.jsx)(l.Clock,{size:14})})]})})]})}e.s(["default",0,function({initialPosts:e,initialTotal:l,initialPageSize:i=u.GRID_PAGE_SIZE,initialError:p,official:g,labels:f}){let h=(0,d.useRouter)(),b=(0,m.useAppSelector)(x.selectCurrentLocale),y=(0,n.useTranslations)("blog"),v=(0,n.useTranslations)("common"),j=(0,c.default)("blog"),N=(0,c.default)("common"),[E,w]=(0,s.useReducer)(ei,void 0,el),{activeCategory:M,viewMode:I,page:C}=E,{visiblePosts:k,filteredPosts:G,categories:T,allCount:_,totalPages:L,loading:D,queryError:Z,hasAnyData:B,isPageTransitioning:$,refetch:H,timeline:U}=function({initialPosts:e,initialTotal:t,initialPageSize:r,initialError:l,page:i,activeCategory:a,viewMode:n,official:o}){let d=(0,ee.useAppDispatch)(),c="boolean"==typeof o?o:void 0,x="boolean"==typeof o?o:null,p=(0,s.useMemo)(()=>Array.isArray(e)?e:[],[e]),g=(0,s.useMemo)(()=>(function(e,t=0){return"number"==typeof e&&Number.isFinite(e)&&e>=0?e:t})(t,p.length),[t,p.length]),f=(0,s.useRef)(!1);(0,s.useEffect)(()=>
2{if(f.current||r!==u.GRID_PAGE_SIZE||0===p.length)return;f.current=!0;let e={page:1,pageSize:u.GRID_PAGE_SIZE};"boolean"==typeof c&&(e.official=c),d(O.blogApi.util.upsertQueryData("getBlogPosts",e,{posts:p,total:g}))},[d,r,p,g,c]);let h=!l&&0===p.length&&0===g,b=null!==a,y="timeline"===n&&!a,v=(0,O.useGetBlogPostsQuery)({page:i,pageSize:u.GRID_PAGE_SIZE,official:c},{skip:y||b||h}),j=(0,O.useGetBlogPostsQuery)({page:1,pageSize:u.ALL_POSTS_PAGE_SIZE,official:c},{skip:!b||h}),N=function({enabled:e,official:t}){let r="boolean"==typeof t?t:null,l=(0,s.useMemo)(()=>(function(e=null){let t="boolean"==typeof e?e:null,r=X.get(t);return r||(r=null===t?q:Q(t),X.set(t,r)),r})(r),[r]),i=(0,m.useAppSelector)(l),[a,n]=(0,s.useState)(()=>Math.max(1,i)),o=(0,s.useRef)(null),d=(0,s.useRef)(0),c=(0,O.useGetBlogPostsTimelineQuery)({page:a,pageSize:u.TIMELINE_PAGE_SIZE,official:"boolean"==typeof t?t:void 0},{skip:!e}),x=c.data,p=(0,s.useMemo)(()=>A(Array.isArray(x?.posts)?x.posts:[]),[x]),g="number"==typeof x?.total?x.total:0,f=p.length,h="number"==typeof x?.loadedPage?x.loadedPage:0;(0,s.useEffect)(()=>{c.isFetching||d.current!==a||(d.current=0)},[c.isFetching,a]);let b=e&&!c.isError&&f>0&&f<g&&h<u.MAX_TIMELINE_PAGE,y=e&&c.isFetching&&0===f,v=e&&c.isFetching&&f>0,j=e&&c.isError,N=(0,s.useCallback)(()=>{if(!e||c.isFetching||!b)return;let t=Math.max(a,h)+1;t>u.MAX_TIMELINE_PAGE||d.current!==t&&(d.current=t,n(t))},[e,c.isFetching,b,a,h]),E=(0,s.useCallback)(()=>{if(e){if(d.current=0,0===f)return void c.refetch();c.refetch()}},[e,f,c]);return(0,s.useEffect)(()=>{if(!e)return;let t=o.current;if(!t||!b||"u"<typeof IntersectionObserver)return;let r=new IntersectionObserver(e=>{e[0]?.isIntersecting&&N()},{rootMargin:u.TIMELINE_SENTINEL_ROOT_MARGIN});return r.observe(t),()=>r.disconnect()},[e,b,N]),{posts:p,total:g,loadedCount:f,isInitialLoading:y,isFetchingMore:v,isError:j,hasMore:b,loadMore:N,retry:E,sentinelRef:o}}({enabled:y&&!h,official:c}),E=(0,s.useMemo)(()=>(function(e=null){let t="boolean"==typeof e?e:null,r=K.get(t);return r||(r={posts:null===t?Y:W(t),total:null===t?J:V(t)},K.set(t,r)),r})(x),[x]),w=(0,m.useAppSelector)(E.posts),M=(0,m.useAppSelector)(E.total),I=j.data?.posts,S=v.currentData?.posts,C=j.data?.total,k=v.data?.total,G=N.posts,T=N.total,_=!y&&!b&&v.isFetching&&null==v.currentData,R=O.blogApi.usePrefetch("getBlogPosts"),L=(0,s.useMemo)(()=>{let e="number"==typeof C?C:"number"==typeof k?k:g;return e>0?Math.ceil(e/u.GRID_PAGE_SIZE):1},[C,k,g]);(0,s.useEffect)(()=>{y||b||h||v.currentData&&(i+1<=L&&R({page:i+1,pageSize:u.GRID_PAGE_SIZE}),i-1>=1&&R({page:i-1,pageSize:u.GRID_PAGE_SIZE}))},[i,L,y,b,h,v.currentData,R]);let{filteredPosts:F,categories:D,allCount:Z,totalPages:B,visiblePosts:$}=(0,s.useMemo)(()=>{let e=function({allPosts:e,pagedPosts:t,fallbackPosts:r,page:l,pageSize:i}){if(Array.isArray(e)&&e.length>0){let t=A(e),r=(l-1)*i;return t.slice(r,r+i)}return A(Array.isArray(t)&&t.length>0?t:r)}({allPosts:I,pagedPosts:S,fallbackPosts:p,page:i,pageSize:u.GRID_PAGE_SIZE}),t=function({activeCategory:e,allPosts:t,timelinePosts:r,pagedPosts:l,useTimelineQuery:i}){return e?A(t??[]).filter(t=>z(t)===e):i?r:l}({activeCategory:a,allPosts:I,timelinePosts:G,pagedPosts:e,useTimelineQuery:y}),r=function({allPosts:e,timelinePosts:t,cachedPosts:r,fallbackPosts:l}){return Array.isArray(e)&&e.length>0?P(e):t.length>0?P(t):r.length>0?P(r):P(l)}({allPosts:I,timelinePosts:G,cachedPosts:w,fallbackPosts:p}),l=function({activeCategory:e,filteredCount:t,allPostsTotal:r,timelineTotal:l,pagedTotal:i,cachedTotal:a,fallbackTotal:n}){return e?t:"number"==typeof r?r:l>0?l:"number"==typeof i?i:a>0?a:n}({activeCategory:a,filteredCount:t.length,allPostsTotal:C,timelineTotal:T,pagedTotal:k,cachedTotal:M,fallbackTotal:g}),n=function({activeCategory:e,filteredCount:t,allCount:r,pageSize:l}){return e?Math.max(1,Math.ceil(t/l)):Math.max(1,Math.ceil(r/l))}({activeCategory:a,filteredCount:t.length,allCount:l,pageSize:u.GRID_PAGE_SIZE}),s=function({activeCategory:e,pagedPosts:t,filteredPosts:r,page:l,pageSize:i}){if(!e)return t;let a=(l-1)*i;return r.slice(a,a+i)}({activeCategory:a,pagedPosts:e,filteredPosts:t,page:i,pageSize:u.GRID_PAGE_SIZE});return{pagedPosts:e,filteredPosts:t,categories:r,allCount:l,totalPages:n,visiblePosts:s}},[I,S,p,i,a,G,y,w,C,T,k,M,g]),H=b?j:v,U=y?N.isInitialLoading:!h&&(H.isFetching&&!H.data||!b&&v.isUninitialized&&0===p.length),et=y?N.isError&&0===G.length:H.isError;return{visiblePosts:$,filteredPosts:F,categories:D,allCount:Z,totalPages:B,loading:U,queryError:et,hasAnyData:function({pagedPosts:e,allPosts:t,timelinePosts:r,cachedPosts:l,fallbackPosts:i}){return Array.isArray(e)&&e.length>0||Array.isArray(t)&&t.length>0||r.length>0||l.length>0||i.length>0}({pagedPosts:S,allPosts:I,timelinePosts:G,cachedPosts:w,fallbackPosts:p}),isPageTransitioning:_,refetch:y?N.retry:H.refetch,pageSize:u.GRID_PAGE_SIZE,timeline:{posts:G,hasMore:N.hasMore,isFetchingMore:N.isFetchingMore,isError:N.isError&&G.length>0,retry:N.retry,sentinelRef:N.sentinelRef}}}({initialPosts:e,initialTotal:l,initialPageSize:i,initialError:p,page:C,activeCategory:M,viewMode:I,official:g}),et={loadError:j?y("loadError"):f.loadError,loadErrorHint:j?y("loadErrorHint"):f.loadErrorHint,empty:j?y("empty"):f.empty,prev:j?y("prev"):f.prev,next:j?y("next"):f.next,retry:N?v("retry"):f.retry,views:j?y("views"):f.views,loadMore:j?y("loadM
2ore"):f.loadMore??"Loading more",loadMoreError:j?y("loadMoreError"):f.loadMoreError??"Failed to load more"},en=(0,s.useCallback)(e=>w({type:"SET_CATEGORY",payload:M===e?null:e}),[M]),es=(0,s.useCallback)(e=>{w({type:"SET_PAGE",payload:S(e,1)}),window.scrollTo({top:0,behavior:"smooth"})},[]),eo=(0,s.useCallback)(()=>{H?.()},[H]),ed=(0,s.useCallback)(()=>{w({type:"RESET_CATEGORY"})},[]),ec=(0,s.useCallback)(()=>{w({type:"SET_VIEW_GRID"})},[]),eu=(0,s.useCallback)(()=>{w({type:"SET_VIEW_TIMELINE"})},[]),em=(0,s.useMemo)(()=>{if(!M)return{hasMore:U.hasMore,isFetchingMore:U.isFetchingMore,hasError:U.isError,onRetry:U.retry,sentinelRef:U.sentinelRef}},[M,U.hasMore,U.isFetchingMore,U.isError,U.retry,U.sentinelRef]),ex=(0,s.useMemo)(()=>({loadMore:et.loadMore,loadMoreError:et.loadMoreError,retry:et.retry}),[et.loadMore,et.loadMoreError,et.retry]);return((0,s.useEffect)(()=>{C>L&&w({type:"SET_PAGE",payload:1})},[C,L]),(Z||p)&&!B)?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 text-center rounded-lg border border-red-500/20 bg-red-500/[0.03]",children:[(0,t.jsx)(r.AlertCircle,{size:28,className:"text-brand-rose/80 mb-3"}),(0,t.jsx)("p",{className:"text-sm font-medium text-foreground mb-1",children:et.loadError}),(0,t.jsx)("p",{className:"text-xs text-text-dim mb-4",children:et.loadErrorHint}),(0,t.jsxs)("button",{type:"button",onClick:eo,className:"flex items-center gap-1.5 px-4 py-2 text-xs rounded-md border border-primary/30 bg-primary/10 text-primary hover:bg-primary/20 transition-colors",children:[(0,t.jsx)(a.RefreshCw,{size:12})," ",et.retry]})]}):D||B||p?(0,t.jsxs)("div",{children:[(0,t.jsx)(ea,{categories:T,activeCategory:M,allCount:_,onCategoryChange:en,onResetCategory:ed,viewMode:I,onSetGrid:ec,onSetTimeline:eu}),D||$?(0,t.jsx)(er,{}):"timeline"===I?0===G.length?(0,t.jsx)("div",{className:"flex flex-col items-center justify-center py-16 text-center rounded-lg border border-border bg-bg-elevated/30",children:(0,t.jsx)("p",{className:"text-sm text-text-muted",children:et.empty})}):(0,t.jsx)(F,{posts:G,locale:b,router:h,viewsTemplate:et.views,loadMore:em,labels:ex}):0===k.length?(0,t.jsx)("div",{className:"flex flex-col items-center justify-center py-16 text-center rounded-lg border border-border bg-bg-elevated/30",children:(0,t.jsx)("p",{className:"text-sm text-text-muted",children:et.empty})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3",children:k.map((e,r)=>(0,t.jsx)(R,{post:e,locale:b,router:h,priority:1===C&&r<2,viewsTemplate:et.views},e.id||e.slug))}),(0,t.jsx)(o.default,{currentPage:S(C,1),totalPages:L,onPageChange:es,disabled:D,prevLabel:et.prev,nextLabel:et.next,className:"mt-8"})]})]}):null}],317360)},977092,e=>{"use strict";var t=e.i(843476),r=e.i(373375),l=e.i(463059),i=e.i(271645),a=e.i(453044);let n=Object.freeze({prevPage:"previous page",nextPage:"next page",page:e=>`page ${e}`,jump:"jump to page"});function s({safePage:e,totalPages:i,totalItems:n,pageSize:o,currentPageItemCount:c,disabled:u,showInfo:m,infoLabelFormatter:x,onPageChange:p,clickableRange:g="any",labels:f,className:h}){if(i<=1)return null;let b=!u&&e>1,y=!u&&e<i,v=i<=7?Array.from({length:i},(e,t)=>t+1):e<=3?[1,2,3,"ellipsis-right",i]:e>=i-2?[1,"ellipsis-left",i-2,i-1,i]:[1,"ellipsis-left",e-1,e,e+1,"ellipsis-right",i],j="adjacent"===g,N="number"==typeof c&&Number.isFinite(c)?c:"number"==typeof o&&Number.isFinite(o)?o:0,E="number"==typeof n&&Number.isFinite(n)?n:0,w=m&&x?x({count:N,total:E}):null;return(0,t.jsxs)("div",{className:(0,a.cn)("flex flex-wrap items-center justify-center gap-x-6 gap-y-2 pt-4",h),children:[w?(0,t.jsx)("span",{className:"text-xs text-text-dim",children:w}):null,(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(d,{onClick:()=>b&&p(e-1),disabled:!b,ariaLabel:f.prevPage,children:(0,t.jsx)(r.ChevronLeft,{size:14})}),v.map(r=>{if("ellipsis-left"===r||"ellipsis-right"===r)return(0,t.jsx)("span",{className:"inline-flex min-h-8 min-w-8 items-center justify-center px-1 text-xs text-text-dim select-none","aria-hidden":!0,
2children:"â¦"},r);let l=r===e,i=!j||1>=Math.abs(r-e);return(0,t.jsx)(d,{active:l,onClick:()=>!l&&i&&p(r),disabled:u||l||!i,ariaLabel:f.page(r),ariaCurrent:l?"page":void 0,children:r},r)}),(0,t.jsx)(d,{onClick:()=>y&&p(e+1),disabled:!y,ariaLabel:f.nextPage,children:(0,t.jsx)(l.ChevronRight,{size:14})})]})]})}function o({safePage:e,hasPrev:i,hasNext:n,totalItems:s,pageSize:c,currentPageItemCount:u,disabled:m,showInfo:x,infoLabelFormatter:p,onPrev:g,onNext:f,labels:h,className:b}){if(!i&&!n)return null;let y=!m&&i,v=!m&&n,j="number"==typeof u&&Number.isFinite(u)?u:"number"==typeof c&&Number.isFinite(c)?c:0,N="number"==typeof s&&Number.isFinite(s)?s:0,E=x&&p?p({count:j,total:N}):null;return(0,t.jsxs)("div",{className:(0,a.cn)("flex flex-wrap items-center justify-center gap-x-6 gap-y-2 pt-4",b),children:[E?(0,t.jsx)("span",{className:"text-xs text-text-dim",children:E}):null,(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(d,{onClick:()=>y&&g(),disabled:!y,ariaLabel:h.prevPage,children:(0,t.jsx)(r.ChevronLeft,{size:14})}),(0,t.jsx)("span",{className:"inline-flex min-h-8 items-center justify-center px-3 text-xs font-medium text-text-muted select-none",children:e}),(0,t.jsx)(d,{onClick:()=>v&&f(),disabled:!v,ariaLabel:h.nextPage,children:(0,t.jsx)(l.ChevronRight,{size:14})})]})]})}function d({onClick:e,disabled:r,active:l,ariaLabel:i,ariaCurrent:n,children:s}){return(0,t.jsx)("button",{type:"button",onClick:e,disabled:r&&!l,"aria-label":i,"aria-current":n,className:(0,a.cn)("inline-flex min-h-8 min-w-8 items-center justify-center rounded-md border px-2 text-xs font-medium transition-colors",l?"border-primary bg-primary text-primary-foreground":"border-border bg-bg-elevated text-text-muted hover:border-primary/40 hover:text-primary disabled:opacity-30 disabled:pointer-events-none"),children:s})}e.s(["default",0,function({currentPage:e,totalPages:r,totalItems:l,pageSize:d,currentPageItemCount:c,onPageChange:u,onPrev:m,onNext:x,hasPrev:p,hasNext:g,onTotalPagesChange:f,disabled:h=!1,showJump:b=!0,showInfo:y=!0,infoLabelFormatter:v,variant:j="compact",clickableRange:N="any",prevLabel:E="â¹",nextLabel:w="âº",jumpLabel:M="â©",pageLabelFormatter:I,ariaLabels:S=n,className:A}){let C=(0,i.useMemo)(()=>"number"==typeof r&&Number.isFinite(r)?Math.max(1,Math.floor(r)):"number"==typeof l&&Number.isFinite(l)&&"number"==typeof d&&Number.isFinite(d)&&d>0?Math.max(1,Math.ceil(l/d)):1,[r,l,d]),k=Math.min(Math.max(1,e||1),C),[z,P]=(0,i.useState)(String(k)),G=S===n?n:{...n,...S};if((0,i.useEffect)(()=>{f?.(C)},[f,C]),(0,i.useEffect)(()=>{P(String(k))},[k]),"numbered"===j)return(0,t.jsx)(s,{safePage:k,totalPages:C,totalItems:l,pageSize:d,currentPageItemCount:c,disabled:h,showInfo:y,infoLabelFormatter:v,onPageChange:u,clickableRange:N,labels:G,className:A});if("prevNext"===j){let i=Math.max(1,Math.floor(e||1)),a="boolean"==typeof g?g:"number"==typeof r&&i<r,n=m??(()=>u?.(i-1)),s=x??(()=>u?.(i+1));return(0,t.jsx)(o,{safePage:i,hasPrev:"boolean"==typeof p?p:i>1,hasNext:a,totalItems:l,pageSize:d,currentPageItemCount:c,disabled:h,showInfo:y,infoLabelFormatter:v,onPrev:n,onNext:s,labels:G,className:A})}if(C<=1)return null;let T=!h&&k>1,_=!h&&k<C;function R(){let e=Number.parseInt(z,10);if(!Number.isFinite(e))return void P(String(k));let t=Math.min(C,Math.max(1,e));t!==k&&u(t)}let L=I?I(k,C):`${k} / ${C}`;return(0,t.jsxs)("div",{className:(0,a.cn)("flex items-center justify-center gap-2 pt-4",A),children:[(0,t.jsx)("button",{type:"button",onClick:function(){T&&u(k-1)},disabled:!T,"aria-label":G.prevPage,className:"inline-flex min-h-8 min-w-8 items-center justify-center rounded border border-border bg-bg-elevated px-2 text-xs text-text-muted transition-colors hover:border-primary/40 hover:text-primary disabled:opacity-30 disabled:pointer-events-none",children:E}),(0,t.jsx)("span",{className:"min-w-[72px] text-center text-xs text-text-dim",children:L}),(0,t.jsx)("button",{type:"button",onClick:function(){_&&u(k+1)},disabled:!_,"aria-label":G.nextPage,className:"inline-flex min-h-8 min-w-8 items-center justify-center rounded border border-border bg-bg-elevated px-2 text-xs text-text-muted transition-colors hover:border-primary/40 hover:text-primary disabled:opacity-30 disabled:pointer-events-none",children:w}),b&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("input",{type:"text",inputMode:"numeric",value:z,onChange:e=>P(e.target.value.replace(/[^\d]/g,"")),onKeyDown:e=>{"Enter"===e.key&&R()}
2,className:"h-8 w-14 rounded border border-border bg-bg-elevated px-2 text-center text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-primary/40","aria-label":G.jump}),(0,t.jsx)("button",{type:"button",onClick:R,disabled:h,className:"inline-flex min-h-8 min-w-8 items-center justify-center rounded border border-border bg-bg-elevated px-2 text-xs text-text-muted transition-colors hover:border-primary/40 hover:text-primary disabled:opacity-30 disabled:pointer-events-none",children:M})]})]})}])},77249,e=>{"use strict";let t=Object.freeze({en:"En",zh:"Zh","zh-HK":"ZhHK",ja:"Ja",es:"Es",pt:"Pt"}),r=Object.freeze({pt:"ptStatus"});function l(e){return e&&t[e]||t.en}e.s(["getBlogLocaleSuffix",0,l,"getLocalizedBlogField",0,function(e,t,i){if(!e)return"";let a=l(i),n=e[`${t}${a}`];if(n&&function(e,t){let l=r[t];if(!l)return!0;let i=e?.[l];return null==i||""===i||"published"===i}(e,i))return String(n);let s=e[`${t}En`];if(s)return String(s);let o=e[`${t}Zh`];if(o)return String(o);let d=e[t];return d?String(d):""}])},888050,e=>{"use strict";e.s(["normalizeUploadSrc",0,function(e,t){if(!e||"string"!=typeof e)return"";let r=e.trim();if(!r)return"";let l=function(e,t){if(!e||"string"!=typeof e)return null;let r=e.trim(),l=String(t||"").replace(/^\/+|\/+$/g,"");if(!r||!l)return null;let i=`/api/uploads/${l}/`;if(r.startsWith(i))return r.replace(/^\/api/,"");let a=`/uploads/${l}/`;if(r.startsWith(a))return r;let n=r.indexOf(a);return n>=0?r.slice(n):null}(r,t);return l?`/api${l}`:r}])},91086,e=>{"use strict";var t=e.i(888050);e.s(["getBlogImageBlurDataURL",0,function(){return"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAwIiBoZWlnaHQ9IjY3NSIgdmlld0JveD0iMCAwIDEyMDAgNjc1IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImciIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMTAwJSIgeTI9IjEwMCUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMxMTE4MjEiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxYjI1MzAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB3aWR0aD0iMTIwMCIgaGVpZ2h0PSI2NzUiIGZpbGw9InVybCgjZykiLz48L3N2Zz4="},"normalizeBlogCoverSrc",0,function(e){return(0,t.normalizeUploadSrc)(e,"blog")},"normalizeBlogInlineSrc",0,function(e){return(0,t.normalizeUploadSrc)(e,"blog")},"shouldOptimizeBlogImage",0,function(e){if(!e||"string"!=typeof e)return!1;let t=e.trim();return!!t&&!!t.startsWith("/")}])}]); 3 4//# debugId=c5336fda-7c21-ab24-5412-b4035a1daeca
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.