(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{4396:(e,t,o)=>{Promise.resolve().then(o.bind(o,9428))},8805:()=>{},9428:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>v});var i=o(5155),a=o(2115),s=o(5695);o(8805),o(4393),o(2015);var n=o(9848),l=o(4102);function c(e){let{src:t,alt:o="",className:s="",size:n="full",isModal:l=!1,loading:c="lazy",onLoad:r,onError:d,onClick:m,style:u,onContextMenu:h,title:p,"aria-label":b,objectFit:g="contain",autoPlay:v=!0,loop:x=!0,muted:j=!0,controls:f=!1,...w}=e,[y,N]=(0,a.useState)(""),[k,C]=(0,a.useState)(!1),[W,M]=(0,a.useState)(!1),[F,E]=(0,a.useState)(!0),z=(0,a.useRef)(null);(0,a.useEffect)(()=>{l||"full"===n?N(t):N(function(e){if(!e||e.startsWith("data:")||e.startsWith("http"))return e;let t=(e.startsWith("/")?e.slice(1):e).split("/"),o=t[t.length-1].replace(/\.[^/.]+$/,"");return"/thumbnails/".concat(o,".webm")}(t)),C(!1),M(!1),E(!0)},[t,n,l]);let S=()=>{M(!0),E(!1),r&&r()},P=()=>{if(E(!1),k||l||"full"===n)d&&d();else{C(!0);let e=(t.startsWith("/")?t.slice(1):t).split("/"),o=e[e.length-1].replace(/\.[^/.]+$/,"");N("/thumbnails/".concat(o,".webp")),E(!0)}},D=()=>{let e={};switch(g){case"cover":default:e.objectFit="cover";break;case"contain":e.objectFit="contain";break;case"align-top":e.objectFit="cover",e.objectPosition="top center";break;case"align-bottom":e.objectFit="cover",e.objectPosition="bottom center";break;case"align-left":e.objectFit="cover",e.objectPosition="left center";break;case"align-right":e.objectFit="cover",e.objectPosition="right center";break;case"align-centre":e.objectFit="cover",e.objectPosition="center center"}return e};if(!y||""===y)return null;let I=F&&"thumbnail"===n;return k&&y.endsWith(".webp")?(0,i.jsxs)("div",{className:"optimized-video-container",style:{position:"relative",width:"100%",height:"100%"},children:[I&&(0,i.jsx)("div",{className:"image-loading-overlay",children:(0,i.jsx)("div",{className:"image-throbber"})}),(0,i.jsx)("img",{src:y,alt:o,className:"optimized-video ".concat(s," ").concat(W?"loaded":"loading"),loading:c,onLoad:S,onError:P,onClick:m,style:{...D(),...u,opacity:+!!W,transition:"opacity 0.3s ease-in-out"},onContextMenu:h,title:p,"aria-label":b,...w})]}):(0,i.jsxs)("div",{className:"optimized-video-container",style:{position:"relative",width:"100%",height:"100%"},children:[I&&(0,i.jsx)("div",{className:"image-loading-overlay",children:(0,i.jsx)("div",{className:"image-throbber"})}),(0,i.jsx)("video",{ref:z,src:y,className:"optimized-video ".concat(s," ").concat(W?"loaded":"loading"),onLoadedData:S,onError:P,onClick:m,style:{...D(),...u,opacity:+!!W,transition:"opacity 0.3s ease-in-out",width:"100%",height:"100%",borderRadius:"7px"},onContextMenu:h,title:p,"aria-label":b,autoPlay:v&&!l,loop:x,muted:j,controls:f||l,playsInline:!0,...w})]})}function r(e){let{src:t,alt:o,className:s="",size:n="full",isModal:r=!1,loading:d="lazy",onLoad:m,onError:u,onClick:h,style:p,draggable:b=!1,onContextMenu:g,title:v,"aria-label":x,objectFit:j="contain",...f}=e;return(0,a.useMemo)(()=>{let e=t.toLowerCase();return e.includes(".mp4")||e.includes(".webm")||e.includes(".mov")||e.includes(".avi")},[t])?(0,i.jsx)(c,{src:t,alt:o,className:s,size:n,isModal:r,loading:d,onLoad:m,onError:u,onClick:h,style:p,onContextMenu:g,title:v,"aria-label":x,objectFit:j,autoPlay:!r,loop:!r,muted:!0,controls:r,...f}):(0,i.jsx)(l.Ay,{src:t,alt:o,className:s,size:n,isModal:r,loading:d,onLoad:m,onError:u,onClick:h,style:p,draggable:b,onContextMenu:g,title:v,"aria-label":x,objectFit:j,...f})}var d=o(3395);let m=()=>Object.keys(d.m).filter(e=>{let t=e.startsWith("/images/")&&(e.endsWith(".webp")||e.endsWith(".jpg")||e.endsWith(".png")||e.endsWith(".gif")),o=e.startsWith("/videos/")&&(e.endsWith(".mp4")||e.endsWith(".webm")||e.endsWith(".mov")||e.endsWith(".avi"));return t||o}),u=e=>e.startsWith("/videos/")&&(e.endsWith(".mp4")||e.endsWith(".webm")||e.endsWith(".mov")||e.endsWith(".avi")),h=e=>{let t=[...e];for(let e=t.length-1;e>0;e--){let o=Math.floor(Math.random()*(e+1));[t[e],t[o]]=[t[o],t[e]]}return t},p=(e,t,o)=>{let i=h(e),a=[],s=0,n=t*o*2,l=[];for(;l.length{let{isOpen:t,onClose:o,image:l}=e,c=(0,s.useRouter)();if(!t||!l)return null;let m=d.m[l]||{title:"Media Information",description:"No specific information is available for this item."},h=e=>{e.preventDefault()};return(0,i.jsx)("div",{className:"modal-overlay",onClick:o,onContextMenu:h,onKeyDown:e=>{(e.ctrlKey||e.metaKey)&&("s"===e.key||"p"===e.key||"c"===e.key)&&e.preventDefault()},tabIndex:0,children:(0,i.jsxs)("div",{className:"modal-content ".concat(m.redirectUrl?"has-redirect-button":""),onClick:e=>e.stopPropagation(),onContextMenu:h,children:[(0,i.jsx)("button",{className:"modal-close",onClick:o,"aria-label":"Close",children:(0,i.jsx)(n.WQq,{})}),(0,i.jsx)("div",{className:"modal-media-container",children:(0,i.jsx)("div",{style:{position:"relative",height:"100%",display:"flex",alignItems:"center"},children:u(l)?(0,i.jsx)("video",{src:l,controls:!0,className:"modal-media modal-video",style:{maxWidth:"100%",maxHeight:"100%",objectFit:"contain"},onClick:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),onMouseUp:e=>e.stopPropagation()}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r,{src:l,alt:m.title,size:"full",isModal:!0,className:"modal-media modal-image protected-image",draggable:!1,onContextMenu:h,objectFit:m.objectFit||"contain"}),(0,i.jsx)("div",{className:"modal-protection"})]})})}),(0,i.jsxs)("div",{className:"modal-info-container",children:[m.type&&(0,i.jsx)("p",{className:"modal-type",children:m.type}),(0,i.jsx)("h2",{className:"modal-title",children:m.title}),(0,i.jsx)("div",{className:"modal-description",children:m.description.split("\n").map((e,t)=>(0,i.jsxs)(a.Fragment,{children:[e,t{o(),c.push(m.redirectUrl)},"aria-label":"Visit related page",children:"Visit Page"})]})})},g={showOnMobile:!0,platforms:[{name:"Reddit",icon:"/images/icons/websites/reddit-64px.png",url:"https://reddit.com/r/liliovali",color:"#FF4500"},{name:"Discord",icon:"/images/icons/websites/discord-64px.png",url:"https://discordapp.com/channels/@me/liliovali/",color:"#5865F2"},{name:"Instagram",icon:"/images/icons/websites/instagram-64px.png",url:"https://instagram.com/liliovali",color:"#E4405F"},{name:"YouTube",icon:"/images/icons/websites/youtube-64px.png",url:"https://youtube.com/@liliovali",color:"#FF0000"}]};function v(){let[e,t]=(0,a.useState)([]),[o,s]=(0,a.useState)(!1),[l,c]=(0,a.useState)(null),[u,h]=(0,a.useState)(120),[v,x]=(0,a.useState)(!1),[j,f]=(0,a.useState)(!1),[w,y]=(0,a.useState)(!1),[N,k]=(0,a.useState)(!1);(0,a.useEffect)(()=>{t(p(m(),5,30))},[]),(0,a.useEffect)(()=>{e.length>0&&!N&&(k(!0),setTimeout(()=>{var t;let o=document.querySelectorAll(".grid-item"),i=(null==(t=e[0])?void 0:t.length)||0;o.forEach((e,t)=>{let o=Math.floor(t/(2*i));setTimeout(()=>{e.style.animation="cascadeBounceIn 0.6s ease-out forwards",setTimeout(()=>{e.style.animation="",e.style.transform="scale(1)",e.style.opacity="1"},600)},20*(o+t%(2*i)+o*(window.innerWidth<=768?.5:-2)))})},300))},[e,N]),(0,a.useEffect)(()=>{let e=()=>{f(window.innerWidth<=768)};e(),window.addEventListener("resize",e);let t=setTimeout(()=>{"true"!==sessionStorage.getItem("constructionNoticeDismissed")&&x(!0)},100);return()=>{window.removeEventListener("resize",e),clearTimeout(t)}},[]),(0,a.useEffect)(()=>{let e=()=>{let e=window.innerHeight;window.innerWidth<=768?h(Math.max(Math.floor((e-120-20)/5),50)):h(Math.max(Math.floor((e-60-40)/5),80))};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let C=e=>{c(e),s(!0)},W=()=>{y(!0),setTimeout(()=>{x(!1),y(!1),sessionStorage.setItem("constructionNoticeDismissed","true")},j?250:300)};return(0,i.jsxs)("main",{className:"new-home-main",children:[v&&!j&&(0,i.jsxs)("div",{className:"construction-notice-desktop ".concat(w?"closing":""),children:[(0,i.jsx)("button",{className:"construction-close-btn",onClick:W,"aria-label":"Close construction notice",children:(0,i.jsx)(n.WQq,{})}),(0,i.jsx)("h3",{className:"construction-title",children:"Under Construction"}),(0,i.jsx)("p",{className:"construction-body",children:"This page is still in development ! \xa0\xa0I'm working hard to add my portfolio of creative works, and am always working on new projects too ! \xa0\xa0Check back occasionally to see what I've been up to !"})]}),v&&j&&(0,i.jsx)("div",{className:"construction-notice-mobile ".concat(w?"closing":""),children:(0,i.jsxs)("div",{className:"construction-content-mobile",children:[(0,i.jsxs)("div",{className:"construction-text-mobile",children:[(0,i.jsx)("h4",{className:"construction-title-mobile",children:"Under Construction"}),(0,i.jsx)("p",{className:"construction-body-mobile",children:"Check back soon for new content!"})]}),(0,i.jsx)("button",{className:"construction-close-btn-mobile",onClick:W,"aria-label":"Close construction notice",children:(0,i.jsx)(n.WQq,{})})]})}),(0,i.jsx)("div",{className:"scrolling-grid-container",children:(0,i.jsx)("div",{className:"scrolling-grid",children:e.map((e,t)=>(0,i.jsx)("div",{className:"grid-row",style:{height:"".concat(u,"px")},children:(0,i.jsx)("div",{className:"grid-row-content",style:{"--animation-duration":"120s","--animation-delay":"".concat(-(24*t),"s")},children:[...e,...e].map((e,o)=>{var a,s;return(0,i.jsx)("div",{className:"grid-item",style:{width:"".concat(u,"px"),height:"".concat(u,"px")},onClick:()=>C(e),children:(0,i.jsx)(r,{src:e,alt:(null==(a=d.m[e])?void 0:a.title)||"Gallery media",className:"grid-image",size:"thumbnail",loading:t<2?"eager":"lazy",draggable:!1,onContextMenu:e=>e.preventDefault(),objectFit:(null==(s=d.m[e])?void 0:s.objectFit)||"cover"})},"".concat(t,"-").concat(o))})})},t))})}),(0,i.jsxs)("a",{href:"https://ko-fi.com/liliovali#",target:"_blank",rel:"noopener noreferrer",className:"kofi-button ".concat(v&&j?"kofi-button-elevated":""),"aria-label":"Support my work on Ko-fi",children:[(0,i.jsx)(r,{src:"/images/icons/websites/ko-fi_logo.webp",alt:"Ko-fi logo",className:"kofi-logo",size:"thumbnail",loading:"eager",draggable:!1,onContextMenu:e=>e.preventDefault(),objectFit:"contain"}),(0,i.jsx)("span",{className:"kofi-text",children:"support my work !"})]}),(!j||g.showOnMobile)&&(0,i.jsx)("div",{className:"social-buttons-container ".concat(v&&j?"social-buttons-elevated":""),children:g.platforms.map((e,t)=>(0,i.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"social-button",style:{"--platform-color":e.color,"--button-index":t},"aria-label":"Visit ".concat(e.name),children:(0,i.jsx)(r,{src:e.icon,alt:"".concat(e.name," logo"),className:"social-logo",size:"thumbnail",loading:"eager",draggable:!1,onContextMenu:e=>e.preventDefault(),objectFit:"contain"})},e.name))}),(0,i.jsx)(b,{isOpen:o,onClose:()=>{s(!1),c(null)},image:l})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[692,405,270,640,449,441,684,358],()=>t(4396)),_N_E=e.O()}]);