1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[311],{311:(e,t,r)=>{r.r(t),r.d(t,{default:()=>x});var a=r(5038),i=r(6430),s=r(2292),l=r.n(s),n=r(2001),d=r(7844),o=r(2081),c=r(7703),u=r(2239);r(3366);var p=r(6892);let m=e=>"string"==typeof e&&e.trim().length>0;function x(){let[e,t]=(0,i.useState)(""),[r,s]=(0,i.useState)([]),[x,g]=(0,i.useState)(!0);(0,i.useEffect)(()=>{let e=new AbortController;return(async()=>{try{let t=await fetch("https://dev.to/api/articles?username=eliaschen",{signal:e.signal});if(!t.ok||e.signal.aborted)return;let r=await t.json();e.signal.aborted||s((0,p.TB)(r))}catch{e.signal.aborted||s([])}finally{e.signal.aborted||g(!1)}})(),()=>e.abort()},[]);let h=(0,a.jsx)("div",{className:"flex flex-col gap-3",children:[void 0,void 0,void 0].map((e,t)=>(0,a.jsxs)("div",{className:"rounded-lg border border-zinc-200 p-3 dark:border-zinc-800",children:[(0,a.jsx)(u.A,{className:"rounded-md",height:"20px",width:"70%"}),(0,a.jsx)(u.A,{className:"mt-2 rounded-md",height:"14px",count:2})]},t))}),b=e.trim().toLowerCase(),f=r.filter(e=>""===b||e.title.toLowerCase().includes(b)||(e.tags??"").toLowerCase().includes(b)),v=(e,t)=>(0,a.jsxs)("p",{className:"!m-0 flex items-center gap-1",children:[e,t]});return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"relative mt-6",children:[(0,a.jsx)(c.CKj,{"aria-hidden":"true",className:"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-zinc-400 dark:text-zinc-500"}),(0,a.jsx)("input",{value:e,onChange:e=>t(e.target.value),"aria-label":"Search articles",type:"text",placeholder:"Search articles",className:"w-full rounded-lg border border-zinc-200 bg-transparent px-9 py-2 text-sm text-zinc-900 transition duration-200 placeholder:text-zinc-400 focus:border-purple-400 focus:outline-none dark:border-zinc-800 dark:text-zinc-200 dark:placeholder:text-zinc-600 dark:focus:border-purple-500"}),""!==e&&(0,a.jsx)("button",{type:"button","aria-label":"Clear search",onClick:()=>t(""),className:"absolute right-2 top-1/2 -translate-y-1/2 rounded-md p-1 text-zinc-400 transition duration-200 hover:text-zinc-900 dark:text-zinc-500 dark:hover:text-zinc-200",children:(0,a.jsx)(o.PXF,{className:"size-4"})})]}),(0,a.jsx)("div",{className:"mt-6",children:x?h:0===f.length?(0,a.jsx)("p",{className:"py-10 text-center text-sm text-zinc-500 dark:text-zinc-400",children:"No articles found."}):(0,a.jsx)("ul",{className:"flex flex-col gap-3 !p-0",children:f.map(e=>(0,a.jsx)("li",{className:"list-none",children:(0,a.jsx)(l(),{className:"group block rounded-lg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-purple-400",href:e.url,"aria-label":"link of article "+e.title,children:(0,a.jsxs)("article",{className:"flex flex-col gap-2 rounded-lg border border-zinc-200 p-3 transition duration-200 group-hover:-translate-y-[0.15rem] group-hover:shadow-lg dark:border-zinc-800",children:[(0,a.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,a.jsx)("h2",{className:"!m-0 font-bold leading-snug tracking-tight text-zinc-900 dark:text-zinc-200",children:e.title}),m(e.readable_publish_date)&&(0,a.jsx)("p",{className:"!m-0 whitespace-nowrap font-code text-xs text-zinc-500 dark:text-zinc-400",children:e.readable_publish_date})]}),e.tag_list.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:e.tag_list.filter(e=>m(e)).slice(0,4).map(t=>(0,a.jsx)("span",{className:"rounded-md bg-purple-200 px-1 py-[2px] text-[10px] font-bold text-purple-900 dark:bg-purple-900/50 dark:text-purple-200",children:t},`${e.id}-${t}`))}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs font-semibold text-zinc-500 dark:text-zinc-400",children:[v((0,a.jsx)(d.Uj3,{}),e.public_reactions_count),v((0,a.jsx)(n.awm,{}),e.comments_count),"number"==typeof e.reading_time_minutes&&v((0,a.jsx)(n.Who,{}),`${e.reading_time_minutes} min`)]})]})})},e.id))})})]})}},6892:(e,t,r)=>{r.d(t,{C1:()=>o,F$:()=>l,TB:()=>n});let a=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),i=(e,t="")=>"string"==typeof e?e:t,s=(e,t=0)=>"number"==typeof e&&Number.isFinite(e)?e:t,l=e=>Array.isArray(e)?e.flatMap(e=>{if(!a(e))return[];let t=i(e.author),r=i(e.name);return t&&r?[{author:t,name:r,description:i(e.description)||void 0,language:i(e.language)||void 0,languageColor:i(e.languageColor)||void 0,stars:s(e.stars),forks:s(e.forks)}]:[]}):[],n=e=>Array.isArray(e)?e.flatMap(e=>{let t;if(!a(e))return[];let r=s(e.id,-1),l=i(e.title),n=i(e.url);return!(r<0)&&l&&n?[{id:r,title:l,url:n,tags:"string"==typeof e.tags?e.tags:void 0,tag_list:Array.isArray(t=e.tag_list)?t.filter(e=>"string"==typeof e):[],comments_count:s(e.comments_count),public_reactions_count:s(e.public_reactions_count),reading_time_minutes:"number"==typeof e.reading_time_minutes?e.reading_time_minutes:void 0,readable_publish_date:i(e.readable_publish_date)||void 0}]:[]}):[],d=(e,t)=>{if(!a(e))return"";let r=e[t];return a(r)?i(r.url):""},o=e=>Array.isArray(e)?e.map((e,t)=>{let r=a(e)?e:{},l=a(r.snippet)?r.snippet:{},n=a(l.resourceId)?l.resourceId:{},o=d(l.thumbnails,"medium"),c=d(l.thumbnails,"standard")||o;return{id:i(r.id,`item-${t}`),snippet:{title:i(l.title),position:s(l.position,t),playlistId:i(l.playlistId),resourceId:{videoId:i(n.videoId)},videoOwnerChannelId:i(l.videoOwnerChannelId),videoOwnerChannelTitle:i(l.videoOwnerChannelTitle),thumbnails:{standard:{url:c},medium:{url: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.