PageSourceSearch

https://preny.ai/_next/static/chunks/app/%5Blocale%5D/(blog)/%5Bslug%5D/page-30bb635ba8ca312c.js

js preny.ai collected 2026-10-05 12:26:40 UTC 5,520 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8971],{98275:function(e,t,r){Promise.resolve().then(r.bind(r,73038)),Promise.resolve().then(r.bind(r,44796))},73038:function(e,t,r){"use strict";r.d(t,{default:function(){return x}});var n=r(57437);r(2265);var l=r(44796),s=r(96246),a=r(91299),c=r(93448),i=r(7586),d=r(33145),o=r(11911);let u=({html:e,className:t})=>{if(!e)return null;let r=o.ZP.sanitize(e);return(0,n.jsx)("div",{className:t,dangerouslySetInnerHTML:{__html:r}})};var x=e=>{let{detail:t}=e;return(0,n.jsxs)("div",{className:(0,c.cn)("wrapper","flex gap-x-8 py-0 font-normal text-gray-700"),children:[(0,n.jsx)("div",{className:"scrollSideBar sticky right-0 top-[75px] hidden h-[90vh] w-full max-w-[300px] overflow-auto border-r py-10 pr-4 md:block",children:(0,n.jsx)(l.default,{BlogId:`#${t?.slug}`})}),(0,n.jsxs)("div",{id:`${t?.slug}`,className:"space-y-4 py-10 font-normal text-gray-700",children:[(0,n.jsxs)("div",{className:"flex items-center justify-start space-x-2",children:[(0,n.jsxs)(s.qE,{className:"bg-primary",children:[(0,n.jsx)(s.F$,{className:"object-contain",src:"/logo.png"}),(0,n.jsx)(s.Q5,{children:"P"})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex items-center space-x-1",children:[(0,n.jsx)("p",{className:"text-sm font-semibold text-subdued-text",children:"Preny"}),(0,n.jsx)(d.default,{src:"/icons/ic_check-blog.png",alt:"",width:18,height:18,className:"size-4 object-contain"})]}),(0,n.jsx)("p",{className:"text-xs font-normal text-disable-text-2",children:(0,a.qj)(t?.modifiedAt)})]})]}),(0,n.jsx)("h1",{className:"mx-auto text-left text-3xl font-semibold text-heading xs:text-4xl",children:t?.title||""}),(0,n.jsxs)("div",{className:"block rounded-lg border p-5 md:hidden",children:[(0,n.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-lg font-bold",children:[(0,n.jsx)(i.Z,{}),(0,n.jsx)("p",{children:"Mục lục"})]}),(0,n.jsx)(l.default,{BlogId:`#${t?.slug}`})]}),(0,n.jsx)(u,{html:t?.content,className:"ck-content"})]})]})}},44796:function(e,t,r){"use strict";r.d(t,{default:function(){return c}});var n=r(57437),l=r(93448),s=r(27648),a=r(2265);function c({BlogId:e}){let t=function({BlogId:e}){let[t,r]=a.useState([]);return a.useEffect(()=>{let t=(e||"#article-preny").replace(/^#/,""),n=document.getElementById(t);n&&r(Array.from(n.querySelectorAll("h2, h3, h4, h5, h6")).map(e=>(e.id||(e.id=e.innerText.trim().normalize("NFD").toLowerCase().replaceAll(" ","-"),e.style.scrollMarginTop="80px",e.style.fontWeight="bold"),{id:e.id,text:e.textContent??"",level:Number(e.tagName.substring(1))})))},[]),t}({BlogId:e}),r=function(e,t){let[r,n]=a.useState(),l=a.useRef();return a.useEffect(()=>{let r=e.map(e=>document.getElementById(e));return l.current?.disconnect(),l.current=new IntersectionObserver(e=>{e.forEach(e=>{e?.isIntersecting&&n(e.target.id)})},t),r.forEach(e=>{e&&l.current?.observe(e)}),()=>l.current?.disconnect()},[e,t]),r}(t.map(({id:e})=>e),{rootMargin:"0px 0px -40% 0px"});return(0,n.jsx)("nav",{className:"toc",children:(0,n.jsx)("ul",{className:"space-y-2 md:space-y-3",children:t.map(e=>(0,n.jsxs)("li",{children:[e.level<=2&&(0,n.jsx)(s.default,{className:(0,l.cn)("line-clamp-2 cursor-pointer text-left text-base text-text duration-300 hover:text-primary",{"md:text-primary":r===e.id}),href:`#${e.id}`,children:e.text}),3===e.level&&(0,n.jsx)(s.default,{className:(0,l.cn)("line-clamp-2 cursor-pointer pl-5 text-left text-base text-text duration-300 hover:text-primary",{"md:text-primary":r===e.id}),href:`#${e.id}`,children:e.text}),4===e.level&&(0,n.jsx)(s.default,{className:(0,l.cn)("line-clamp-2 cursor-pointer pl-10 text-left text-base text-text duration-300 hover:text-primary",{"md:text-primary":r===e.id}),href:`#${e.id}`,children:e.text})]},e.id))})})}},96246:function(e,t,r){"use strict";r.d(t,{F$:function(){return i},Q5:function(){return d},qE:function(){return c}});var n=r(57437),l=r(2265),s=r(27954),a=r(93448);let c=l.forwardRef(({className:e,...t},r)=>(0,n.jsx)(s.fC,{ref:r,className:(0,a.cn)("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));c.displayName=s.fC.displayName;let i=l.forwardRef(({className:e,...t},r)=>(0,n.jsx)(s.Ee,{ref:r,className:(0,a.cn)("aspect-square h-full w-full",e),...t}));i.displayName=s.Ee.displayName;let d=l.forwardRef(({className:e,...t},r)=>(0,n.jsx)(s.NY,{ref:r,className:(0,a.cn)("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));d.displayName=s.NY.displayName},91299:function(e,t,r){"use strict";r.d(t,{SN:function(){return f},W1:function(){return h},l$:function(){return m},qj:function(){return p}});var n=r(71096),l=r.n(n),s=r(70397),a=r.n(s),c=r(46356),i=r.n(c),d=r(14597),o=r.n(d),u=r(45721),x=r.n(u);r(29066),r(96434).Buffer,l().extend(a()),l().extend(i()),l().extend(o()),l().extend(x()),l().locale("vi");let f=e=>e?e.toFixed(0).toString().replace(/\B(?=(\d{3})+(?!\d))/g,".")+"đ":"0đ",m=e=>e?e.toFixed(0).toString().replace(/\B(?=(\d{3})+(?!\d))/g,"."):"0",p=e=>e?l()().diff(e,"day")>0?l()(e).format("DD/MM/YYYY"):l()(e).fromNow():l()().format("DD/MM/YYYY"),h=e=>{for(;e.currentTarget.value.match(/[^0-9]/g);)e.currentTarget.value=e.currentTarget.value.replace(/[^0-9]/g,"");e.currentTarget.value=e.currentTarget.value.slice(0,14)}},93448:function(e,t,r){"use strict";r.d(t,{cn:function(){return s}});var n=r(61994),l=r(53335);function s(...e){return(0,l.m6)((0,n.W)(e))}}},function(e){e.O(0,[7600,5878,2972,6137,6434,9983,3314,2971,2117,1744],function(){return e(e.s=98275)}),_N_E=e.O()}]);

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.