1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[457],{5053:function(e,t,a){Promise.resolve().then(a.bind(a,3104)),Promise.resolve().then(a.bind(a,121)),Promise.resolve().then(a.bind(a,748)),Promise.resolve().then(a.bind(a,2535)),Promise.resolve().then(a.t.bind(a,9498,23))},121:function(e,t,a){"use strict";a.d(t,{CurrentYear:function(){return n}});var r=a(3890);function n(){return(0,r.jsx)(r.Fragment,{children:new Date().getFullYear()})}},748:function(e,t,a){"use strict";a.d(t,{Navigation:function(){return eh}});var r,n=a(3890),s=a(8496),o=a(6060),i=a(6788),l=a(1991),d=a(1343),c=a(1597),m=a(9083);let u=e=>{let{children:t,buttonText:a,link:r}=e;return(0,n.jsx)("div",{className:"fixed inset-x-0 top-0 z-50 flex bg-foreground px-4 py-2 text-center text-sm text-background sm:h-28 sm:text-left md:h-20 lg:h-12",children:(0,n.jsxs)("div",{className:"container mx-auto flex max-w-6xl flex-col items-center justify-between md:flex-row",children:[(0,n.jsx)("div",{className:"mb-4 flex flex-wrap items-center justify-center md:mb-0 md:justify-start",children:t}),(0,n.jsx)("div",{className:"flex items-center justify-center",children:a&&(0,n.jsx)(m.z,{variant:"secondary",asChild:!0,className:"mr-2",children:(0,n.jsx)("a",{href:r,target:"_blank",children:a})})})]})})};var f=a(8779),h=a(3830),p=a(5804),x=a(1244),g=a(8060),v=a(1381),b=a(9473),j=a(3373);let N=[{title:"Content",content:[{title:"Blog",href:"/posts",description:"Blogposts. Mostly about web development. Or chicken fingers"},{title:"Speaking",href:"/speaking",description:"My previous (and current) talks, workshops, and other speaking engagements."},{title:"Videos",href:null===(r=d.r4.socialProfiles.find(e=>"youtube"===e.name))||void 0===r?void 0:r.link,description:"My YouTube channel where I talk about web development."},{title:"Newsletter",href:d.ZP.newsletterUrl,description:"My newsletter about software development"},{title:"Teaching",href:"/teaching",description:"I teach others. Sometimes for free, sometimes for money."}]},{title:"Projects",href:"/projects"},{title:"Uses",href:"/uses"},{title:"Now",href:"/now"}];var y=a(2966),w=a(3922),k=a(6041),_=a(8);let C=k.fC;k.xz;let R=e=>{let{children:t,...a}=e;return(0,n.jsx)(k.h_,{...a,children:(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-start justify-center sm:items-center",children:t})})};R.displayName=k.h_.displayName;let P=s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(k.aV,{ref:t,className:(0,c.cn)("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm transition-all duration-100 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=open]:fade-in",a),...r})});P.displayName=k.aV.displayName;let z=s.forwardRef((e,t)=>{let{className:a,children:r,...s}=e;return(0,n.jsxs)(R,{children:[(0,n.jsx)(P,{}),(0,n.jsxs)(k.VY,{ref:t,className:(0,c.cn)("fixed z-50 grid w-full gap-4 rounded-b-lg border bg-background p-6 shadow-lg animate-in data-[state=open]:fade-in-90 data-[state=open]:slide-in-from-bottom-10 sm:max-w-lg sm:rounded-lg sm:zoom-in-90 data-[state=open]:sm:slide-in-from-bottom-0",a),...s,children:[r,(0,n.jsxs)(k.x8,{className:"absolute right-4 top-4 roun
1ded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,n.jsx)(_.Z,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});z.displayName=k.VY.displayName,s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(k.Dx,{ref:t,className:(0,c.cn)("text-lg font-semibold leading-none tracking-tight",a),...r})}).displayName=k.Dx.displayName,s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(k.dk,{ref:t,className:(0,c.cn)("text-sm text-muted-foreground",a),...r})}).displayName=k.dk.displayName;let S=s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(y.mY,{ref:t,className:(0,c.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...r})});S.displayName=y.mY.displayName;let Y=e=>{let{children:t,...a}=e;return(0,n.jsx)(C,{...a,children:(0,n.jsx)(z,{className:"overflow-hidden p-0 shadow-2xl",children:(0,n.jsx)(S,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:t})})})},Z=s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[(0,n.jsx)(w.Z,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,n.jsx)(y.mY.Input,{ref:t,className:(0,c.cn)("placeholder:text-foreground-muted flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",a),...r})]})});Z.displayName=y.mY.Input.displayName;let V=s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(y.mY.List,{ref:t,className:(0,c.cn)("max-h-[300px] overflow-y-auto overflow-x-hidden",a),...r})});V.displayName=y.mY.List.displayName;let D=s.forwardRef((e,t)=>(0,n.jsx)(y.mY.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));D.displayName=y.mY.Empty.displayName;let E=s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(y.mY.Group,{ref:t,className:(0,c.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",a),...r})});E.displayName=y.mY.Group.displayName;let T=s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(y.mY.Separator,{ref:t,className:(0,c.cn)("-mx-1 h-px bg-border",a),...r})});T.displayName=y.mY.Separator.displayName;let F=s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(y.mY.Item,{ref:t,className:(0,c.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...r})});function L(e){let{...t}=e,a=(0,f.useRouter)(),[r,o]=s.useState(!1),{setTheme:i}=(0,j.F)();s.useEffect(()=>{let e=e=>{"k"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),o(e=>!e))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);let l=e=>{e.startsWith("http")?window.open(e,"_blank"):a.push(e)},u=s.useCallback(e=>{o(!1),e()},[]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(m.z,{variant:"ghost",className:(0,c.cn)("relative h-9 w-full justify-start rounded-[0.5rem] text-sm text-muted-foreground sm:pr-12 md:w-32 lg:w-64"),onClick:()=>o(!0),...t,children:[(0,n.jsx)("span",{className:"inline-flex",children:"Search..."}),(0,n.jsxs)("kbd",{className:"pointer-events-none absolute right-1.5 top-1.5 hidden h-6 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 sm:flex",children:[(0,n.jsx)("span",{className:"text-xs",children:"â"}),"K"]})]}),(0,n.jsxs)(Y,{open:r,onOpenChange:o,children:[(0,n.jsx)(Z,{placeholder:"Type a command or search..."}),(0,n.jsxs)(V,{children:[(0,n.jsx)(D,{children:"No results found."}),(0,n.jsx)(E,{heading:"Content",children:N.map(e=>e.content?e.content.map(e=>(0,n.jsxs)(F,{onSelect:()=>{u(()=>l(e.href))},children:[(0,n.jsx)(h.Z,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:e.title})]},e.title.trim())):(0,n.jsxs)(F,{onSelect:()=>{u(()=>l(e.href))},children:[(0,n.jsx)(h.Z,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:e.title})]},e.title.trim()))}),(0,n.jsx)(T,{}),(0,n.jsxs)(E,{heading:"Social",children:[(0,n.jsxs)(F,{onSelect:()=>{u(()=>{var e;return l(null===(e=d.r4.socialProfiles.find(e=>"twitter"===e.name))||void 0===e?void 0:e.link)})},children:[(0,n.jsx)(p.Z,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Twitter"})]}),(0,n.jsxs)(F,{onSelect:()=>{u(()=>{var e;return l(null===(e=d.r4.socialProfiles.find(e=>"github"===e.name))||void 0===e?void 0:e.link)})},children:[(0,n.jsx)(x.Z,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Github"})]})]}),(0,n.jsx)(T,{}),(0,n.jsxs)(E,{heading:"Theme",children:[(0,n.jsxs)(F,{onSelect:()=>u(()=>i("light")),children:[(0,n.jsx)(g.Z,{className:"mr-2 h-4 w-4"}),"Light"]}),(0,n.jsxs)(F,{onSelect:()=>u(()=>i("dark")),children:[(0,n.jsx)(v.Z,{className:"mr-2 h-4 w-4"}),"Dark"]}
1),(0,n.jsxs)(F,{onSelect:()=>u(()=>i("system")),children:[(0,n.jsx)(b.Z,{className:"mr-2 h-4 w-4"}),"System"]})]})]})]})]})}F.displayName=y.mY.Item.displayName;var I=a(9964),O=a(7493);let W=s.forwardRef((e,t)=>{let{className:a,children:r,...s}=e;return(0,n.jsxs)(O.fC,{ref:t,className:(0,c.cn)("relative overflow-hidden",a),...s,children:[(0,n.jsx)(O.l_,{className:"h-full w-full rounded-[inherit]",children:r}),(0,n.jsx)(A,{}),(0,n.jsx)(O.Ns,{})]})});W.displayName=O.fC.displayName;let A=s.forwardRef((e,t)=>{let{className:a,orientation:r="vertical",...s}=e;return(0,n.jsx)(O.gb,{ref:t,orientation:r,className:(0,c.cn)("flex touch-none select-none transition-colors","vertical"===r&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===r&&"h-2.5 border-t border-t-transparent p-[1px]",a),...s,children:(0,n.jsx)(O.q4,{className:"relative flex-1 rounded-full bg-border"})})});A.displayName=O.gb.displayName;var H=a(8898);let G=k.fC,U=k.xz;k.x8;let B=e=>{let{...t}=e;return(0,n.jsx)(k.h_,{...t})};B.displayName=k.h_.displayName;let M=s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(k.aV,{className:(0,c.cn)("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...r,ref:t})});M.displayName=k.aV.displayName;let q=(0,H.j)("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),K=s.forwardRef((e,t)=>{let{side:a="right",className:r,children:s,...o}=e;return(0,n.jsxs)(B,{children:[(0,n.jsx)(M,{}),(0,n.jsxs)(k.VY,{ref:t,className:(0,c.cn)(q({side:a}),r),...o,children:[s,(0,n.jsxs)(k.x8,{className:"absolute right-4 top-4 roun
1ded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,n.jsx)(_.Z,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});function $(){let[e,t]=s.useState(!1);return(0,n.jsxs)(G,{open:e,onOpenChange:t,children:[(0,n.jsx)(U,{asChild:!0,children:(0,n.jsxs)(m.z,{variant:"ghost",className:"mr-2 px-0 hover:bg-transparent focus-visible:bg-transparent focus-visible:ring-0 focus-visible:ring-offset-0 md:hidden",children:[(0,n.jsx)(I.Z,{className:"h-6 w-6"}),(0,n.jsx)("span",{className:"sr-only",children:"Toggle Menu"})]})}),(0,n.jsxs)(K,{side:"bottom",className:"pr-0",children:[(0,n.jsx)(J,{href:"/",className:"flex items-center",onOpenChange:t,"aria-label":"Go to Home",children:(0,n.jsx)("span",{className:"font-bold",children:d.ZP.title.default})}),(0,n.jsx)(W,{className:"my-4 max-h-96 overflow-y-scroll pb-10",children:(0,n.jsx)("div",{className:"flex flex-col space-y-3",children:null==N?void 0:N.map(e=>e.content?(0,n.jsxs)("div",{className:"order-1 mt-3 flex flex-col space-y-3",children:[(0,n.jsx)("p",{className:"font-bold",children:e.title}),e.content.map(e=>(0,n.jsx)(J,{href:e.href,onOpenChange:t,children:e.title},e.href))]},e.title.trim()):(0,n.jsx)(J,{href:e.href,onOpenChange:t,children:e.title},e.href))})})]})]})}function J(e){let{href:t,onOpenChange:a,className:r,children:s,...o}=e,l=(0,f.usePathname)();return t.toString().startsWith("http")?(0,n.jsx)("a",{href:t.toString(),onClick:()=>{null==a||a(!1)},target:"_blank",rel:"noopener noreferrer",className:(0,c.cn)(r),...o,children:s}):(0,n.jsx)(i.default,{href:t,onClick:()=>{null==a||a(!1)},className:(0,c.cn)(r,"/"!==t.toString()&&l.substring(2).startsWith(t.toString().substring(2))&&"font-semibold text-accent-foreground"),...o,children:s})}function Q(){let[e,t]=(0,s.useState)(!1),{setTheme:a,theme:r}=(0,j.F)();return((0,s.useEffect)(()=>{t(!0)},[]),e)?(0,n.jsxs)("button",{onClick:()=>a("light"===r?"dark":"light"),className:"group hidden h-6 w-6 items-center justify-center rounded-md border text-muted-foreground hover:bg-accent hover:text-accent-foreground sm:flex",children:[(0,n.jsx)("span",{className:"sr-only",children:"Toggle dark/light mode"}),"dark"!==r?(0,n.jsx)(v.Z,{className:"h-4 w-4 duration-300 group-hover:rotate-[360deg]"}):(0,n.jsx)(g.Z,{className:"h-4 w-4 duration-300 group-hover:rotate-180"})]}):null}K.displayName=k.VY.displayName,s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(k.Dx,{ref:t,className:(0,c.cn)("text-lg font-semibold text-foreground",a),...r})}).displayName=k.Dx.displayName,s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(k.dk,{ref:t,className:(0,c.cn)("text-sm text-muted-foreground",a),...r})}).displayName=k.dk.displayName;var X=a(4437),ee=a(4492);let et=s.forwardRef((e,t)=>{let{className:a,children:r,...s}=e;return(0,n.jsxs)(X.fC,{ref:t,className:(0,c.cn)("relative z-10 flex flex-1 items-center justify-center",a),...s,children:[r,(0,n.jsx)(el,{})]})});et.displayName=X.fC.displayName;let ea=s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(X.aV,{ref:t,className:(0,c.cn)("group flex flex-1 list-none items-center justify-center space-x-1",a),...r})});ea.displayName=X.aV.displayName;let er=X.ck,en=(0,H.j)("inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus:outline-none focus:bg-accent focus:text-accent-foreground disabled:opacity-50 disabled:pointer-events-none hover:bg-accent hover:text-accent-foreground data-[state=open]:bg-accent/50 data-[active]:bg-accent/50 h-10 py-2 px-4 group w-max"),es=s.forwardRef((e,t)=>{let{className:a,children:r,...s}=e;return(0,n.jsxs)(X.xz,{ref:t,className:(0,c.cn)(en(),"group",a),...s,children:[r," ",(0,n.jsx)(ee.Z,{className:"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180","aria-hidden":"true"})]})});es.displayName=X.xz.displayName;let eo=s.forwardRef((e,t)=>{let{className:a,...r}=e;
1return(0,n.jsx)(X.VY,{ref:t,className:(0,c.cn)("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",a),...r})});eo.displayName=X.VY.displayName;let ei=X.rU,el=s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)("div",{className:(0,c.cn)("absolute left-0 top-full flex justify-center"),children:(0,n.jsx)(X.l_,{className:(0,c.cn)("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",a),ref:t,...r})})});function ed(){return(0,n.jsx)(et,{children:(0,n.jsx)(ea,{children:null==N?void 0:N.map(e=>{var t;return(0,n.jsx)(er,{children:e.content?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(es,{children:e.title}),(0,n.jsx)(eo,{children:(0,n.jsx)("ul",{className:"grid w-[400px] gap-3 p-4 md:w-[500px] md:grid-cols-2 lg:w-[600px]",children:e.content.map(e=>(0,n.jsx)(ec,{title:e.title,href:e.href,target:e.href.startsWith("http")?"_blank":"_self",children:e.description},e.href.trim()))})})]}):(0,n.jsx)(i.default,{href:e.href,legacyBehavior:!0,passHref:!0,children:(0,n.jsx)(ei,{target:(null==e?void 0:null===(t=e.href)||void 0===t?void 0:t.startsWith("http"))?"_blank":"_self",className:en(),children:e.title})})},e.title.trim())})})})}el.displayName=X.l_.displayName,s.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)(X.z$,{ref:t,className:(0,c.cn)("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",a),...r,children:(0,n.jsx)("div",{className:"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"})})}).displayName=X.z$.displayName;let ec=s.forwardRef((e,t)=>{let{className:a,title:r,children:s,...o}=e;return(0,n.jsx)("li",{children:(0,n.jsx)(ei,{asChild:!0,children:(0,n.jsxs)(i.default,{ref:t,className:(0,c.cn)("block select-none space-y-1 rounded-md p-3 leading-none no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground",a),...o,children:[(0,n.jsx)("div",{className:"text-sm font-medium leading-none",children:r}),(0,n.jsx)("p",{className:"line-clamp-2 text-sm leading-snug text-muted-foreground",children:s})]})})})});ec.displayName="ListItem";let em=(0,H.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function eu(e){let{className:t,variant:a,...r}=e;return(0,n.jsx)("div",{className:(0,c.cn)(em({variant:a}),t),...r})}function ef(){return(0,n.jsxs)(eu,{variant:"outline",className:"max-w-full border-accent-foreground bg-transparent text-primary backdrop-blur-md transition-colors duration-150 hover:bg-accent-foreground hover:text-white",children:[(0,n.jsx)("div",{className:"mr-1 flex aspect-square h-[14px] w-[14px] animate-pulse rounded-full bg-green-500/50 dark:bg-green-400/50 sm:m-0 md:mr-1","aria-hidden":"true",children:(0,n.jsx)("div",{className:"m-auto h-2 w-2 rounded-full bg-green-500 dark:bg-green-400"})}),(0,n.jsx)("span",{className:"inline whitespace-nowrap sm:hidden md:inline",children:"I'm available for work"})]})}
1function eh(){let[e,t]=(0,s.useState)(0),[a,r]=(0,s.useState)(!0),m=(0,s.useCallback)(()=>(0,c.Ds)(()=>{let a=window.scrollY;e>a&&e-a>70||a<10?r(!0):r(!1),t(a)},100),[e,t,r]);return(0,s.useEffect)(()=>(window.addEventListener("scroll",m),()=>window.removeEventListener("scroll",m)),[e,a,m]),(0,n.jsxs)(n.Fragment,{children:[(null===d.ZP||void 0===d.ZP?void 0:d.ZP.activeAnnouncement)&&(0,n.jsxs)(u,{buttonText:d.ZP.announcement.buttonText,link:d.ZP.announcement.link,children:[(0,n.jsx)(l.Z,{className:"mr-2 h-5 w-5"}),(0,n.jsx)("strong",{className:"mr-1",children:"Launching on DevHunt!"})," If you like this template, please support me by upvoting on DevHunt from Aug 21-27."]}),(0,n.jsxs)("header",{className:(0,c.cn)("fixed inset-x-0 -bottom-32 z-20 mx-auto mb-4 px-4 transition-all duration-1000 animate-out sm:top-0 sm:h-16 sm:px-0 sm:transition-none",a&&"bottom-0 animate-in",d.ZP.activeAnnouncement&&"sm:top-28 md:top-20 lg:top-12"),children:[d.r4.availableForWork&&(0,n.jsx)("div",{className:"mx-auto mb-2 text-center sm:hidden",children:(0,n.jsx)(i.default,{href:"/now","aria-label":"Go to Now page",children:(0,n.jsx)(ef,{})})}),(0,n.jsx)("div",{className:"flex items-center gap-2 rounded-full border-b border-foreground
1/25 bg-background/95 px-3 py-2 shadow-md supports-[backdrop-filter]:bg-background/60 supports-[backdrop-filter]:bg-clip-padding supports-[backdrop-filter]:backdrop-blur sm:justify-between sm:rounded-none sm:px-3",children:(0,n.jsxs)("div",{className:"container mx-auto flex max-w-6xl",children:[(0,n.jsxs)("div",{className:"flex items-center justify-start",children:[(0,n.jsx)("div",{className:"group aspect-square h-auto w-10 overflow-hidden rounded-full border border-black",children:(0,n.jsx)(i.default,{href:"/","aria-label":"Go to Home",children:(0,n.jsx)(o.default,{className:"duration-300 group-hover:scale-110",width:40,height:40,src:"/avatar.png",alt:d.r4.name})})}),d.r4.availableForWork&&(0,n.jsx)(i.default,{href:"/now","aria-label":"Go to Now page",className:"ml-2 hidden sm:block",children:(0,n.jsx)(ef,{})})]}),(0,n.jsxs)("div",{className:"order-3 sm:order-2 sm:ml-auto",children:[(0,n.jsx)("nav",{className:"ml-auto hidden space-x-6 text-sm font-medium sm:block sm:w-full",children:(0,n.jsx)(ed,{})}),(0,n.jsx)("nav",{className:"sm:hidden",children:(0,n.jsx)($,{})})]}),(0,n.jsxs)("div",{className:"order-2 flex w-full items-center gap-2 sm:order-3 sm:w-fit",children:[(0,n.jsx)(L,{}),(0,n.jsx)(Q,{})]})]})})]})]})}},9083:function(e,t,a){"use strict";a.d(t,{z:function(){return d}});var r=a(3890),n=a(8496),s=a(7336),o=a(8898),i=a(1597);let l=(0,o.j)("inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"underline-offset-4 hover:underline text-primary"},size:{default:"h-10 py-2 px-4",sm:"h-9 px-3 rounded-md",lg:"h-11 px-8 rounded-md",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),d=n.forwardRef((e,t)=>{let{className:a,variant:n,size:o,asChild:d=!1,...c}=e,m=d?s.g7:"button";return(0,r.jsx)(m,{className:(0,i.cn)(l({variant:n,size:o,className:a})),ref:t,...c})});d.displayName="Button"},1343:function(e,t,a){"use strict";a.d(t,{ZP:function(){return o},r4:function(){return r}}),a(2555).env.VERCEL_URL;let r={name:"Amy Shields",handle:"@amyshieldsfake",socialProfiles:[{name:"github",link:"https://github.com/thedevdavid"},{name:"instagram",link:"https://instagram.com/thedevdavid"},{name:"linkedin",link:"https://linkedin.com/in/thedevdavid"},{name:"mastodon",link:"https://mastodon.social/@thedevdavid"},{name:"threads",link:"https://threads.net/@thedevdavid"},{name:"tiktok",link:"https://tiktok.com/@thedevdavid"},{name:"x",link:"https://twitter.com/thedevdavid"},{name:"youtube",link:"https://youtube.com/@thedevdavid"}],email:"[email protected]",website:"https://nextjs.org",jobTitle:"Frontend Engineer & UI Designer",company:"Unicorns & Co.",availableForWork:!0,location:{city:"Los Angeles",media:"/losangeles.jpg"}},n="".concat(r.name,"'s Blog"),s="I'm ".concat(r.name,". Building hackinâ cool digital products around the world \uD83C\uDF34.");var o={title:{template:"%s | ".concat(n),default:n},description:s,siteRepo:"https://github.com/thedevdavid/digital-garden",newsletterProvider:"mailerlite",newsletterUrl:"https://developreneur.davidlevai.com",analyticsProvider:"umami",defaultTheme:"system",activeAnnouncement:!0,announcement:{buttonText:"Support on DevHunt â",link:"https://devhunt.org/tool/modern-developer-blog-template-digital-garden-starter"},postsPerPage:10,postsOnHomePage:8,projectsOnHomePage:4}},1597:function(e,t,a){"use strict";a.d(t,{Ds:function(){return o},cn:function(){return s}});var r=a(2675),n=a(4380);function s(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,n.m6)((0,r.W)(t))}function o(e,t,a){let r;return function(){for(var n=arguments.length,s=Array(n),o=0;o<n;o++)s[o]=arguments[o];let i=this,l=a&&!r;clearTimeout(r),r=setTimeout(function(){r=null,a||e.apply(i,s)},t),l&&e.apply(i,s)}}a(1343)}
1},function(e){e.O(0,[750,498,633,960,833,588,684,649,945,744],function(){return e(e.s=5053)}),_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.