diff --git a/404.html b/404.html index a860948b..d274fffe 100644 --- a/404.html +++ b/404.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/404/index.html b/404/index.html index d53251bc..2496aebb 100644 --- a/404/index.html +++ b/404/index.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/_gatsby/slices/_gatsby-scripts-1.html b/_gatsby/slices/_gatsby-scripts-1.html index 67cc2f46..45460391 100644 --- a/_gatsby/slices/_gatsby-scripts-1.html +++ b/_gatsby/slices/_gatsby-scripts-1.html @@ -2,6 +2,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/6689ffd5-2f85-591d-9c08-c4ee78d10a23/index.html b/blog/6689ffd5-2f85-591d-9c08-c4ee78d10a23/index.html index 0fe4c2c4..5aedd5b7 100644 --- a/blog/6689ffd5-2f85-591d-9c08-c4ee78d10a23/index.html +++ b/blog/6689ffd5-2f85-591d-9c08-c4ee78d10a23/index.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/6ab9aa62-087e-5384-9ea4-f33ef27f2ec2/index.html b/blog/6ab9aa62-087e-5384-9ea4-f33ef27f2ec2/index.html index d11c43c5..d1622b80 100644 --- a/blog/6ab9aa62-087e-5384-9ea4-f33ef27f2ec2/index.html +++ b/blog/6ab9aa62-087e-5384-9ea4-f33ef27f2ec2/index.html @@ -141,6 +141,6 @@

Part 2

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/a930c9c2-79fa-5b34-9dd9-6451ccc28467/index.html b/blog/a930c9c2-79fa-5b34-9dd9-6451ccc28467/index.html index 035c5215..c57300c0 100644 --- a/blog/a930c9c2-79fa-5b34-9dd9-6451ccc28467/index.html +++ b/blog/a930c9c2-79fa-5b34-9dd9-6451ccc28467/index.html @@ -117,6 +117,6 @@

Part 2

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/b2ffcc60-69e6-5663-80d7-d9c1b58e7267/index.html b/blog/b2ffcc60-69e6-5663-80d7-d9c1b58e7267/index.html index d90df1a0..edbfe722 100644 --- a/blog/b2ffcc60-69e6-5663-80d7-d9c1b58e7267/index.html +++ b/blog/b2ffcc60-69e6-5663-80d7-d9c1b58e7267/index.html @@ -117,6 +117,6 @@

Part 2

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/d718ed05-a72f-5791-afb2-3dd8e56285c5/index.html b/blog/d718ed05-a72f-5791-afb2-3dd8e56285c5/index.html index 4b6a9430..51c07b18 100644 --- a/blog/d718ed05-a72f-5791-afb2-3dd8e56285c5/index.html +++ b/blog/d718ed05-a72f-5791-afb2-3dd8e56285c5/index.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/f0770dd2-9b48-5099-9f6c-cdb6ca213648/index.html b/blog/f0770dd2-9b48-5099-9f6c-cdb6ca213648/index.html index be5878b0..d3e68318 100644 --- a/blog/f0770dd2-9b48-5099-9f6c-cdb6ca213648/index.html +++ b/blog/f0770dd2-9b48-5099-9f6c-cdb6ca213648/index.html @@ -117,6 +117,6 @@

One more list:

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index fc47a8a4..7ab430b5 100644 --- a/blog/index.html +++ b/blog/index.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/page/1/index.html b/blog/page/1/index.html index 370744b5..7ada8bdf 100644 --- a/blog/page/1/index.html +++ b/blog/page/1/index.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/page/2/index.html b/blog/page/2/index.html index 27e24431..691ff97e 100644 --- a/blog/page/2/index.html +++ b/blog/page/2/index.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/chunk-map.json b/chunk-map.json index 11cd294a..a03a926f 100644 --- a/chunk-map.json +++ b/chunk-map.json @@ -1 +1 @@ -{"app":["/app-0be32afa8722358651ed.js"],"component---src-pages-404-tsx":["/component---src-pages-404-tsx-985104a1d001afc81f25.js"],"component---src-pages-index-tsx":["/component---src-pages-index-tsx-8f11132d55ccda45c143.js"],"component---src-pages-services-tsx":["/component---src-pages-services-tsx-ad089d9c65e0d5421453.js"],"component---src-pages-templates-blog-tsx":["/component---src-pages-templates-blog-tsx-3e928f3e8cb34f3b7e4c.js"],"component---src-pages-templates-post-tsx":["/component---src-pages-templates-post-tsx-f2b5783ab45f7133a802.js"],"component---src-pages-templates-project-tsx":["/component---src-pages-templates-project-tsx-808e529df29d8bdea686.js"],"component---src-pages-templates-projects-tsx":["/component---src-pages-templates-projects-tsx-bc2345c3e66bde0622dc.js"],"component---src-pages-workflow-tsx":["/component---src-pages-workflow-tsx-66c85385336912fb7c37.js"]} \ No newline at end of file +{"app":["/app-0be32afa8722358651ed.js"],"component---src-pages-404-tsx":["/component---src-pages-404-tsx-985104a1d001afc81f25.js"],"component---src-pages-index-tsx":["/component---src-pages-index-tsx-51c4d6c78f0455be8e64.js"],"component---src-pages-services-tsx":["/component---src-pages-services-tsx-004b5c906bc78a1f96ae.js"],"component---src-pages-templates-blog-tsx":["/component---src-pages-templates-blog-tsx-2739ab3251f03f4eb07f.js"],"component---src-pages-templates-post-tsx":["/component---src-pages-templates-post-tsx-7f7e2c93fcb41ce4f82f.js"],"component---src-pages-templates-project-tsx":["/component---src-pages-templates-project-tsx-808e529df29d8bdea686.js"],"component---src-pages-templates-projects-tsx":["/component---src-pages-templates-projects-tsx-75dd824378dedee3ee1b.js"],"component---src-pages-workflow-tsx":["/component---src-pages-workflow-tsx-71ff73d9d1233d63de8e.js"]} \ No newline at end of file diff --git a/component---src-pages-index-tsx-51c4d6c78f0455be8e64.js b/component---src-pages-index-tsx-51c4d6c78f0455be8e64.js new file mode 100644 index 00000000..5a84f375 --- /dev/null +++ b/component---src-pages-index-tsx-51c4d6c78f0455be8e64.js @@ -0,0 +1,2 @@ +(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[691],{1929:function(e,t,l){"use strict";l.d(t,{Z:function(){return c}});var n=l(7294),a=l(4471),r=l.n(a),s=l(1164);var i=e=>{let{className:t}=e;return n.createElement("div",{className:"flex justify-center items-center h-full w-full "+t},n.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),n.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var o=()=>{const{0:e,1:t}=(0,n.useState)(!1),a=(0,n.useRef)(!0),r=(0,n.useRef)(null);return(0,n.useEffect)((()=>{if(!a.current||!r.current||"undefined"==typeof window)return;a.current=!1;const e=new Worker(new URL(l.p+l.u(475),l.b),{type:void 0});e.onmessage=e=>{let{data:l}=e;"ready"===l&&t(!0)};const n=r.current;n.width=n.clientWidth,n.height=n.clientHeight;const s=n.transferControlToOffscreen();e.postMessage({canvas:s},[s]);const i=()=>{e.postMessage({width:n.clientWidth,height:n.clientHeight})};window.addEventListener("resize",i);const o=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};n.addEventListener("wheel",o);const c=t=>{e.postMessage({x:t.movementX,y:t.movementY})};n.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",c),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",c)),{once:!0})}));let m;return n.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const l=t.touches[0];t.preventDefault();const n={x:l.screenX,y:l.screenY};m=t=>{const{newX:l,newY:a}=((t,l)=>{const n=t.touches[0];return e.postMessage({x:n.screenX-l.x,y:n.screenY-l.y}),{newX:n.screenX,newY:n.screenY}})(t,n);n.x=l,n.y=a},window.addEventListener("touchmove",m),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",m)}))})),()=>{window&&(window.removeEventListener("resize",i),window.removeEventListener("mousemove",c),window.removeEventListener("touchmove",m),n&&n.removeEventListener("wheel",o),e.terminate())}}),[]),n.createElement("div",{className:"h-full w-full relative"},n.createElement("canvas",{ref:r,className:"bg-main-100 h-160 w-full flex items-center justify-center cursor-pointer"}),e?null:n.createElement(i,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var c=e=>{let{heightClass:t="min-h-160",title:l,text:a,className:i,borderBottom:c,borderTop:m,babylon:d}=e;const{0:u,1:f}=(0,n.useState)("translate-y-full");return(0,n.useEffect)((()=>{f("translate-y-0")}),[]),n.createElement("div",{className:"w-full flex items-center bg-main-100 relative overflow-hidden px-6 "+t+" "+i},m?n.createElement(r(),{className:"absolute top-0 left-0 right-0 w-full"}):null,n.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center text-secondary-100 flex-grow"},n.createElement("div",{className:"flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full lg:w-1/2 bg-main-100"},n.createElement("h2",{className:"overflow-hidden mb-8 w-full"},n.createElement("span",{className:"inline-block font-['Rubik_Glitch'] text-5xl sm:text-6xl w-full text-center lg:text-start transition-all duration-1000 "+u},l.toUpperCase())),n.createElement("p",{className:"overflow-hidden w-full"},n.createElement("span",{className:"inline-block w-full text-3xl sm:text-4xl font-light text-center lg:text-start transition-all duration-1000 "+u},a.toUpperCase()))),d?n.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full flex"},n.createElement(o,null)):null),c?n.createElement(r(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},216:function(e,t,l){"use strict";var n=l(7294),a=l(1883),r=l(1164);t.Z=e=>{let{section:t,title:l,linkTitle:s,className:i,fullWidth:o,children:c}=e;return n.createElement("section",{className:"w-full py-48 px-6 "+i},n.createElement(r.Z,{className:"flex-col items-center",fullWidth:o},n.createElement("div",{className:"flex justify-between w-full items-center pb-10 md:pb-16"},n.createElement("h3",{className:"text-4xl md:text-5xl font-black w-full max-w-7xl mx-auto pr-8"},l.toUpperCase()),t?n.createElement(a.Link,{to:"/"+t,className:"text-end text-2xl md:text-3xl text-secondary-10 hover:text-secondary-100 font-normal cursor-pointer whitespace-nowrap"},s?s.toUpperCase():"SEE MORE"," →"):null),c))}},3793:function(e,t,l){"use strict";var n=l(7294),a=l(1883),r=l(4344),s=l.n(r),i=l(4697),o=l.n(i),c=l(9165);t.Z=e=>{let{post:t,className:l,fontColor:r,gradientBorder:i}=e;const{date:m,title:d,text:u}=t.frontmatter,f=Math.floor(t.wordCount.words/200),h=f||1,p="main"===r?"text-main-100":"text-secondary-100",v="main"===r?"text-main-100":"text-secondary-10",x="main"===r?"hover:text-main-10":"hover:text-secondary-100";return n.createElement(a.Link,{to:"/blog/"+t.id,className:"flex flex-col sm:flex-row w-full "+v+" "+x+" "+l+" "+(i?"gradient-border":""),itemScope:!0,itemType:"https://schema.org/Article"},n.createElement("div",{className:"hidden md:flex md:basis-1/4 shrink-0 justify-center p-6",itemProp:"image"},n.createElement(s(),{className:"secondary"===r?"":"brightness-0"})),n.createElement("div",{className:"flex flex-col basis-1/2 md:basis-1/3 shrink-0 mb-12 sm:mb-0"},n.createElement("p",{className:"text-3xl font-light "+v+" pb-5"},m),n.createElement("h3",{className:"text-4xl font-bold "+p,itemProp:"headline"},d)),n.createElement("div",{className:"flex flex-col basis-1/2 md:basis-1/3 shrink-0"},n.createElement("p",{className:"font-normal text-2xl "+v,itemProp:"abstract"},u.split(" ").slice(0,60).join(" "),"..."),n.createElement("div",{className:"flex justify-between items-center pt-6"},n.createElement("p",{className:"text-2xl font-bold"},"Read more"),n.createElement("p",null,n.createElement(o(),{className:"inline"}),n.createElement("span",{className:"inline text-xl font-light italic pl-4"},"Reading time: ",h,"m.")))),n.createElement(c.L,{itemProp:"copyrightHolder"}))}},1601:function(e,t,l){"use strict";var n=l(7294),a=l(1883),r=l(6745),s=l(216);t.Z=e=>{var t,l;let{title:o,excludeId:c}=e;const m=(0,a.useStaticQuery)(i);let d=null!=m&&null!==(t=m.allMarkdownRemark)&&void 0!==t&&null!==(l=t.nodes)&&void 0!==l&&l.length?m.allMarkdownRemark.nodes:null;return d?(c&&(d=d.filter((e=>e.id!==c))),n.createElement(s.Z,{section:"projects",title:o||"OUR PROJECTS",className:"bg-main-100 text-secondary-100"},n.createElement("div",{className:"flex justify-between flex-col items-center sm:items-stretch sm:flex-row"},d.map(((e,t)=>{if(3!==t)return n.createElement(r.Z,{key:e.id,project:e,theme:"light",className:"basis-[48%] sm:last:hidden md:last:flex md:basis-[31%] mt-16 sm:mt-0"})}))))):n.createElement(n.Fragment,null)};const i="555951317"},735:function(e,t,l){"use strict";l.d(t,{Z:function(){return m}});var n=l(7294),a=l(1883),r=l(4471),s=l.n(r),i=l(7576),o=l(2074);var c=(0,n.forwardRef)(((e,t)=>{let{className:l,children:a}=e;const[r,s]=(0,i.Z)({loop:!0,dragFree:!0,duration:1e4,align:0},[(0,o.Z)({delay:0,stopOnInteraction:!1,stopOnMouseEnter:!0})]);return n.createElement("div",{className:"overflow-hidden "+l,ref:r},n.createElement("div",{ref:t,className:"h-full flex items-center",onMouseEnter:()=>{null==s||s.internalEngine().animation.stop()},onMouseLeave:()=>{null==s||s.internalEngine().animation.start()}},a))}));var m=()=>{var e,t;const l=(0,a.useStaticQuery)(d),r=null==l||null===(e=l.markdownRemark)||void 0===e||null===(t=e.frontmatter)||void 0===t?void 0:t.stack;return n.createElement(n.Fragment,null,r?n.createElement("section",{className:"h-28 flex flex-col relative",id:"clients"},n.createElement(c,{className:"grow"},r.map((e=>n.createElement("div",{key:e,className:"h-full shrink-0 min-w-0 cursor-pointer flex flex-col justify-between items-center content-center w-[352px] md:w-[400px] xl:w-[480px] 3xl:w-[576px]"},n.createElement(s(),{className:"min-w-0 shrink-0 w-full"}),n.createElement("p",{className:"text-4xl font-extrabold whitespace-nowrap"},e),n.createElement(s(),{className:"min-w-0 shrink-0 w-full"})))))):null)};const d="3518807326"},6183:function(e,t,l){"use strict";l.r(t),l.d(t,{Head:function(){return b},default:function(){return g}});var n=l(7294),a=l(9720),r=l(1929),s=l(735),i=l(1883),o=l(7576),c=l(2074),m=l(4471),d=l.n(m),u=l(8032);var f=e=>{let{review:{frontmatter:{company:t,person:l,position:a,location:r,image:s},html:i}}=e;const o=(0,u.c)(s);return n.createElement("div",{className:"h-full flex flex-col grow p-8 text-main-100",itemProp:"review",itemScope:!0,itemType:"https://schema.org/Review"},n.createElement("div",{className:"mb-6 flex flex-nowrap justify-start items-center border-b-[4px] border-dashed border-secondary-100 gradient-border pb-10",itemProp:"author",itemScope:!0,itemType:"https://schema.org/Person"},n.createElement("div",{className:"inline-block rounded-full h-32 w-32 flex items-center mr-10"},o?n.createElement(u.G,{image:o,alt:t,className:"h-full object-cover rounded-full h-32 w-32",itemProp:"image"}):null),n.createElement("div",null,n.createElement("h5",{className:"text-xl font-extrabold whitespace-nowrap",itemProp:"familyName"},l),n.createElement("h5",{className:"text-xl font-extrabold whitespace-nowrap"},n.createElement("span",{itemProp:"jobTitle"},a),","," ",n.createElement("span",{itemProp:"worksFor"},t)),n.createElement("h5",{className:"text-xl font-extrabold whitespace-nowrap",itemProp:"workLocation"},r))),n.createElement("div",{className:"review-body shrink-0 text-2xl",itemProp:"reviewBody",dangerouslySetInnerHTML:{__html:i}}))},h=l(216);var p=()=>{var e,t;const[l,a]=(0,o.Z)({loop:!0,dragFree:!0,duration:3e4,align:0},[(0,c.Z)({delay:0,stopOnInteraction:!1,stopOnMouseEnter:!0})]),r=(0,i.useStaticQuery)(v),s=null!=r&&null!==(e=r.allMarkdownRemark)&&void 0!==e&&null!==(t=e.nodes)&&void 0!==t&&t.length?r.allMarkdownRemark.nodes:null;return n.createElement(n.Fragment,null,s?n.createElement(n.Fragment,null,n.createElement(d(),{className:"w-full"}),n.createElement(h.Z,{fullWidth:!0,title:"our clients' testimonials",className:"bg-secondary-100 text-main-100 w-full"},n.createElement("div",{className:"w-full overflow-hidden min-h-max",ref:l},n.createElement("div",{id:"container",className:"flex",onMouseEnter:()=>{null==a||a.internalEngine().animation.stop()},onMouseLeave:()=>{null==a||a.internalEngine().animation.start()}},s.map((e=>n.createElement("div",{key:e.id,className:"flex shrink-0 min-w-0 cursor-pointer basis-full sm:basis-5/6 md:basis-4/6 lg:basis-1/2 xl:basis-2/5 3xl:basis-1/3 4xl:basis-1/4 rounded-2xl border-dashed border-main-10 mx-12 top-0 bottom-0"},n.createElement(f,{review:e}))))))),n.createElement(d(),{className:"w-full"})):null)};const v="687265830";var x=l(3793);var w=()=>{var e,t;const l=(0,i.useStaticQuery)(C),a=null!=l&&null!==(e=l.allMarkdownRemark)&&void 0!==e&&null!==(t=e.nodes)&&void 0!==t&&t.length?l.allMarkdownRemark.nodes[0]:null;return n.createElement(n.Fragment,null,a?n.createElement(h.Z,{title:"new in our blog",linkTitle:"all posts",section:"blog",className:"bg-main-100 text-secondary-100"},n.createElement(x.Z,{post:a,fontColor:"secondary"})):null)};const C="1671064017";var E=l(1601);var g=()=>n.createElement(a.Pd.Provider,{value:{style:{verticalAlign:"middle"}}},n.createElement(r.Z,{title:"OUTSTANDING OUTSOURCING",text:"the best developers ever",babylon:!0}),n.createElement(s.Z,null),n.createElement(E.Z,null),n.createElement(p,null),n.createElement(w,null));const b=()=>n.createElement("title",null,"CodeCave")},4471:function(e,t,l){var n=l(7294);function a(e){return n.createElement("svg",e,[n.createElement("line",{width:"800",height:"8",stroke:"white",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),n.createElement("line",{width:"800",height:"8",stroke:"black",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}a.defaultProps={height:"8"},e.exports=a,a.default=a},4344:function(e,t,l){var n=l(7294);function a(e){return n.createElement("svg",e,[n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.875 7.9375H111.125C113.23 7.9375 115.249 8.77377 116.738 10.2623C118.226 11.7509 119.062 13.7698 119.062 15.875V107.839L103.188 91.9639C100.211 88.9865 96.1738 87.3134 91.9639 87.3125H15.875C13.7698 87.3125 11.7509 86.4762 10.2623 84.9877C8.77377 83.4991 7.9375 81.4802 7.9375 79.375V15.875C7.9375 13.7698 8.77377 11.7509 10.2623 10.2623C11.7509 8.77377 13.7698 7.9375 15.875 7.9375ZM111.125 0C115.335 0 119.373 1.67254 122.35 4.64968C125.327 7.62682 127 11.6647 127 15.875V117.419C127 118.205 126.767 118.972 126.33 119.625C125.893 120.278 125.273 120.786 124.547 121.086C123.822 121.386 123.023 121.464 122.253 121.31C121.483 121.156 120.776 120.777 120.221 120.221L97.5757 97.5757C96.0875 96.087 94.0689 95.2505 91.9639 95.25H15.875C11.6647 95.25 7.62682 93.5775 4.64968 90.6003C1.67254 87.6232 0 83.5853 0 79.375V15.875C0 11.6647 1.67254 7.62682 4.64968 4.64968C7.62682 1.67254 11.6647 0 15.875 0L111.125 0Z",fill:"#FAFAFA",key:0}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M56.0865 37.7825C54.5404 35.3747 52.2544 33.5337 49.5723 32.5363C46.8902 31.5389 43.9569 31.439 41.2131 32.2515C38.4694 33.0641 36.0635 34.7453 34.357 37.0423C32.6506 39.3394 31.7358 42.1283 31.7502 44.9898C31.7516 47.3594 32.3893 49.6851 33.5968 51.7241C34.8042 53.763 36.537 55.4402 38.6142 56.5806C40.6914 57.721 43.0367 58.2826 45.4051 58.2069C47.7735 58.1311 50.0781 57.4207 52.0781 56.1499C51.0383 59.2376 49.1015 62.5316 45.9107 65.8336C45.3002 66.4652 44.9656 67.3134 44.9804 68.1916C44.9953 69.0699 45.3585 69.9063 45.99 70.5168C46.6216 71.1273 47.4698 71.4619 48.348 71.447C49.2263 71.4321 50.0627 71.0689 50.6732 70.4374C62.4683 58.2136 60.9364 44.9263 56.0865 37.7984V37.7825ZM87.8365 37.7825C86.2904 35.3747 84.0044 33.5337 81.3223 32.5363C78.6403 31.5389 75.7069 31.439 72.9631 32.2515C70.2194 33.0641 67.8135 34.7453 66.107 37.0423C64.4006 39.3394 63.4858 42.1283 63.5002 44.9898C63.5016 47.3594 64.1393 49.6851 65.3468 51.7241C66.5542 53.763 68.287 55.4402 70.3642 56.5806C72.4414 57.721 74.7867 58.2826 77.1551 58.2069C79.5235 58.1311 81.8281 57.4207 83.8281 56.1499C82.7883 59.2376 80.8515 62.5316 77.6607 65.8336C77.0502 66.4652 76.7156 67.3134 76.7304 68.1916C76.7453 69.0699 77.1085 69.9063 77.74 70.5168C78.3716 71.1273 79.2198 71.4619 80.098 71.447C80.9763 71.4321 81.8127 71.0689 82.4232 70.4374C94.2183 58.2136 92.6864 44.9263 87.8365 37.7984V37.7825Z",fill:"#FAFAFA",key:1})])}a.defaultProps={width:"127",height:"127",viewBox:"0 0 127 127",fill:"none"},e.exports=a,a.default=a},4697:function(e,t,l){var n=l(7294);function a(e){return n.createElement("svg",e,[n.createElement("g",{clipPath:"url(#clip0_829_432)",key:0},[n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.57938 1.14638C9.38658 1.13214 9.19332 1.12501 9 1.125V0C9.2211 0.000107806 9.44213 0.00836341 9.66262 0.02475L9.57938 1.14638ZM11.8339 1.65263C11.4733 1.51347 11.1029 1.40104 10.7258 1.31625L10.9721 0.21825C11.403 0.315 11.8271 0.44325 12.2389 0.603L11.8339 1.65263ZM13.3751 2.45138C13.2143 2.34411 13.0495 2.24279 12.8812 2.14763L13.4359 1.16888C13.8205 1.38683 14.1886 1.63274 14.5372 1.90463L13.8454 2.79225C13.6929 2.67326 13.536 2.55993 13.3751 2.4525V2.45138ZM15.4384 4.46513C15.2158 4.14897 14.9703 3.84966 14.7037 3.56963L15.5182 2.79338C15.822 3.114 16.1032 3.45713 16.3586 3.81713L15.4384 4.46513ZM16.2754 5.98613C16.2015 5.80777 16.1212 5.63215 16.0346 5.45963L17.0392 4.95338C17.2379 5.34835 17.4071 5.75746 17.5455 6.17738L16.4767 6.5295C16.4163 6.34597 16.3491 6.16473 16.2754 5.98613ZM16.8716 8.8065C16.8625 8.41988 16.8249 8.03446 16.7591 7.65338L17.8672 7.46213C17.9426 7.89638 17.9865 8.33738 17.9977 8.77838L16.8727 8.8065H16.8716ZM16.7242 10.5368C16.7614 10.3455 16.7917 10.1554 16.8154 9.963L17.9325 10.1014C17.8785 10.5403 17.792 10.9746 17.6737 11.4008L16.5892 11.1004C16.641 10.9148 16.686 10.7269 16.7242 10.5368ZM15.6532 13.2131C15.8602 12.8869 16.0425 12.5449 16.2 12.1916L17.2282 12.6473C17.0482 13.0523 16.8401 13.4415 16.6039 13.815L15.6532 13.2131ZM14.5687 14.5688C14.706 14.4315 14.8376 14.2898 14.9625 14.1435L15.8152 14.8781C15.6708 15.0456 15.5204 15.2077 15.3641 15.3641L14.5687 14.5688Z",fill:"black",key:0}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.99961 1.125C7.7046 1.12509 6.4296 1.44455 5.28753 2.05508C4.14547 2.66561 3.1716 3.54836 2.45217 4.62516C1.73275 5.70195 1.28998 6.93954 1.16308 8.22832C1.03618 9.5171 1.22907 10.8173 1.72466 12.0137C2.22025 13.2101 3.00325 14.2659 4.0043 15.0874C5.00535 15.909 6.19356 16.471 7.46368 16.7237C8.73381 16.9763 10.0466 16.9119 11.2859 16.536C12.5252 16.1601 13.6526 15.4844 14.5684 14.5688L15.3637 15.3641C14.3172 16.4113 13.0285 17.1841 11.6119 17.6141C10.1953 18.0442 8.69447 18.1182 7.24243 17.8295C5.79039 17.5409 4.43195 16.8986 3.28748 15.9595C2.143 15.0204 1.24784 13.8135 0.681284 12.4458C0.114733 11.078 -0.105707 9.59162 0.0394939 8.1183C0.184695 6.64499 0.691055 5.23024 1.51371 3.9994C2.33636 2.76855 3.44991 1.75962 4.75569 1.062C6.06147 0.364382 7.51916 -0.000392324 8.99961 3.16641e-07V1.125Z",fill:"black",key:1}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.4375 3.375C8.58668 3.375 8.72976 3.43426 8.83525 3.53975C8.94074 3.64524 9 3.78832 9 3.9375V9.79875L12.654 11.8867C12.7798 11.9626 12.8709 12.0847 12.9078 12.2268C12.9448 12.369 12.9247 12.5199 12.8518 12.6475C12.779 12.775 12.6591 12.869 12.5179 12.9093C12.3766 12.9496 12.2252 12.9331 12.096 12.8632L8.1585 10.6132C8.07241 10.5641 8.00084 10.493 7.95106 10.4073C7.90127 10.3215 7.87503 10.2241 7.875 10.125V3.9375C7.875 3.78832 7.93426 3.64524 8.03975 3.53975C8.14524 3.43426 8.28832 3.375 8.4375 3.375Z",fill:"black",key:2})]),n.createElement("defs",{key:1},n.createElement("clipPath",{id:"clip0_829_432"},n.createElement("rect",{width:"18",height:"18",fill:"white"})))])}a.defaultProps={width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},e.exports=a,a.default=a}}]); +//# sourceMappingURL=component---src-pages-index-tsx-51c4d6c78f0455be8e64.js.map \ No newline at end of file diff --git a/component---src-pages-index-tsx-51c4d6c78f0455be8e64.js.map b/component---src-pages-index-tsx-51c4d6c78f0455be8e64.js.map new file mode 100644 index 00000000..380483a9 --- /dev/null +++ b/component---src-pages-index-tsx-51c4d6c78f0455be8e64.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---src-pages-index-tsx-51c4d6c78f0455be8e64.js","mappings":"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","sources":["webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/common/templateSection.tsx","webpack://code-cave/./src/components/posts/postPreview.tsx","webpack://code-cave/./src/components/projects/projectsSection.tsx","webpack://code-cave/./src/components/stack/stackCarousel.tsx","webpack://code-cave/./src/components/stack/stackSection.tsx","webpack://code-cave/./src/components/reviews/review.tsx","webpack://code-cave/./src/components/reviews/reviewsSection.tsx","webpack://code-cave/./src/components/posts/postSection.tsx","webpack://code-cave/./src/pages/index.tsx","webpack://code-cave/./src/assets/common/border.svg","webpack://code-cave/./src/assets/common/chat-right-quote.svg","webpack://code-cave/./src/assets/common/clock.svg"],"sourcesContent":["import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler);\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler);\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\"touchstart\", (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler);\n window.addEventListener(\"touchend\", () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n });\n });\n\n // UNMOUNT handler\n return () => {\n if (!window) return;\n\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.terminate();\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\nconst Banner = ({\n heightClass = \"min-h-160\",\n title,\n text,\n className,\n borderBottom,\n borderTop,\n babylon,\n}: {\n heightClass?: string;\n title: string;\n text: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n babylon?: boolean;\n}) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n
\n

\n \n {title.toUpperCase()}\n \n

\n

\n \n {text.toUpperCase()}\n \n

\n
\n {babylon ? (\n
\n \n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React, { PropsWithChildren } from \"react\";\nimport { Link } from \"gatsby\";\n\nimport ContentContainer from \"./contentContainer\";\n\nconst TemplateSection = ({\n section,\n title,\n linkTitle,\n className,\n fullWidth,\n children,\n}: PropsWithChildren<{\n title: string;\n linkTitle?: string;\n section?: string;\n className?: string;\n fullWidth?: boolean;\n}>) => (\n
\n \n
\n

\n {title.toUpperCase()}\n

\n {section ? (\n \n {linkTitle ? linkTitle.toUpperCase() : \"SEE MORE\"} →\n \n ) : null}\n
\n {children}\n
\n
\n);\n\nexport default TemplateSection;\n","import React from \"react\";\n\nimport { Link } from \"gatsby\";\n\nimport Quote from \"../../assets/common/chat-right-quote.svg\";\nimport Clock from \"../../assets/common/clock.svg\";\n\nimport { IPostPreviewQueryResult } from \"../../types/post.type\";\nimport { LocalBusinessMetadata } from \"../common/metadata\";\n\nconst PostPreview = ({\n post,\n className,\n fontColor,\n gradientBorder,\n}: {\n post: IPostPreviewQueryResult;\n className?: string;\n fontColor: \"main\" | \"secondary\";\n gradientBorder?: boolean;\n}) => {\n const { date, title, text } = post.frontmatter;\n\n const minutes = Math.floor(post.wordCount.words / 200);\n const readingTime = minutes ? minutes : 1;\n\n const fontColorClass100 =\n fontColor === \"main\" ? \"text-main-100\" : \"text-secondary-100\";\n const fontColorClass10 =\n fontColor === \"main\" ? \"text-main-100\" : \"text-secondary-10\";\n const fontColorHover =\n fontColor === \"main\" ? \"hover:text-main-10\" : \"hover:text-secondary-100\";\n\n return (\n \n \n \n \n
\n

{date}

\n \n {title}\n \n
\n
\n \n {text.split(\" \").slice(0, 60).join(\" \")}...\n

\n
\n

Read more

\n

\n \n\n \n Reading time: {readingTime}m.\n \n

\n
\n
\n \n \n );\n};\n\nexport default PostPreview;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { IProjectPreviewQueryResult } from \"../../types/project.type\";\n\nimport ProjectPreview from \"./projectPreview\";\nimport TemplateSection from \"../common/templateSection\";\n\nconst ProjectsSection = ({\n title,\n excludeId,\n}: {\n title?: string;\n excludeId?: string;\n}) => {\n const projectsData = useStaticQuery(query);\n\n let projects = (\n projectsData?.allMarkdownRemark?.nodes?.length\n ? projectsData.allMarkdownRemark.nodes\n : null\n ) as IProjectPreviewQueryResult[] | null;\n\n if (!projects) return <>;\n\n if (excludeId) {\n projects = projects.filter((project) => project.id !== excludeId);\n }\n\n return (\n \n
\n {projects.map((project, i) => {\n if (i === 3) return;\n return (\n \n );\n })}\n
\n \n );\n};\n\nexport default ProjectsSection;\n\nexport const query = graphql`\n query {\n allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"projects\" } } }\n sort: { frontmatter: { date: DESC } }\n limit: 4\n ) {\n nodes {\n id\n frontmatter {\n title\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 600\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n }\n`;\n","import React, { forwardRef } from \"react\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport Autoplay from \"embla-carousel-autoplay\";\n\nconst StackCarousel = forwardRef<\n HTMLDivElement,\n React.PropsWithChildren<{ className?: string }>\n>(({ className, children }, ref) => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n { loop: true, dragFree: true, duration: 10000, align: 0 },\n [\n Autoplay({\n delay: 0,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n }),\n ]\n );\n\n return (\n
\n {\n emblaApi?.internalEngine().animation.stop();\n }}\n onMouseLeave={() => {\n emblaApi?.internalEngine().animation.start();\n }}\n >\n {children}\n
\n \n );\n});\n\nexport default StackCarousel;\n","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nimport Border from \"../../assets/common/border.svg\";\nimport StackCarousel from \"./stackCarousel\";\n\nconst StackSection = () => {\n const techData = useStaticQuery(query);\n const techArr = techData?.markdownRemark?.frontmatter?.stack as\n | string[]\n | null;\n\n return (\n <>\n {techArr ? (\n
\n \n {techArr.map((tech) => (\n \n \n

\n {tech}\n

\n \n \n ))}\n
\n
\n ) : null}\n \n );\n};\n\nexport default StackSection;\n\nexport const query = graphql`\n query {\n markdownRemark(fields: { sourceName: { eq: \"stack\" } }) {\n frontmatter {\n stack\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IReviewQueryResult } from \"../../types/review.type\";\n\nconst Review = ({\n review: {\n frontmatter: { company, person, position, location, image },\n html,\n },\n}: {\n review: IReviewQueryResult;\n}) => {\n const avatar = getImage(image);\n\n return (\n \n \n \n {avatar ? (\n \n ) : null}\n \n
\n \n {person}\n \n
\n {position},{\" \"}\n {company}\n
\n \n {location}\n \n
\n \n \n \n );\n};\n\nexport default Review;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport Autoplay from \"embla-carousel-autoplay\";\n\nimport { IReviewQueryResult } from \"../../types/review.type\";\n\nimport Border from \"../../assets/common/border.svg\";\nimport Review from \"./review\";\nimport TemplateSection from \"../common/templateSection\";\n\nconst ReviewsSection = () => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n { loop: true, dragFree: true, duration: 30000, align: 0 },\n [\n Autoplay({\n delay: 0,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n }),\n ]\n );\n\n const reviewsData = useStaticQuery(query);\n\n const reviews = (\n reviewsData?.allMarkdownRemark?.nodes?.length\n ? reviewsData.allMarkdownRemark.nodes\n : null\n ) as IReviewQueryResult[] | null;\n\n return (\n <>\n {reviews ? (\n <>\n \n \n
\n {\n emblaApi?.internalEngine().animation.stop();\n }}\n onMouseLeave={() => {\n emblaApi?.internalEngine().animation.start();\n }}\n >\n {reviews.map((review) => (\n \n {}\n
\n ))}\n \n \n \n \n \n ) : null}\n \n );\n};\n\nexport default ReviewsSection;\n\nexport const query = graphql`\n query {\n allMarkdownRemark(filter: { fields: { sourceName: { eq: \"reviews\" } } }) {\n nodes {\n id\n html\n frontmatter {\n company\n location\n person\n position\n image {\n childImageSharp {\n gatsbyImageData(\n height: 112\n placeholder: BLURRED\n formats: [AUTO, AVIF, WEBP]\n )\n }\n }\n }\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { IPostPreviewQueryResult } from \"../../types/post.type\";\n\nimport PostPreview from \"./postPreview\";\nimport TemplateSection from \"../common/templateSection\";\n\nconst PostSection = () => {\n const postData = useStaticQuery(query);\n\n const post = (\n postData?.allMarkdownRemark?.nodes?.length\n ? postData.allMarkdownRemark.nodes[0]\n : null\n ) as IPostPreviewQueryResult | null;\n\n return (\n <>\n {post ? (\n \n \n \n ) : null}\n \n );\n};\n\nexport default PostSection;\n\nexport const query = graphql`\n query {\n allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"posts\" } } }\n sort: { frontmatter: { date: DESC } }\n limit: 1\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"MMM DD, YYYY\")\n title\n text\n }\n wordCount {\n words\n }\n }\n }\n }\n`;\n","import * as React from \"react\";\nimport type { HeadFC } from \"gatsby\";\n\nimport { IconContext } from \"@react-icons/all-files\";\nimport \"../styles/styles.css\";\n\nimport Banner from \"../components/common/banner\";\nimport StackSection from \"../components/stack/stackSection\";\nimport ReviewsSection from \"../components/reviews/reviewsSection\";\nimport PostSection from \"../components/posts/postSection\";\nimport ProjectsSection from \"../components/projects/projectsSection\";\n\nconst IndexPage = () => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nexport default IndexPage;\n\nexport const Head: HeadFC = () => CodeCave;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"white\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"black\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n","var React = require('react');\n\nfunction ChatRightQuote (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15.875 7.9375H111.125C113.23 7.9375 115.249 8.77377 116.738 10.2623C118.226 11.7509 119.062 13.7698 119.062 15.875V107.839L103.188 91.9639C100.211 88.9865 96.1738 87.3134 91.9639 87.3125H15.875C13.7698 87.3125 11.7509 86.4762 10.2623 84.9877C8.77377 83.4991 7.9375 81.4802 7.9375 79.375V15.875C7.9375 13.7698 8.77377 11.7509 10.2623 10.2623C11.7509 8.77377 13.7698 7.9375 15.875 7.9375ZM111.125 0C115.335 0 119.373 1.67254 122.35 4.64968C125.327 7.62682 127 11.6647 127 15.875V117.419C127 118.205 126.767 118.972 126.33 119.625C125.893 120.278 125.273 120.786 124.547 121.086C123.822 121.386 123.023 121.464 122.253 121.31C121.483 121.156 120.776 120.777 120.221 120.221L97.5757 97.5757C96.0875 96.087 94.0689 95.2505 91.9639 95.25H15.875C11.6647 95.25 7.62682 93.5775 4.64968 90.6003C1.67254 87.6232 0 83.5853 0 79.375V15.875C0 11.6647 1.67254 7.62682 4.64968 4.64968C7.62682 1.67254 11.6647 0 15.875 0L111.125 0Z\",\"fill\":\"#FAFAFA\",\"key\":0}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M56.0865 37.7825C54.5404 35.3747 52.2544 33.5337 49.5723 32.5363C46.8902 31.5389 43.9569 31.439 41.2131 32.2515C38.4694 33.0641 36.0635 34.7453 34.357 37.0423C32.6506 39.3394 31.7358 42.1283 31.7502 44.9898C31.7516 47.3594 32.3893 49.6851 33.5968 51.7241C34.8042 53.763 36.537 55.4402 38.6142 56.5806C40.6914 57.721 43.0367 58.2826 45.4051 58.2069C47.7735 58.1311 50.0781 57.4207 52.0781 56.1499C51.0383 59.2376 49.1015 62.5316 45.9107 65.8336C45.3002 66.4652 44.9656 67.3134 44.9804 68.1916C44.9953 69.0699 45.3585 69.9063 45.99 70.5168C46.6216 71.1273 47.4698 71.4619 48.348 71.447C49.2263 71.4321 50.0627 71.0689 50.6732 70.4374C62.4683 58.2136 60.9364 44.9263 56.0865 37.7984V37.7825ZM87.8365 37.7825C86.2904 35.3747 84.0044 33.5337 81.3223 32.5363C78.6403 31.5389 75.7069 31.439 72.9631 32.2515C70.2194 33.0641 67.8135 34.7453 66.107 37.0423C64.4006 39.3394 63.4858 42.1283 63.5002 44.9898C63.5016 47.3594 64.1393 49.6851 65.3468 51.7241C66.5542 53.763 68.287 55.4402 70.3642 56.5806C72.4414 57.721 74.7867 58.2826 77.1551 58.2069C79.5235 58.1311 81.8281 57.4207 83.8281 56.1499C82.7883 59.2376 80.8515 62.5316 77.6607 65.8336C77.0502 66.4652 76.7156 67.3134 76.7304 68.1916C76.7453 69.0699 77.1085 69.9063 77.74 70.5168C78.3716 71.1273 79.2198 71.4619 80.098 71.447C80.9763 71.4321 81.8127 71.0689 82.4232 70.4374C94.2183 58.2136 92.6864 44.9263 87.8365 37.7984V37.7825Z\",\"fill\":\"#FAFAFA\",\"key\":1})]);\n}\n\nChatRightQuote.defaultProps = {\"width\":\"127\",\"height\":\"127\",\"viewBox\":\"0 0 127 127\",\"fill\":\"none\"};\n\nmodule.exports = ChatRightQuote;\n\nChatRightQuote.default = ChatRightQuote;\n","var React = require('react');\n\nfunction Clock (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"g\",{\"clipPath\":\"url(#clip0_829_432)\",\"key\":0},[React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9.57938 1.14638C9.38658 1.13214 9.19332 1.12501 9 1.125V0C9.2211 0.000107806 9.44213 0.00836341 9.66262 0.02475L9.57938 1.14638ZM11.8339 1.65263C11.4733 1.51347 11.1029 1.40104 10.7258 1.31625L10.9721 0.21825C11.403 0.315 11.8271 0.44325 12.2389 0.603L11.8339 1.65263ZM13.3751 2.45138C13.2143 2.34411 13.0495 2.24279 12.8812 2.14763L13.4359 1.16888C13.8205 1.38683 14.1886 1.63274 14.5372 1.90463L13.8454 2.79225C13.6929 2.67326 13.536 2.55993 13.3751 2.4525V2.45138ZM15.4384 4.46513C15.2158 4.14897 14.9703 3.84966 14.7037 3.56963L15.5182 2.79338C15.822 3.114 16.1032 3.45713 16.3586 3.81713L15.4384 4.46513ZM16.2754 5.98613C16.2015 5.80777 16.1212 5.63215 16.0346 5.45963L17.0392 4.95338C17.2379 5.34835 17.4071 5.75746 17.5455 6.17738L16.4767 6.5295C16.4163 6.34597 16.3491 6.16473 16.2754 5.98613ZM16.8716 8.8065C16.8625 8.41988 16.8249 8.03446 16.7591 7.65338L17.8672 7.46213C17.9426 7.89638 17.9865 8.33738 17.9977 8.77838L16.8727 8.8065H16.8716ZM16.7242 10.5368C16.7614 10.3455 16.7917 10.1554 16.8154 9.963L17.9325 10.1014C17.8785 10.5403 17.792 10.9746 17.6737 11.4008L16.5892 11.1004C16.641 10.9148 16.686 10.7269 16.7242 10.5368ZM15.6532 13.2131C15.8602 12.8869 16.0425 12.5449 16.2 12.1916L17.2282 12.6473C17.0482 13.0523 16.8401 13.4415 16.6039 13.815L15.6532 13.2131ZM14.5687 14.5688C14.706 14.4315 14.8376 14.2898 14.9625 14.1435L15.8152 14.8781C15.6708 15.0456 15.5204 15.2077 15.3641 15.3641L14.5687 14.5688Z\",\"fill\":\"black\",\"key\":0}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.99961 1.125C7.7046 1.12509 6.4296 1.44455 5.28753 2.05508C4.14547 2.66561 3.1716 3.54836 2.45217 4.62516C1.73275 5.70195 1.28998 6.93954 1.16308 8.22832C1.03618 9.5171 1.22907 10.8173 1.72466 12.0137C2.22025 13.2101 3.00325 14.2659 4.0043 15.0874C5.00535 15.909 6.19356 16.471 7.46368 16.7237C8.73381 16.9763 10.0466 16.9119 11.2859 16.536C12.5252 16.1601 13.6526 15.4844 14.5684 14.5688L15.3637 15.3641C14.3172 16.4113 13.0285 17.1841 11.6119 17.6141C10.1953 18.0442 8.69447 18.1182 7.24243 17.8295C5.79039 17.5409 4.43195 16.8986 3.28748 15.9595C2.143 15.0204 1.24784 13.8135 0.681284 12.4458C0.114733 11.078 -0.105707 9.59162 0.0394939 8.1183C0.184695 6.64499 0.691055 5.23024 1.51371 3.9994C2.33636 2.76855 3.44991 1.75962 4.75569 1.062C6.06147 0.364382 7.51916 -0.000392324 8.99961 3.16641e-07V1.125Z\",\"fill\":\"black\",\"key\":1}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.4375 3.375C8.58668 3.375 8.72976 3.43426 8.83525 3.53975C8.94074 3.64524 9 3.78832 9 3.9375V9.79875L12.654 11.8867C12.7798 11.9626 12.8709 12.0847 12.9078 12.2268C12.9448 12.369 12.9247 12.5199 12.8518 12.6475C12.779 12.775 12.6591 12.869 12.5179 12.9093C12.3766 12.9496 12.2252 12.9331 12.096 12.8632L8.1585 10.6132C8.07241 10.5641 8.00084 10.493 7.95106 10.4073C7.90127 10.3215 7.87503 10.2241 7.875 10.125V3.9375C7.875 3.78832 7.93426 3.64524 8.03975 3.53975C8.14524 3.43426 8.28832 3.375 8.4375 3.375Z\",\"fill\":\"black\",\"key\":2})]),React.createElement(\"defs\",{\"key\":1},React.createElement(\"clipPath\",{\"id\":\"clip0_829_432\"},React.createElement(\"rect\",{\"width\":\"18\",\"height\":\"18\",\"fill\":\"white\"})))]);\n}\n\nClock.defaultProps = {\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\"};\n\nmodule.exports = Clock;\n\nClock.default = Clock;\n"],"names":["_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","terminate","ref","Spinner","heightClass","title","text","borderBottom","borderTop","babylon","textTranslate","setTextTranslate","Border","ContentContainer","toUpperCase","section","linkTitle","fullWidth","children","Link","to","post","fontColor","gradientBorder","date","frontmatter","minutes","Math","floor","wordCount","words","readingTime","fontColorClass100","fontColorClass10","fontColorHover","id","itemScope","itemType","itemProp","Quote","split","slice","join","Clock","LocalBusinessMetadata","_projectsData$allMark","_projectsData$allMark2","excludeId","projectsData","useStaticQuery","query","projects","allMarkdownRemark","nodes","filter","project","TemplateSection","map","i","ProjectPreview","key","theme","forwardRef","emblaRef","emblaApi","useEmblaCarousel","loop","dragFree","duration","align","Autoplay","delay","stopOnInteraction","stopOnMouseEnter","onMouseEnter","internalEngine","animation","stop","onMouseLeave","start","StackSection","_techData$markdownRem","_techData$markdownRem2","techData","techArr","markdownRemark","stack","StackCarousel","tech","review","company","person","position","location","image","html","avatar","getImage","GatsbyImage","alt","dangerouslySetInnerHTML","__html","ReviewsSection","_reviewsData$allMarkd","_reviewsData$allMarkd2","reviewsData","reviews","Review","PostSection","_postData$allMarkdown","_postData$allMarkdown2","postData","PostPreview","IndexPage","IconContext","Provider","value","style","verticalAlign","Banner","ProjectsSection","Head","props","createElement","defaultProps","module","exports","default","ChatRightQuote"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-index-tsx-8f11132d55ccda45c143.js b/component---src-pages-index-tsx-8f11132d55ccda45c143.js deleted file mode 100644 index bbd061ff..00000000 --- a/component---src-pages-index-tsx-8f11132d55ccda45c143.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[691],{1929:function(e,t,l){"use strict";l.d(t,{Z:function(){return c}});var n=l(7294),a=l(4471),r=l.n(a),s=l(1164);var i=e=>{let{className:t}=e;return n.createElement("div",{className:"flex justify-center items-center h-full w-full "+t},n.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),n.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var o=()=>{const{0:e,1:t}=(0,n.useState)(!1),a=(0,n.useRef)(!0),r=(0,n.useRef)(null);return(0,n.useEffect)((()=>{if(!a.current||!r.current||"undefined"==typeof window)return;a.current=!1;const e=new Worker(new URL(l.p+l.u(475),l.b),{type:void 0});e.onmessage=e=>{let{data:l}=e;"ready"===l&&t(!0)};const n=r.current;n.width=n.clientWidth,n.height=n.clientHeight;const s=n.transferControlToOffscreen();e.postMessage({canvas:s},[s]);const i=()=>{e.postMessage({width:n.clientWidth,height:n.clientHeight})};window.addEventListener("resize",i);const o=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};n.addEventListener("wheel",o);const c=t=>{e.postMessage({x:t.movementX,y:t.movementY})};n.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",c),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",c)),{once:!0})}));let m;return n.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const l=t.touches[0];t.preventDefault();const n={x:l.screenX,y:l.screenY};m=t=>{const{newX:l,newY:a}=((t,l)=>{const n=t.touches[0];return e.postMessage({x:n.screenX-l.x,y:n.screenY-l.y}),{newX:n.screenX,newY:n.screenY}})(t,n);n.x=l,n.y=a},window.addEventListener("touchmove",m),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",m)}))})),()=>{window&&(window.removeEventListener("resize",i),window.removeEventListener("mousemove",c),window.removeEventListener("touchmove",m)),n&&n.removeEventListener("wheel",o),e.postMessage({dispose:!0})}}),[]),n.createElement("div",{className:"h-full w-full relative"},n.createElement("canvas",{ref:r,className:"bg-main-100 h-160 w-full flex items-center justify-center cursor-pointer"}),e?null:n.createElement(i,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var c=e=>{let{heightClass:t="min-h-160",title:l,text:a,className:i,borderBottom:c,borderTop:m,babylon:d}=e;const{0:u,1:f}=(0,n.useState)("translate-y-full");return(0,n.useEffect)((()=>{f("translate-y-0")}),[]),n.createElement("div",{className:"w-full flex items-center bg-main-100 relative overflow-hidden px-6 "+t+" "+i},m?n.createElement(r(),{className:"absolute top-0 left-0 right-0 w-full"}):null,n.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center text-secondary-100 flex-grow"},n.createElement("div",{className:"flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full lg:w-1/2 bg-main-100"},n.createElement("h2",{className:"overflow-hidden mb-8 w-full"},n.createElement("span",{className:"inline-block font-['Rubik_Glitch'] text-5xl sm:text-6xl w-full text-center lg:text-start transition-all duration-1000 "+u},l.toUpperCase())),n.createElement("p",{className:"overflow-hidden w-full"},n.createElement("span",{className:"inline-block w-full text-3xl sm:text-4xl font-light text-center lg:text-start transition-all duration-1000 "+u},a.toUpperCase()))),d?n.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full flex"},n.createElement(o,null)):null),c?n.createElement(r(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},216:function(e,t,l){"use strict";var n=l(7294),a=l(1883),r=l(1164);t.Z=e=>{let{section:t,title:l,linkTitle:s,className:i,fullWidth:o,children:c}=e;return n.createElement("section",{className:"w-full py-48 px-6 "+i},n.createElement(r.Z,{className:"flex-col items-center",fullWidth:o},n.createElement("div",{className:"flex justify-between w-full items-center pb-10 md:pb-16"},n.createElement("h3",{className:"text-4xl md:text-5xl font-black w-full max-w-7xl mx-auto pr-8"},l.toUpperCase()),t?n.createElement(a.Link,{to:"/"+t,className:"text-end text-2xl md:text-3xl text-secondary-10 hover:text-secondary-100 font-normal cursor-pointer whitespace-nowrap"},s?s.toUpperCase():"SEE MORE"," →"):null),c))}},3793:function(e,t,l){"use strict";var n=l(7294),a=l(1883),r=l(4344),s=l.n(r),i=l(4697),o=l.n(i),c=l(9165);t.Z=e=>{let{post:t,className:l,fontColor:r,gradientBorder:i}=e;const{date:m,title:d,text:u}=t.frontmatter,f=Math.floor(t.wordCount.words/200),h=f||1,p="main"===r?"text-main-100":"text-secondary-100",v="main"===r?"text-main-100":"text-secondary-10",x="main"===r?"hover:text-main-10":"hover:text-secondary-100";return n.createElement(a.Link,{to:"/blog/"+t.id,className:"flex flex-col sm:flex-row w-full "+v+" "+x+" "+l+" "+(i?"gradient-border":""),itemScope:!0,itemType:"https://schema.org/Article"},n.createElement("div",{className:"hidden md:flex md:basis-1/4 shrink-0 justify-center p-6",itemProp:"image"},n.createElement(s(),{className:"secondary"===r?"":"brightness-0"})),n.createElement("div",{className:"flex flex-col basis-1/2 md:basis-1/3 shrink-0 mb-12 sm:mb-0"},n.createElement("p",{className:"text-3xl font-light "+v+" pb-5"},m),n.createElement("h3",{className:"text-4xl font-bold "+p,itemProp:"headline"},d)),n.createElement("div",{className:"flex flex-col basis-1/2 md:basis-1/3 shrink-0"},n.createElement("p",{className:"font-normal text-2xl "+v,itemProp:"abstract"},u.split(" ").slice(0,60).join(" "),"..."),n.createElement("div",{className:"flex justify-between items-center pt-6"},n.createElement("p",{className:"text-2xl font-bold"},"Read more"),n.createElement("p",null,n.createElement(o(),{className:"inline"}),n.createElement("span",{className:"inline text-xl font-light italic pl-4"},"Reading time: ",h,"m.")))),n.createElement(c.L,{itemProp:"copyrightHolder"}))}},1601:function(e,t,l){"use strict";var n=l(7294),a=l(1883),r=l(6745),s=l(216);t.Z=e=>{var t,l;let{title:o,excludeId:c}=e;const m=(0,a.useStaticQuery)(i);let d=null!=m&&null!==(t=m.allMarkdownRemark)&&void 0!==t&&null!==(l=t.nodes)&&void 0!==l&&l.length?m.allMarkdownRemark.nodes:null;return d?(c&&(d=d.filter((e=>e.id!==c))),n.createElement(s.Z,{section:"projects",title:o||"OUR PROJECTS",className:"bg-main-100 text-secondary-100"},n.createElement("div",{className:"flex justify-between flex-col items-center sm:items-stretch sm:flex-row"},d.map(((e,t)=>{if(3!==t)return n.createElement(r.Z,{key:e.id,project:e,theme:"light",className:"basis-[48%] sm:last:hidden md:last:flex md:basis-[31%] mt-16 sm:mt-0"})}))))):n.createElement(n.Fragment,null)};const i="555951317"},735:function(e,t,l){"use strict";l.d(t,{Z:function(){return m}});var n=l(7294),a=l(1883),r=l(4471),s=l.n(r),i=l(7576),o=l(2074);var c=(0,n.forwardRef)(((e,t)=>{let{className:l,children:a}=e;const[r,s]=(0,i.Z)({loop:!0,dragFree:!0,duration:1e4,align:0},[(0,o.Z)({delay:0,stopOnInteraction:!1,stopOnMouseEnter:!0})]);return n.createElement("div",{className:"overflow-hidden "+l,ref:r},n.createElement("div",{ref:t,className:"h-full flex items-center",onMouseEnter:()=>{null==s||s.internalEngine().animation.stop()},onMouseLeave:()=>{null==s||s.internalEngine().animation.start()}},a))}));var m=()=>{var e,t;const l=(0,a.useStaticQuery)(d),r=null==l||null===(e=l.markdownRemark)||void 0===e||null===(t=e.frontmatter)||void 0===t?void 0:t.stack;return n.createElement(n.Fragment,null,r?n.createElement("section",{className:"h-28 flex flex-col relative",id:"clients"},n.createElement(c,{className:"grow"},r.map((e=>n.createElement("div",{key:e,className:"h-full shrink-0 min-w-0 cursor-pointer flex flex-col justify-between items-center content-center w-[352px] md:w-[400px] xl:w-[480px] 3xl:w-[576px]"},n.createElement(s(),{className:"min-w-0 shrink-0 w-full"}),n.createElement("p",{className:"text-4xl font-extrabold whitespace-nowrap"},e),n.createElement(s(),{className:"min-w-0 shrink-0 w-full"})))))):null)};const d="3518807326"},6183:function(e,t,l){"use strict";l.r(t),l.d(t,{Head:function(){return b},default:function(){return g}});var n=l(7294),a=l(9720),r=l(1929),s=l(735),i=l(1883),o=l(7576),c=l(2074),m=l(4471),d=l.n(m),u=l(8032);var f=e=>{let{review:{frontmatter:{company:t,person:l,position:a,location:r,image:s},html:i}}=e;const o=(0,u.c)(s);return n.createElement("div",{className:"h-full flex flex-col grow p-8 text-main-100",itemProp:"review",itemScope:!0,itemType:"https://schema.org/Review"},n.createElement("div",{className:"mb-6 flex flex-nowrap justify-start items-center border-b-[4px] border-dashed border-secondary-100 gradient-border pb-10",itemProp:"author",itemScope:!0,itemType:"https://schema.org/Person"},n.createElement("div",{className:"inline-block rounded-full h-32 w-32 flex items-center mr-10"},o?n.createElement(u.G,{image:o,alt:t,className:"h-full object-cover rounded-full h-32 w-32",itemProp:"image"}):null),n.createElement("div",null,n.createElement("h5",{className:"text-xl font-extrabold whitespace-nowrap",itemProp:"familyName"},l),n.createElement("h5",{className:"text-xl font-extrabold whitespace-nowrap"},n.createElement("span",{itemProp:"jobTitle"},a),","," ",n.createElement("span",{itemProp:"worksFor"},t)),n.createElement("h5",{className:"text-xl font-extrabold whitespace-nowrap",itemProp:"workLocation"},r))),n.createElement("div",{className:"review-body shrink-0 text-2xl",itemProp:"reviewBody",dangerouslySetInnerHTML:{__html:i}}))},h=l(216);var p=()=>{var e,t;const[l,a]=(0,o.Z)({loop:!0,dragFree:!0,duration:3e4,align:0},[(0,c.Z)({delay:0,stopOnInteraction:!1,stopOnMouseEnter:!0})]),r=(0,i.useStaticQuery)(v),s=null!=r&&null!==(e=r.allMarkdownRemark)&&void 0!==e&&null!==(t=e.nodes)&&void 0!==t&&t.length?r.allMarkdownRemark.nodes:null;return n.createElement(n.Fragment,null,s?n.createElement(n.Fragment,null,n.createElement(d(),{className:"w-full"}),n.createElement(h.Z,{fullWidth:!0,title:"our clients' testimonials",className:"bg-secondary-100 text-main-100 w-full"},n.createElement("div",{className:"w-full overflow-hidden min-h-max",ref:l},n.createElement("div",{id:"container",className:"flex",onMouseEnter:()=>{null==a||a.internalEngine().animation.stop()},onMouseLeave:()=>{null==a||a.internalEngine().animation.start()}},s.map((e=>n.createElement("div",{key:e.id,className:"flex shrink-0 min-w-0 cursor-pointer basis-full sm:basis-5/6 md:basis-4/6 lg:basis-1/2 xl:basis-2/5 3xl:basis-1/3 4xl:basis-1/4 rounded-2xl border-dashed border-main-10 mx-12 top-0 bottom-0"},n.createElement(f,{review:e}))))))),n.createElement(d(),{className:"w-full"})):null)};const v="687265830";var x=l(3793);var w=()=>{var e,t;const l=(0,i.useStaticQuery)(C),a=null!=l&&null!==(e=l.allMarkdownRemark)&&void 0!==e&&null!==(t=e.nodes)&&void 0!==t&&t.length?l.allMarkdownRemark.nodes[0]:null;return n.createElement(n.Fragment,null,a?n.createElement(h.Z,{title:"new in our blog",linkTitle:"all posts",section:"blog",className:"bg-main-100 text-secondary-100"},n.createElement(x.Z,{post:a,fontColor:"secondary"})):null)};const C="1671064017";var E=l(1601);var g=()=>n.createElement(a.Pd.Provider,{value:{style:{verticalAlign:"middle"}}},n.createElement(r.Z,{title:"OUTSTANDING OUTSOURCING",text:"the best developers ever",babylon:!0}),n.createElement(s.Z,null),n.createElement(E.Z,null),n.createElement(p,null),n.createElement(w,null));const b=()=>n.createElement("title",null,"CodeCave")},4471:function(e,t,l){var n=l(7294);function a(e){return n.createElement("svg",e,[n.createElement("line",{width:"800",height:"8",stroke:"white",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),n.createElement("line",{width:"800",height:"8",stroke:"black",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}a.defaultProps={height:"8"},e.exports=a,a.default=a},4344:function(e,t,l){var n=l(7294);function a(e){return n.createElement("svg",e,[n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.875 7.9375H111.125C113.23 7.9375 115.249 8.77377 116.738 10.2623C118.226 11.7509 119.062 13.7698 119.062 15.875V107.839L103.188 91.9639C100.211 88.9865 96.1738 87.3134 91.9639 87.3125H15.875C13.7698 87.3125 11.7509 86.4762 10.2623 84.9877C8.77377 83.4991 7.9375 81.4802 7.9375 79.375V15.875C7.9375 13.7698 8.77377 11.7509 10.2623 10.2623C11.7509 8.77377 13.7698 7.9375 15.875 7.9375ZM111.125 0C115.335 0 119.373 1.67254 122.35 4.64968C125.327 7.62682 127 11.6647 127 15.875V117.419C127 118.205 126.767 118.972 126.33 119.625C125.893 120.278 125.273 120.786 124.547 121.086C123.822 121.386 123.023 121.464 122.253 121.31C121.483 121.156 120.776 120.777 120.221 120.221L97.5757 97.5757C96.0875 96.087 94.0689 95.2505 91.9639 95.25H15.875C11.6647 95.25 7.62682 93.5775 4.64968 90.6003C1.67254 87.6232 0 83.5853 0 79.375V15.875C0 11.6647 1.67254 7.62682 4.64968 4.64968C7.62682 1.67254 11.6647 0 15.875 0L111.125 0Z",fill:"#FAFAFA",key:0}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M56.0865 37.7825C54.5404 35.3747 52.2544 33.5337 49.5723 32.5363C46.8902 31.5389 43.9569 31.439 41.2131 32.2515C38.4694 33.0641 36.0635 34.7453 34.357 37.0423C32.6506 39.3394 31.7358 42.1283 31.7502 44.9898C31.7516 47.3594 32.3893 49.6851 33.5968 51.7241C34.8042 53.763 36.537 55.4402 38.6142 56.5806C40.6914 57.721 43.0367 58.2826 45.4051 58.2069C47.7735 58.1311 50.0781 57.4207 52.0781 56.1499C51.0383 59.2376 49.1015 62.5316 45.9107 65.8336C45.3002 66.4652 44.9656 67.3134 44.9804 68.1916C44.9953 69.0699 45.3585 69.9063 45.99 70.5168C46.6216 71.1273 47.4698 71.4619 48.348 71.447C49.2263 71.4321 50.0627 71.0689 50.6732 70.4374C62.4683 58.2136 60.9364 44.9263 56.0865 37.7984V37.7825ZM87.8365 37.7825C86.2904 35.3747 84.0044 33.5337 81.3223 32.5363C78.6403 31.5389 75.7069 31.439 72.9631 32.2515C70.2194 33.0641 67.8135 34.7453 66.107 37.0423C64.4006 39.3394 63.4858 42.1283 63.5002 44.9898C63.5016 47.3594 64.1393 49.6851 65.3468 51.7241C66.5542 53.763 68.287 55.4402 70.3642 56.5806C72.4414 57.721 74.7867 58.2826 77.1551 58.2069C79.5235 58.1311 81.8281 57.4207 83.8281 56.1499C82.7883 59.2376 80.8515 62.5316 77.6607 65.8336C77.0502 66.4652 76.7156 67.3134 76.7304 68.1916C76.7453 69.0699 77.1085 69.9063 77.74 70.5168C78.3716 71.1273 79.2198 71.4619 80.098 71.447C80.9763 71.4321 81.8127 71.0689 82.4232 70.4374C94.2183 58.2136 92.6864 44.9263 87.8365 37.7984V37.7825Z",fill:"#FAFAFA",key:1})])}a.defaultProps={width:"127",height:"127",viewBox:"0 0 127 127",fill:"none"},e.exports=a,a.default=a},4697:function(e,t,l){var n=l(7294);function a(e){return n.createElement("svg",e,[n.createElement("g",{clipPath:"url(#clip0_829_432)",key:0},[n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.57938 1.14638C9.38658 1.13214 9.19332 1.12501 9 1.125V0C9.2211 0.000107806 9.44213 0.00836341 9.66262 0.02475L9.57938 1.14638ZM11.8339 1.65263C11.4733 1.51347 11.1029 1.40104 10.7258 1.31625L10.9721 0.21825C11.403 0.315 11.8271 0.44325 12.2389 0.603L11.8339 1.65263ZM13.3751 2.45138C13.2143 2.34411 13.0495 2.24279 12.8812 2.14763L13.4359 1.16888C13.8205 1.38683 14.1886 1.63274 14.5372 1.90463L13.8454 2.79225C13.6929 2.67326 13.536 2.55993 13.3751 2.4525V2.45138ZM15.4384 4.46513C15.2158 4.14897 14.9703 3.84966 14.7037 3.56963L15.5182 2.79338C15.822 3.114 16.1032 3.45713 16.3586 3.81713L15.4384 4.46513ZM16.2754 5.98613C16.2015 5.80777 16.1212 5.63215 16.0346 5.45963L17.0392 4.95338C17.2379 5.34835 17.4071 5.75746 17.5455 6.17738L16.4767 6.5295C16.4163 6.34597 16.3491 6.16473 16.2754 5.98613ZM16.8716 8.8065C16.8625 8.41988 16.8249 8.03446 16.7591 7.65338L17.8672 7.46213C17.9426 7.89638 17.9865 8.33738 17.9977 8.77838L16.8727 8.8065H16.8716ZM16.7242 10.5368C16.7614 10.3455 16.7917 10.1554 16.8154 9.963L17.9325 10.1014C17.8785 10.5403 17.792 10.9746 17.6737 11.4008L16.5892 11.1004C16.641 10.9148 16.686 10.7269 16.7242 10.5368ZM15.6532 13.2131C15.8602 12.8869 16.0425 12.5449 16.2 12.1916L17.2282 12.6473C17.0482 13.0523 16.8401 13.4415 16.6039 13.815L15.6532 13.2131ZM14.5687 14.5688C14.706 14.4315 14.8376 14.2898 14.9625 14.1435L15.8152 14.8781C15.6708 15.0456 15.5204 15.2077 15.3641 15.3641L14.5687 14.5688Z",fill:"black",key:0}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.99961 1.125C7.7046 1.12509 6.4296 1.44455 5.28753 2.05508C4.14547 2.66561 3.1716 3.54836 2.45217 4.62516C1.73275 5.70195 1.28998 6.93954 1.16308 8.22832C1.03618 9.5171 1.22907 10.8173 1.72466 12.0137C2.22025 13.2101 3.00325 14.2659 4.0043 15.0874C5.00535 15.909 6.19356 16.471 7.46368 16.7237C8.73381 16.9763 10.0466 16.9119 11.2859 16.536C12.5252 16.1601 13.6526 15.4844 14.5684 14.5688L15.3637 15.3641C14.3172 16.4113 13.0285 17.1841 11.6119 17.6141C10.1953 18.0442 8.69447 18.1182 7.24243 17.8295C5.79039 17.5409 4.43195 16.8986 3.28748 15.9595C2.143 15.0204 1.24784 13.8135 0.681284 12.4458C0.114733 11.078 -0.105707 9.59162 0.0394939 8.1183C0.184695 6.64499 0.691055 5.23024 1.51371 3.9994C2.33636 2.76855 3.44991 1.75962 4.75569 1.062C6.06147 0.364382 7.51916 -0.000392324 8.99961 3.16641e-07V1.125Z",fill:"black",key:1}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.4375 3.375C8.58668 3.375 8.72976 3.43426 8.83525 3.53975C8.94074 3.64524 9 3.78832 9 3.9375V9.79875L12.654 11.8867C12.7798 11.9626 12.8709 12.0847 12.9078 12.2268C12.9448 12.369 12.9247 12.5199 12.8518 12.6475C12.779 12.775 12.6591 12.869 12.5179 12.9093C12.3766 12.9496 12.2252 12.9331 12.096 12.8632L8.1585 10.6132C8.07241 10.5641 8.00084 10.493 7.95106 10.4073C7.90127 10.3215 7.87503 10.2241 7.875 10.125V3.9375C7.875 3.78832 7.93426 3.64524 8.03975 3.53975C8.14524 3.43426 8.28832 3.375 8.4375 3.375Z",fill:"black",key:2})]),n.createElement("defs",{key:1},n.createElement("clipPath",{id:"clip0_829_432"},n.createElement("rect",{width:"18",height:"18",fill:"white"})))])}a.defaultProps={width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},e.exports=a,a.default=a}}]); -//# sourceMappingURL=component---src-pages-index-tsx-8f11132d55ccda45c143.js.map \ No newline at end of file diff --git a/component---src-pages-index-tsx-8f11132d55ccda45c143.js.map b/component---src-pages-index-tsx-8f11132d55ccda45c143.js.map deleted file mode 100644 index 34c6541f..00000000 --- a/component---src-pages-index-tsx-8f11132d55ccda45c143.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---src-pages-index-tsx-8f11132d55ccda45c143.js","mappings":"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","sources":["webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/common/templateSection.tsx","webpack://code-cave/./src/components/posts/postPreview.tsx","webpack://code-cave/./src/components/projects/projectsSection.tsx","webpack://code-cave/./src/components/stack/stackCarousel.tsx","webpack://code-cave/./src/components/stack/stackSection.tsx","webpack://code-cave/./src/components/reviews/review.tsx","webpack://code-cave/./src/components/reviews/reviewsSection.tsx","webpack://code-cave/./src/components/posts/postSection.tsx","webpack://code-cave/./src/pages/index.tsx","webpack://code-cave/./src/assets/common/border.svg","webpack://code-cave/./src/assets/common/chat-right-quote.svg","webpack://code-cave/./src/assets/common/clock.svg"],"sourcesContent":["import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler);\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler);\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\"touchstart\", (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler);\n window.addEventListener(\"touchend\", () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n });\n });\n\n // UNMOUNT handler\n return () => {\n if (window) {\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n }\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.postMessage({ dispose: true });\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\nconst Banner = ({\n heightClass = \"min-h-160\",\n title,\n text,\n className,\n borderBottom,\n borderTop,\n babylon,\n}: {\n heightClass?: string;\n title: string;\n text: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n babylon?: boolean;\n}) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n
\n

\n \n {title.toUpperCase()}\n \n

\n

\n \n {text.toUpperCase()}\n \n

\n
\n {babylon ? (\n
\n \n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React, { PropsWithChildren } from \"react\";\nimport { Link } from \"gatsby\";\n\nimport ContentContainer from \"./contentContainer\";\n\nconst TemplateSection = ({\n section,\n title,\n linkTitle,\n className,\n fullWidth,\n children,\n}: PropsWithChildren<{\n title: string;\n linkTitle?: string;\n section?: string;\n className?: string;\n fullWidth?: boolean;\n}>) => (\n
\n \n
\n

\n {title.toUpperCase()}\n

\n {section ? (\n \n {linkTitle ? linkTitle.toUpperCase() : \"SEE MORE\"} →\n \n ) : null}\n
\n {children}\n
\n
\n);\n\nexport default TemplateSection;\n","import React from \"react\";\n\nimport { Link } from \"gatsby\";\n\nimport Quote from \"../../assets/common/chat-right-quote.svg\";\nimport Clock from \"../../assets/common/clock.svg\";\n\nimport { IPostPreviewQueryResult } from \"../../types/post.type\";\nimport { LocalBusinessMetadata } from \"../common/metadata\";\n\nconst PostPreview = ({\n post,\n className,\n fontColor,\n gradientBorder,\n}: {\n post: IPostPreviewQueryResult;\n className?: string;\n fontColor: \"main\" | \"secondary\";\n gradientBorder?: boolean;\n}) => {\n const { date, title, text } = post.frontmatter;\n\n const minutes = Math.floor(post.wordCount.words / 200);\n const readingTime = minutes ? minutes : 1;\n\n const fontColorClass100 =\n fontColor === \"main\" ? \"text-main-100\" : \"text-secondary-100\";\n const fontColorClass10 =\n fontColor === \"main\" ? \"text-main-100\" : \"text-secondary-10\";\n const fontColorHover =\n fontColor === \"main\" ? \"hover:text-main-10\" : \"hover:text-secondary-100\";\n\n return (\n \n \n \n \n
\n

{date}

\n \n {title}\n \n
\n
\n \n {text.split(\" \").slice(0, 60).join(\" \")}...\n

\n
\n

Read more

\n

\n \n\n \n Reading time: {readingTime}m.\n \n

\n
\n
\n \n \n );\n};\n\nexport default PostPreview;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { IProjectPreviewQueryResult } from \"../../types/project.type\";\n\nimport ProjectPreview from \"./projectPreview\";\nimport TemplateSection from \"../common/templateSection\";\n\nconst ProjectsSection = ({\n title,\n excludeId,\n}: {\n title?: string;\n excludeId?: string;\n}) => {\n const projectsData = useStaticQuery(query);\n\n let projects = (\n projectsData?.allMarkdownRemark?.nodes?.length\n ? projectsData.allMarkdownRemark.nodes\n : null\n ) as IProjectPreviewQueryResult[] | null;\n\n if (!projects) return <>;\n\n if (excludeId) {\n projects = projects.filter((project) => project.id !== excludeId);\n }\n\n return (\n \n
\n {projects.map((project, i) => {\n if (i === 3) return;\n return (\n \n );\n })}\n
\n \n );\n};\n\nexport default ProjectsSection;\n\nexport const query = graphql`\n query {\n allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"projects\" } } }\n sort: { frontmatter: { date: DESC } }\n limit: 4\n ) {\n nodes {\n id\n frontmatter {\n title\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 600\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n }\n`;\n","import React, { forwardRef } from \"react\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport Autoplay from \"embla-carousel-autoplay\";\n\nconst StackCarousel = forwardRef<\n HTMLDivElement,\n React.PropsWithChildren<{ className?: string }>\n>(({ className, children }, ref) => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n { loop: true, dragFree: true, duration: 10000, align: 0 },\n [\n Autoplay({\n delay: 0,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n }),\n ]\n );\n\n return (\n
\n {\n emblaApi?.internalEngine().animation.stop();\n }}\n onMouseLeave={() => {\n emblaApi?.internalEngine().animation.start();\n }}\n >\n {children}\n
\n \n );\n});\n\nexport default StackCarousel;\n","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nimport Border from \"../../assets/common/border.svg\";\nimport StackCarousel from \"./stackCarousel\";\n\nconst StackSection = () => {\n const techData = useStaticQuery(query);\n const techArr = techData?.markdownRemark?.frontmatter?.stack as\n | string[]\n | null;\n\n return (\n <>\n {techArr ? (\n
\n \n {techArr.map((tech) => (\n \n \n

\n {tech}\n

\n \n \n ))}\n
\n
\n ) : null}\n \n );\n};\n\nexport default StackSection;\n\nexport const query = graphql`\n query {\n markdownRemark(fields: { sourceName: { eq: \"stack\" } }) {\n frontmatter {\n stack\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IReviewQueryResult } from \"../../types/review.type\";\n\nconst Review = ({\n review: {\n frontmatter: { company, person, position, location, image },\n html,\n },\n}: {\n review: IReviewQueryResult;\n}) => {\n const avatar = getImage(image);\n\n return (\n \n \n \n {avatar ? (\n \n ) : null}\n \n
\n \n {person}\n \n
\n {position},{\" \"}\n {company}\n
\n \n {location}\n \n
\n \n \n \n );\n};\n\nexport default Review;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport Autoplay from \"embla-carousel-autoplay\";\n\nimport { IReviewQueryResult } from \"../../types/review.type\";\n\nimport Border from \"../../assets/common/border.svg\";\nimport Review from \"./review\";\nimport TemplateSection from \"../common/templateSection\";\n\nconst ReviewsSection = () => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n { loop: true, dragFree: true, duration: 30000, align: 0 },\n [\n Autoplay({\n delay: 0,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n }),\n ]\n );\n\n const reviewsData = useStaticQuery(query);\n\n const reviews = (\n reviewsData?.allMarkdownRemark?.nodes?.length\n ? reviewsData.allMarkdownRemark.nodes\n : null\n ) as IReviewQueryResult[] | null;\n\n return (\n <>\n {reviews ? (\n <>\n \n \n
\n {\n emblaApi?.internalEngine().animation.stop();\n }}\n onMouseLeave={() => {\n emblaApi?.internalEngine().animation.start();\n }}\n >\n {reviews.map((review) => (\n \n {}\n
\n ))}\n \n \n \n \n \n ) : null}\n \n );\n};\n\nexport default ReviewsSection;\n\nexport const query = graphql`\n query {\n allMarkdownRemark(filter: { fields: { sourceName: { eq: \"reviews\" } } }) {\n nodes {\n id\n html\n frontmatter {\n company\n location\n person\n position\n image {\n childImageSharp {\n gatsbyImageData(\n height: 112\n placeholder: BLURRED\n formats: [AUTO, AVIF, WEBP]\n )\n }\n }\n }\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { IPostPreviewQueryResult } from \"../../types/post.type\";\n\nimport PostPreview from \"./postPreview\";\nimport TemplateSection from \"../common/templateSection\";\n\nconst PostSection = () => {\n const postData = useStaticQuery(query);\n\n const post = (\n postData?.allMarkdownRemark?.nodes?.length\n ? postData.allMarkdownRemark.nodes[0]\n : null\n ) as IPostPreviewQueryResult | null;\n\n return (\n <>\n {post ? (\n \n \n \n ) : null}\n \n );\n};\n\nexport default PostSection;\n\nexport const query = graphql`\n query {\n allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"posts\" } } }\n sort: { frontmatter: { date: DESC } }\n limit: 1\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"MMM DD, YYYY\")\n title\n text\n }\n wordCount {\n words\n }\n }\n }\n }\n`;\n","import * as React from \"react\";\nimport type { HeadFC } from \"gatsby\";\n\nimport { IconContext } from \"@react-icons/all-files\";\nimport \"../styles/styles.css\";\n\nimport Banner from \"../components/common/banner\";\nimport StackSection from \"../components/stack/stackSection\";\nimport ReviewsSection from \"../components/reviews/reviewsSection\";\nimport PostSection from \"../components/posts/postSection\";\nimport ProjectsSection from \"../components/projects/projectsSection\";\n\nconst IndexPage = () => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nexport default IndexPage;\n\nexport const Head: HeadFC = () => CodeCave;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"white\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"black\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n","var React = require('react');\n\nfunction ChatRightQuote (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15.875 7.9375H111.125C113.23 7.9375 115.249 8.77377 116.738 10.2623C118.226 11.7509 119.062 13.7698 119.062 15.875V107.839L103.188 91.9639C100.211 88.9865 96.1738 87.3134 91.9639 87.3125H15.875C13.7698 87.3125 11.7509 86.4762 10.2623 84.9877C8.77377 83.4991 7.9375 81.4802 7.9375 79.375V15.875C7.9375 13.7698 8.77377 11.7509 10.2623 10.2623C11.7509 8.77377 13.7698 7.9375 15.875 7.9375ZM111.125 0C115.335 0 119.373 1.67254 122.35 4.64968C125.327 7.62682 127 11.6647 127 15.875V117.419C127 118.205 126.767 118.972 126.33 119.625C125.893 120.278 125.273 120.786 124.547 121.086C123.822 121.386 123.023 121.464 122.253 121.31C121.483 121.156 120.776 120.777 120.221 120.221L97.5757 97.5757C96.0875 96.087 94.0689 95.2505 91.9639 95.25H15.875C11.6647 95.25 7.62682 93.5775 4.64968 90.6003C1.67254 87.6232 0 83.5853 0 79.375V15.875C0 11.6647 1.67254 7.62682 4.64968 4.64968C7.62682 1.67254 11.6647 0 15.875 0L111.125 0Z\",\"fill\":\"#FAFAFA\",\"key\":0}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M56.0865 37.7825C54.5404 35.3747 52.2544 33.5337 49.5723 32.5363C46.8902 31.5389 43.9569 31.439 41.2131 32.2515C38.4694 33.0641 36.0635 34.7453 34.357 37.0423C32.6506 39.3394 31.7358 42.1283 31.7502 44.9898C31.7516 47.3594 32.3893 49.6851 33.5968 51.7241C34.8042 53.763 36.537 55.4402 38.6142 56.5806C40.6914 57.721 43.0367 58.2826 45.4051 58.2069C47.7735 58.1311 50.0781 57.4207 52.0781 56.1499C51.0383 59.2376 49.1015 62.5316 45.9107 65.8336C45.3002 66.4652 44.9656 67.3134 44.9804 68.1916C44.9953 69.0699 45.3585 69.9063 45.99 70.5168C46.6216 71.1273 47.4698 71.4619 48.348 71.447C49.2263 71.4321 50.0627 71.0689 50.6732 70.4374C62.4683 58.2136 60.9364 44.9263 56.0865 37.7984V37.7825ZM87.8365 37.7825C86.2904 35.3747 84.0044 33.5337 81.3223 32.5363C78.6403 31.5389 75.7069 31.439 72.9631 32.2515C70.2194 33.0641 67.8135 34.7453 66.107 37.0423C64.4006 39.3394 63.4858 42.1283 63.5002 44.9898C63.5016 47.3594 64.1393 49.6851 65.3468 51.7241C66.5542 53.763 68.287 55.4402 70.3642 56.5806C72.4414 57.721 74.7867 58.2826 77.1551 58.2069C79.5235 58.1311 81.8281 57.4207 83.8281 56.1499C82.7883 59.2376 80.8515 62.5316 77.6607 65.8336C77.0502 66.4652 76.7156 67.3134 76.7304 68.1916C76.7453 69.0699 77.1085 69.9063 77.74 70.5168C78.3716 71.1273 79.2198 71.4619 80.098 71.447C80.9763 71.4321 81.8127 71.0689 82.4232 70.4374C94.2183 58.2136 92.6864 44.9263 87.8365 37.7984V37.7825Z\",\"fill\":\"#FAFAFA\",\"key\":1})]);\n}\n\nChatRightQuote.defaultProps = {\"width\":\"127\",\"height\":\"127\",\"viewBox\":\"0 0 127 127\",\"fill\":\"none\"};\n\nmodule.exports = ChatRightQuote;\n\nChatRightQuote.default = ChatRightQuote;\n","var React = require('react');\n\nfunction Clock (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"g\",{\"clipPath\":\"url(#clip0_829_432)\",\"key\":0},[React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9.57938 1.14638C9.38658 1.13214 9.19332 1.12501 9 1.125V0C9.2211 0.000107806 9.44213 0.00836341 9.66262 0.02475L9.57938 1.14638ZM11.8339 1.65263C11.4733 1.51347 11.1029 1.40104 10.7258 1.31625L10.9721 0.21825C11.403 0.315 11.8271 0.44325 12.2389 0.603L11.8339 1.65263ZM13.3751 2.45138C13.2143 2.34411 13.0495 2.24279 12.8812 2.14763L13.4359 1.16888C13.8205 1.38683 14.1886 1.63274 14.5372 1.90463L13.8454 2.79225C13.6929 2.67326 13.536 2.55993 13.3751 2.4525V2.45138ZM15.4384 4.46513C15.2158 4.14897 14.9703 3.84966 14.7037 3.56963L15.5182 2.79338C15.822 3.114 16.1032 3.45713 16.3586 3.81713L15.4384 4.46513ZM16.2754 5.98613C16.2015 5.80777 16.1212 5.63215 16.0346 5.45963L17.0392 4.95338C17.2379 5.34835 17.4071 5.75746 17.5455 6.17738L16.4767 6.5295C16.4163 6.34597 16.3491 6.16473 16.2754 5.98613ZM16.8716 8.8065C16.8625 8.41988 16.8249 8.03446 16.7591 7.65338L17.8672 7.46213C17.9426 7.89638 17.9865 8.33738 17.9977 8.77838L16.8727 8.8065H16.8716ZM16.7242 10.5368C16.7614 10.3455 16.7917 10.1554 16.8154 9.963L17.9325 10.1014C17.8785 10.5403 17.792 10.9746 17.6737 11.4008L16.5892 11.1004C16.641 10.9148 16.686 10.7269 16.7242 10.5368ZM15.6532 13.2131C15.8602 12.8869 16.0425 12.5449 16.2 12.1916L17.2282 12.6473C17.0482 13.0523 16.8401 13.4415 16.6039 13.815L15.6532 13.2131ZM14.5687 14.5688C14.706 14.4315 14.8376 14.2898 14.9625 14.1435L15.8152 14.8781C15.6708 15.0456 15.5204 15.2077 15.3641 15.3641L14.5687 14.5688Z\",\"fill\":\"black\",\"key\":0}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.99961 1.125C7.7046 1.12509 6.4296 1.44455 5.28753 2.05508C4.14547 2.66561 3.1716 3.54836 2.45217 4.62516C1.73275 5.70195 1.28998 6.93954 1.16308 8.22832C1.03618 9.5171 1.22907 10.8173 1.72466 12.0137C2.22025 13.2101 3.00325 14.2659 4.0043 15.0874C5.00535 15.909 6.19356 16.471 7.46368 16.7237C8.73381 16.9763 10.0466 16.9119 11.2859 16.536C12.5252 16.1601 13.6526 15.4844 14.5684 14.5688L15.3637 15.3641C14.3172 16.4113 13.0285 17.1841 11.6119 17.6141C10.1953 18.0442 8.69447 18.1182 7.24243 17.8295C5.79039 17.5409 4.43195 16.8986 3.28748 15.9595C2.143 15.0204 1.24784 13.8135 0.681284 12.4458C0.114733 11.078 -0.105707 9.59162 0.0394939 8.1183C0.184695 6.64499 0.691055 5.23024 1.51371 3.9994C2.33636 2.76855 3.44991 1.75962 4.75569 1.062C6.06147 0.364382 7.51916 -0.000392324 8.99961 3.16641e-07V1.125Z\",\"fill\":\"black\",\"key\":1}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.4375 3.375C8.58668 3.375 8.72976 3.43426 8.83525 3.53975C8.94074 3.64524 9 3.78832 9 3.9375V9.79875L12.654 11.8867C12.7798 11.9626 12.8709 12.0847 12.9078 12.2268C12.9448 12.369 12.9247 12.5199 12.8518 12.6475C12.779 12.775 12.6591 12.869 12.5179 12.9093C12.3766 12.9496 12.2252 12.9331 12.096 12.8632L8.1585 10.6132C8.07241 10.5641 8.00084 10.493 7.95106 10.4073C7.90127 10.3215 7.87503 10.2241 7.875 10.125V3.9375C7.875 3.78832 7.93426 3.64524 8.03975 3.53975C8.14524 3.43426 8.28832 3.375 8.4375 3.375Z\",\"fill\":\"black\",\"key\":2})]),React.createElement(\"defs\",{\"key\":1},React.createElement(\"clipPath\",{\"id\":\"clip0_829_432\"},React.createElement(\"rect\",{\"width\":\"18\",\"height\":\"18\",\"fill\":\"white\"})))]);\n}\n\nClock.defaultProps = {\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\"};\n\nmodule.exports = Clock;\n\nClock.default = Clock;\n"],"names":["_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","dispose","ref","Spinner","heightClass","title","text","borderBottom","borderTop","babylon","textTranslate","setTextTranslate","Border","ContentContainer","toUpperCase","section","linkTitle","fullWidth","children","Link","to","post","fontColor","gradientBorder","date","frontmatter","minutes","Math","floor","wordCount","words","readingTime","fontColorClass100","fontColorClass10","fontColorHover","id","itemScope","itemType","itemProp","Quote","split","slice","join","Clock","LocalBusinessMetadata","_projectsData$allMark","_projectsData$allMark2","excludeId","projectsData","useStaticQuery","query","projects","allMarkdownRemark","nodes","filter","project","TemplateSection","map","i","ProjectPreview","key","theme","forwardRef","emblaRef","emblaApi","useEmblaCarousel","loop","dragFree","duration","align","Autoplay","delay","stopOnInteraction","stopOnMouseEnter","onMouseEnter","internalEngine","animation","stop","onMouseLeave","start","StackSection","_techData$markdownRem","_techData$markdownRem2","techData","techArr","markdownRemark","stack","StackCarousel","tech","review","company","person","position","location","image","html","avatar","getImage","GatsbyImage","alt","dangerouslySetInnerHTML","__html","ReviewsSection","_reviewsData$allMarkd","_reviewsData$allMarkd2","reviewsData","reviews","Review","PostSection","_postData$allMarkdown","_postData$allMarkdown2","postData","PostPreview","IndexPage","IconContext","Provider","value","style","verticalAlign","Banner","ProjectsSection","Head","props","createElement","defaultProps","module","exports","default","ChatRightQuote"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-services-tsx-004b5c906bc78a1f96ae.js b/component---src-pages-services-tsx-004b5c906bc78a1f96ae.js new file mode 100644 index 00000000..1d05a3e2 --- /dev/null +++ b/component---src-pages-services-tsx-004b5c906bc78a1f96ae.js @@ -0,0 +1,2 @@ +(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[858],{1929:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var l=n(7294),r=n(4471),a=n.n(r),s=n(1164);var o=e=>{let{className:t}=e;return l.createElement("div",{className:"flex justify-center items-center h-full w-full "+t},l.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var i=()=>{const{0:e,1:t}=(0,l.useState)(!1),r=(0,l.useRef)(!0),a=(0,l.useRef)(null);return(0,l.useEffect)((()=>{if(!r.current||!a.current||"undefined"==typeof window)return;r.current=!1;const e=new Worker(new URL(n.p+n.u(475),n.b),{type:void 0});e.onmessage=e=>{let{data:n}=e;"ready"===n&&t(!0)};const l=a.current;l.width=l.clientWidth,l.height=l.clientHeight;const s=l.transferControlToOffscreen();e.postMessage({canvas:s},[s]);const o=()=>{e.postMessage({width:l.clientWidth,height:l.clientHeight})};window.addEventListener("resize",o);const i=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};l.addEventListener("wheel",i);const c=t=>{e.postMessage({x:t.movementX,y:t.movementY})};l.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",c),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",c)),{once:!0})}));let m;return l.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const n=t.touches[0];t.preventDefault();const l={x:n.screenX,y:n.screenY};m=t=>{const{newX:n,newY:r}=((t,n)=>{const l=t.touches[0];return e.postMessage({x:l.screenX-n.x,y:l.screenY-n.y}),{newX:l.screenX,newY:l.screenY}})(t,l);l.x=n,l.y=r},window.addEventListener("touchmove",m),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",m)}))})),()=>{window&&(window.removeEventListener("resize",o),window.removeEventListener("mousemove",c),window.removeEventListener("touchmove",m),l&&l.removeEventListener("wheel",i),e.terminate())}}),[]),l.createElement("div",{className:"h-full w-full relative"},l.createElement("canvas",{ref:a,className:"bg-main-100 h-160 w-full flex items-center justify-center cursor-pointer"}),e?null:l.createElement(o,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var c=e=>{let{heightClass:t="min-h-160",title:n,text:r,className:o,borderBottom:c,borderTop:m,babylon:u}=e;const{0:d,1:f}=(0,l.useState)("translate-y-full");return(0,l.useEffect)((()=>{f("translate-y-0")}),[]),l.createElement("div",{className:"w-full flex items-center bg-main-100 relative overflow-hidden px-6 "+t+" "+o},m?l.createElement(a(),{className:"absolute top-0 left-0 right-0 w-full"}):null,l.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center text-secondary-100 flex-grow"},l.createElement("div",{className:"flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full lg:w-1/2 bg-main-100"},l.createElement("h2",{className:"overflow-hidden mb-8 w-full"},l.createElement("span",{className:"inline-block font-['Rubik_Glitch'] text-5xl sm:text-6xl w-full text-center lg:text-start transition-all duration-1000 "+d},n.toUpperCase())),l.createElement("p",{className:"overflow-hidden w-full"},l.createElement("span",{className:"inline-block w-full text-3xl sm:text-4xl font-light text-center lg:text-start transition-all duration-1000 "+d},r.toUpperCase()))),u?l.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full flex"},l.createElement(i,null)):null),c?l.createElement(a(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},735:function(e,t,n){"use strict";n.d(t,{Z:function(){return m}});var l=n(7294),r=n(1883),a=n(4471),s=n.n(a),o=n(7576),i=n(2074);var c=(0,l.forwardRef)(((e,t)=>{let{className:n,children:r}=e;const[a,s]=(0,o.Z)({loop:!0,dragFree:!0,duration:1e4,align:0},[(0,i.Z)({delay:0,stopOnInteraction:!1,stopOnMouseEnter:!0})]);return l.createElement("div",{className:"overflow-hidden "+n,ref:a},l.createElement("div",{ref:t,className:"h-full flex items-center",onMouseEnter:()=>{null==s||s.internalEngine().animation.stop()},onMouseLeave:()=>{null==s||s.internalEngine().animation.start()}},r))}));var m=()=>{var e,t;const n=(0,r.useStaticQuery)(u),a=null==n||null===(e=n.markdownRemark)||void 0===e||null===(t=e.frontmatter)||void 0===t?void 0:t.stack;return l.createElement(l.Fragment,null,a?l.createElement("section",{className:"h-28 flex flex-col relative",id:"clients"},l.createElement(c,{className:"grow"},a.map((e=>l.createElement("div",{key:e,className:"h-full shrink-0 min-w-0 cursor-pointer flex flex-col justify-between items-center content-center w-[352px] md:w-[400px] xl:w-[480px] 3xl:w-[576px]"},l.createElement(s(),{className:"min-w-0 shrink-0 w-full"}),l.createElement("p",{className:"text-4xl font-extrabold whitespace-nowrap"},e),l.createElement(s(),{className:"min-w-0 shrink-0 w-full"})))))):null)};const u="3518807326"},8253:function(e,t,n){"use strict";n.r(t),n.d(t,{Head:function(){return m},default:function(){return c}});var l=n(7294),r=n(1883),a=n(1929),s=n(1164);var o=e=>{let{service:t,className:n}=e;const{html:r,frontmatter:{title:a,image:{publicURL:s}}}=t;return l.createElement("div",{className:"service-preview break-inside-avoid flex flex-col h-min rounded-2xl p-10 mx-2 my-10 first:mt-0 md:mx-3 border-[3px] border-dashed border-main-100 text-secondary-100 cursor-pointer hover:invert transition "+n,itemScope:!0,itemType:"https://schema.org/Service"},l.createElement("div",{className:"flex items-center"},l.createElement("img",{src:s,alt:a+" logo",className:"mr-7 invert"}),l.createElement("h4",{className:"font-extrabold text-2xl",itemProp:"serviceType"},a)),l.createElement("div",{className:"text-xl",dangerouslySetInnerHTML:{__html:r},itemProp:"description"}))},i=n(735);var c=()=>{var e,t;const n=(0,r.useStaticQuery)(u);let c=null!=n&&null!==(e=n.allMarkdownRemark)&&void 0!==e&&null!==(t=e.nodes)&&void 0!==t&&t.length?n.allMarkdownRemark.nodes:null;return l.createElement(l.Fragment,null,l.createElement(a.Z,{heightClass:"h-136",title:"our expertise is your advantage",text:""}),l.createElement(i.Z,null),l.createElement("div",{className:"bg-main-100"},l.createElement(s.Z,{className:"flex-col items-center p-6 md:p-12"},l.createElement("div",{className:"columns-1 md:columns-2 w-full py-14"},c?c.map((e=>l.createElement(o,{service:e,key:e.id}))):null))))};const m=()=>l.createElement("title",null,"CodeCave Services"),u="2803081629"},4471:function(e,t,n){var l=n(7294);function r(e){return l.createElement("svg",e,[l.createElement("line",{width:"800",height:"8",stroke:"white",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),l.createElement("line",{width:"800",height:"8",stroke:"black",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}r.defaultProps={height:"8"},e.exports=r,r.default=r}}]); +//# sourceMappingURL=component---src-pages-services-tsx-004b5c906bc78a1f96ae.js.map \ No newline at end of file diff --git a/component---src-pages-services-tsx-004b5c906bc78a1f96ae.js.map b/component---src-pages-services-tsx-004b5c906bc78a1f96ae.js.map new file mode 100644 index 00000000..fa322e29 --- /dev/null +++ b/component---src-pages-services-tsx-004b5c906bc78a1f96ae.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---src-pages-services-tsx-004b5c906bc78a1f96ae.js","mappings":"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","sources":["webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/stack/stackCarousel.tsx","webpack://code-cave/./src/components/stack/stackSection.tsx","webpack://code-cave/./src/components/services/servicePreview.tsx","webpack://code-cave/./src/pages/services.tsx","webpack://code-cave/./src/assets/common/border.svg"],"sourcesContent":["import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler);\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler);\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\"touchstart\", (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler);\n window.addEventListener(\"touchend\", () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n });\n });\n\n // UNMOUNT handler\n return () => {\n if (!window) return;\n\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.terminate();\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\nconst Banner = ({\n heightClass = \"min-h-160\",\n title,\n text,\n className,\n borderBottom,\n borderTop,\n babylon,\n}: {\n heightClass?: string;\n title: string;\n text: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n babylon?: boolean;\n}) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n
\n

\n \n {title.toUpperCase()}\n \n

\n

\n \n {text.toUpperCase()}\n \n

\n
\n {babylon ? (\n
\n \n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React, { forwardRef } from \"react\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport Autoplay from \"embla-carousel-autoplay\";\n\nconst StackCarousel = forwardRef<\n HTMLDivElement,\n React.PropsWithChildren<{ className?: string }>\n>(({ className, children }, ref) => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n { loop: true, dragFree: true, duration: 10000, align: 0 },\n [\n Autoplay({\n delay: 0,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n }),\n ]\n );\n\n return (\n
\n {\n emblaApi?.internalEngine().animation.stop();\n }}\n onMouseLeave={() => {\n emblaApi?.internalEngine().animation.start();\n }}\n >\n {children}\n
\n \n );\n});\n\nexport default StackCarousel;\n","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nimport Border from \"../../assets/common/border.svg\";\nimport StackCarousel from \"./stackCarousel\";\n\nconst StackSection = () => {\n const techData = useStaticQuery(query);\n const techArr = techData?.markdownRemark?.frontmatter?.stack as\n | string[]\n | null;\n\n return (\n <>\n {techArr ? (\n
\n \n {techArr.map((tech) => (\n \n \n

\n {tech}\n

\n \n \n ))}\n
\n
\n ) : null}\n \n );\n};\n\nexport default StackSection;\n\nexport const query = graphql`\n query {\n markdownRemark(fields: { sourceName: { eq: \"stack\" } }) {\n frontmatter {\n stack\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { IServicePreview } from \"../../types/services.type\";\n\nconst ServicePreview = ({\n service,\n className,\n}: {\n service: IServicePreview;\n className?: string;\n}) => {\n const {\n html,\n frontmatter: {\n title,\n image: { publicURL: imageURL },\n },\n } = service;\n\n return (\n \n
\n {`${title}\n

\n {title}\n

\n
\n \n \n );\n};\n\nexport default ServicePreview;\n","import React from \"react\";\n\nimport { HeadFC, useStaticQuery } from \"gatsby\";\nimport { graphql } from \"gatsby\";\n\nimport { IServicePreview } from \"../types/services.type\";\n\nimport Banner from \"../components/common/banner\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport ServicePreview from \"../components/services/servicePreview\";\nimport StackSection from \"../components/stack/stackSection\";\n\nconst Services = () => {\n const servicesData = useStaticQuery(query);\n let services = (\n servicesData?.allMarkdownRemark?.nodes?.length\n ? servicesData.allMarkdownRemark.nodes\n : null\n ) as IServicePreview[] | null;\n\n return (\n <>\n \n \n
\n \n
\n {services\n ? services.map((service) => (\n \n ))\n : null}\n
\n
\n
\n \n );\n};\n\nexport default Services;\n\nexport const Head: HeadFC = () => CodeCave Services;\n\nconst query = graphql`\n query {\n allMarkdownRemark(filter: { fields: { sourceName: { eq: \"services\" } } }) {\n nodes {\n id\n html\n frontmatter {\n title\n image {\n publicURL\n }\n }\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"white\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"black\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n"],"names":["_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","terminate","ref","Spinner","heightClass","title","text","borderBottom","borderTop","babylon","textTranslate","setTextTranslate","Border","ContentContainer","toUpperCase","forwardRef","children","emblaRef","emblaApi","useEmblaCarousel","loop","dragFree","duration","align","Autoplay","delay","stopOnInteraction","stopOnMouseEnter","onMouseEnter","internalEngine","animation","stop","onMouseLeave","start","StackSection","_techData$markdownRem","_techData$markdownRem2","techData","useStaticQuery","query","techArr","markdownRemark","frontmatter","stack","id","StackCarousel","map","tech","key","service","html","image","publicURL","imageURL","itemScope","itemType","src","alt","itemProp","dangerouslySetInnerHTML","__html","Services","_servicesData$allMark","_servicesData$allMark2","servicesData","services","allMarkdownRemark","nodes","Banner","ServicePreview","Head","props","createElement","defaultProps","module","exports","default"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-services-tsx-ad089d9c65e0d5421453.js b/component---src-pages-services-tsx-ad089d9c65e0d5421453.js deleted file mode 100644 index b4bab7a5..00000000 --- a/component---src-pages-services-tsx-ad089d9c65e0d5421453.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[858],{1929:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var l=n(7294),r=n(4471),a=n.n(r),s=n(1164);var o=e=>{let{className:t}=e;return l.createElement("div",{className:"flex justify-center items-center h-full w-full "+t},l.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var i=()=>{const{0:e,1:t}=(0,l.useState)(!1),r=(0,l.useRef)(!0),a=(0,l.useRef)(null);return(0,l.useEffect)((()=>{if(!r.current||!a.current||"undefined"==typeof window)return;r.current=!1;const e=new Worker(new URL(n.p+n.u(475),n.b),{type:void 0});e.onmessage=e=>{let{data:n}=e;"ready"===n&&t(!0)};const l=a.current;l.width=l.clientWidth,l.height=l.clientHeight;const s=l.transferControlToOffscreen();e.postMessage({canvas:s},[s]);const o=()=>{e.postMessage({width:l.clientWidth,height:l.clientHeight})};window.addEventListener("resize",o);const i=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};l.addEventListener("wheel",i);const c=t=>{e.postMessage({x:t.movementX,y:t.movementY})};l.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",c),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",c)),{once:!0})}));let m;return l.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const n=t.touches[0];t.preventDefault();const l={x:n.screenX,y:n.screenY};m=t=>{const{newX:n,newY:r}=((t,n)=>{const l=t.touches[0];return e.postMessage({x:l.screenX-n.x,y:l.screenY-n.y}),{newX:l.screenX,newY:l.screenY}})(t,l);l.x=n,l.y=r},window.addEventListener("touchmove",m),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",m)}))})),()=>{window&&(window.removeEventListener("resize",o),window.removeEventListener("mousemove",c),window.removeEventListener("touchmove",m)),l&&l.removeEventListener("wheel",i),e.postMessage({dispose:!0})}}),[]),l.createElement("div",{className:"h-full w-full relative"},l.createElement("canvas",{ref:a,className:"bg-main-100 h-160 w-full flex items-center justify-center cursor-pointer"}),e?null:l.createElement(o,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var c=e=>{let{heightClass:t="min-h-160",title:n,text:r,className:o,borderBottom:c,borderTop:m,babylon:u}=e;const{0:d,1:f}=(0,l.useState)("translate-y-full");return(0,l.useEffect)((()=>{f("translate-y-0")}),[]),l.createElement("div",{className:"w-full flex items-center bg-main-100 relative overflow-hidden px-6 "+t+" "+o},m?l.createElement(a(),{className:"absolute top-0 left-0 right-0 w-full"}):null,l.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center text-secondary-100 flex-grow"},l.createElement("div",{className:"flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full lg:w-1/2 bg-main-100"},l.createElement("h2",{className:"overflow-hidden mb-8 w-full"},l.createElement("span",{className:"inline-block font-['Rubik_Glitch'] text-5xl sm:text-6xl w-full text-center lg:text-start transition-all duration-1000 "+d},n.toUpperCase())),l.createElement("p",{className:"overflow-hidden w-full"},l.createElement("span",{className:"inline-block w-full text-3xl sm:text-4xl font-light text-center lg:text-start transition-all duration-1000 "+d},r.toUpperCase()))),u?l.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full flex"},l.createElement(i,null)):null),c?l.createElement(a(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},735:function(e,t,n){"use strict";n.d(t,{Z:function(){return m}});var l=n(7294),r=n(1883),a=n(4471),s=n.n(a),o=n(7576),i=n(2074);var c=(0,l.forwardRef)(((e,t)=>{let{className:n,children:r}=e;const[a,s]=(0,o.Z)({loop:!0,dragFree:!0,duration:1e4,align:0},[(0,i.Z)({delay:0,stopOnInteraction:!1,stopOnMouseEnter:!0})]);return l.createElement("div",{className:"overflow-hidden "+n,ref:a},l.createElement("div",{ref:t,className:"h-full flex items-center",onMouseEnter:()=>{null==s||s.internalEngine().animation.stop()},onMouseLeave:()=>{null==s||s.internalEngine().animation.start()}},r))}));var m=()=>{var e,t;const n=(0,r.useStaticQuery)(u),a=null==n||null===(e=n.markdownRemark)||void 0===e||null===(t=e.frontmatter)||void 0===t?void 0:t.stack;return l.createElement(l.Fragment,null,a?l.createElement("section",{className:"h-28 flex flex-col relative",id:"clients"},l.createElement(c,{className:"grow"},a.map((e=>l.createElement("div",{key:e,className:"h-full shrink-0 min-w-0 cursor-pointer flex flex-col justify-between items-center content-center w-[352px] md:w-[400px] xl:w-[480px] 3xl:w-[576px]"},l.createElement(s(),{className:"min-w-0 shrink-0 w-full"}),l.createElement("p",{className:"text-4xl font-extrabold whitespace-nowrap"},e),l.createElement(s(),{className:"min-w-0 shrink-0 w-full"})))))):null)};const u="3518807326"},8253:function(e,t,n){"use strict";n.r(t),n.d(t,{Head:function(){return m},default:function(){return c}});var l=n(7294),r=n(1883),a=n(1929),s=n(1164);var o=e=>{let{service:t,className:n}=e;const{html:r,frontmatter:{title:a,image:{publicURL:s}}}=t;return l.createElement("div",{className:"service-preview break-inside-avoid flex flex-col h-min rounded-2xl p-10 mx-2 my-10 first:mt-0 md:mx-3 border-[3px] border-dashed border-main-100 text-secondary-100 cursor-pointer hover:invert transition "+n,itemScope:!0,itemType:"https://schema.org/Service"},l.createElement("div",{className:"flex items-center"},l.createElement("img",{src:s,alt:a+" logo",className:"mr-7 invert"}),l.createElement("h4",{className:"font-extrabold text-2xl",itemProp:"serviceType"},a)),l.createElement("div",{className:"text-xl",dangerouslySetInnerHTML:{__html:r},itemProp:"description"}))},i=n(735);var c=()=>{var e,t;const n=(0,r.useStaticQuery)(u);let c=null!=n&&null!==(e=n.allMarkdownRemark)&&void 0!==e&&null!==(t=e.nodes)&&void 0!==t&&t.length?n.allMarkdownRemark.nodes:null;return l.createElement(l.Fragment,null,l.createElement(a.Z,{heightClass:"h-136",title:"our expertise is your advantage",text:""}),l.createElement(i.Z,null),l.createElement("div",{className:"bg-main-100"},l.createElement(s.Z,{className:"flex-col items-center p-6 md:p-12"},l.createElement("div",{className:"columns-1 md:columns-2 w-full py-14"},c?c.map((e=>l.createElement(o,{service:e,key:e.id}))):null))))};const m=()=>l.createElement("title",null,"CodeCave Services"),u="2803081629"},4471:function(e,t,n){var l=n(7294);function r(e){return l.createElement("svg",e,[l.createElement("line",{width:"800",height:"8",stroke:"white",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),l.createElement("line",{width:"800",height:"8",stroke:"black",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}r.defaultProps={height:"8"},e.exports=r,r.default=r}}]); -//# sourceMappingURL=component---src-pages-services-tsx-ad089d9c65e0d5421453.js.map \ No newline at end of file diff --git a/component---src-pages-services-tsx-ad089d9c65e0d5421453.js.map b/component---src-pages-services-tsx-ad089d9c65e0d5421453.js.map deleted file mode 100644 index 434cc20d..00000000 --- a/component---src-pages-services-tsx-ad089d9c65e0d5421453.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---src-pages-services-tsx-ad089d9c65e0d5421453.js","mappings":"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","sources":["webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/stack/stackCarousel.tsx","webpack://code-cave/./src/components/stack/stackSection.tsx","webpack://code-cave/./src/components/services/servicePreview.tsx","webpack://code-cave/./src/pages/services.tsx","webpack://code-cave/./src/assets/common/border.svg"],"sourcesContent":["import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler);\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler);\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\"touchstart\", (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler);\n window.addEventListener(\"touchend\", () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n });\n });\n\n // UNMOUNT handler\n return () => {\n if (window) {\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n }\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.postMessage({ dispose: true });\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\nconst Banner = ({\n heightClass = \"min-h-160\",\n title,\n text,\n className,\n borderBottom,\n borderTop,\n babylon,\n}: {\n heightClass?: string;\n title: string;\n text: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n babylon?: boolean;\n}) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n
\n

\n \n {title.toUpperCase()}\n \n

\n

\n \n {text.toUpperCase()}\n \n

\n
\n {babylon ? (\n
\n \n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React, { forwardRef } from \"react\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport Autoplay from \"embla-carousel-autoplay\";\n\nconst StackCarousel = forwardRef<\n HTMLDivElement,\n React.PropsWithChildren<{ className?: string }>\n>(({ className, children }, ref) => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n { loop: true, dragFree: true, duration: 10000, align: 0 },\n [\n Autoplay({\n delay: 0,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n }),\n ]\n );\n\n return (\n
\n {\n emblaApi?.internalEngine().animation.stop();\n }}\n onMouseLeave={() => {\n emblaApi?.internalEngine().animation.start();\n }}\n >\n {children}\n
\n \n );\n});\n\nexport default StackCarousel;\n","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nimport Border from \"../../assets/common/border.svg\";\nimport StackCarousel from \"./stackCarousel\";\n\nconst StackSection = () => {\n const techData = useStaticQuery(query);\n const techArr = techData?.markdownRemark?.frontmatter?.stack as\n | string[]\n | null;\n\n return (\n <>\n {techArr ? (\n
\n \n {techArr.map((tech) => (\n \n \n

\n {tech}\n

\n \n \n ))}\n
\n
\n ) : null}\n \n );\n};\n\nexport default StackSection;\n\nexport const query = graphql`\n query {\n markdownRemark(fields: { sourceName: { eq: \"stack\" } }) {\n frontmatter {\n stack\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { IServicePreview } from \"../../types/services.type\";\n\nconst ServicePreview = ({\n service,\n className,\n}: {\n service: IServicePreview;\n className?: string;\n}) => {\n const {\n html,\n frontmatter: {\n title,\n image: { publicURL: imageURL },\n },\n } = service;\n\n return (\n \n
\n {`${title}\n

\n {title}\n

\n
\n \n \n );\n};\n\nexport default ServicePreview;\n","import React from \"react\";\n\nimport { HeadFC, useStaticQuery } from \"gatsby\";\nimport { graphql } from \"gatsby\";\n\nimport { IServicePreview } from \"../types/services.type\";\n\nimport Banner from \"../components/common/banner\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport ServicePreview from \"../components/services/servicePreview\";\nimport StackSection from \"../components/stack/stackSection\";\n\nconst Services = () => {\n const servicesData = useStaticQuery(query);\n let services = (\n servicesData?.allMarkdownRemark?.nodes?.length\n ? servicesData.allMarkdownRemark.nodes\n : null\n ) as IServicePreview[] | null;\n\n return (\n <>\n \n \n
\n \n
\n {services\n ? services.map((service) => (\n \n ))\n : null}\n
\n
\n
\n \n );\n};\n\nexport default Services;\n\nexport const Head: HeadFC = () => CodeCave Services;\n\nconst query = graphql`\n query {\n allMarkdownRemark(filter: { fields: { sourceName: { eq: \"services\" } } }) {\n nodes {\n id\n html\n frontmatter {\n title\n image {\n publicURL\n }\n }\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"white\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"black\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n"],"names":["_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","dispose","ref","Spinner","heightClass","title","text","borderBottom","borderTop","babylon","textTranslate","setTextTranslate","Border","ContentContainer","toUpperCase","forwardRef","children","emblaRef","emblaApi","useEmblaCarousel","loop","dragFree","duration","align","Autoplay","delay","stopOnInteraction","stopOnMouseEnter","onMouseEnter","internalEngine","animation","stop","onMouseLeave","start","StackSection","_techData$markdownRem","_techData$markdownRem2","techData","useStaticQuery","query","techArr","markdownRemark","frontmatter","stack","id","StackCarousel","map","tech","key","service","html","image","publicURL","imageURL","itemScope","itemType","src","alt","itemProp","dangerouslySetInnerHTML","__html","Services","_servicesData$allMark","_servicesData$allMark2","servicesData","services","allMarkdownRemark","nodes","Banner","ServicePreview","Head","props","createElement","defaultProps","module","exports","default"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-templates-blog-tsx-2739ab3251f03f4eb07f.js b/component---src-pages-templates-blog-tsx-2739ab3251f03f4eb07f.js new file mode 100644 index 00000000..bf525640 --- /dev/null +++ b/component---src-pages-templates-blog-tsx-2739ab3251f03f4eb07f.js @@ -0,0 +1,2 @@ +(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[926],{1929:function(e,t,l){"use strict";l.d(t,{Z:function(){return c}});var n=l(7294),a=l(4471),r=l.n(a),s=l(1164);var i=e=>{let{className:t}=e;return n.createElement("div",{className:"flex justify-center items-center h-full w-full "+t},n.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),n.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var o=()=>{const{0:e,1:t}=(0,n.useState)(!1),a=(0,n.useRef)(!0),r=(0,n.useRef)(null);return(0,n.useEffect)((()=>{if(!a.current||!r.current||"undefined"==typeof window)return;a.current=!1;const e=new Worker(new URL(l.p+l.u(475),l.b),{type:void 0});e.onmessage=e=>{let{data:l}=e;"ready"===l&&t(!0)};const n=r.current;n.width=n.clientWidth,n.height=n.clientHeight;const s=n.transferControlToOffscreen();e.postMessage({canvas:s},[s]);const i=()=>{e.postMessage({width:n.clientWidth,height:n.clientHeight})};window.addEventListener("resize",i);const o=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};n.addEventListener("wheel",o);const c=t=>{e.postMessage({x:t.movementX,y:t.movementY})};n.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",c),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",c)),{once:!0})}));let m;return n.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const l=t.touches[0];t.preventDefault();const n={x:l.screenX,y:l.screenY};m=t=>{const{newX:l,newY:a}=((t,l)=>{const n=t.touches[0];return e.postMessage({x:n.screenX-l.x,y:n.screenY-l.y}),{newX:n.screenX,newY:n.screenY}})(t,n);n.x=l,n.y=a},window.addEventListener("touchmove",m),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",m)}))})),()=>{window&&(window.removeEventListener("resize",i),window.removeEventListener("mousemove",c),window.removeEventListener("touchmove",m),n&&n.removeEventListener("wheel",o),e.terminate())}}),[]),n.createElement("div",{className:"h-full w-full relative"},n.createElement("canvas",{ref:r,className:"bg-main-100 h-160 w-full flex items-center justify-center cursor-pointer"}),e?null:n.createElement(i,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var c=e=>{let{heightClass:t="min-h-160",title:l,text:a,className:i,borderBottom:c,borderTop:m,babylon:d}=e;const{0:u,1:f}=(0,n.useState)("translate-y-full");return(0,n.useEffect)((()=>{f("translate-y-0")}),[]),n.createElement("div",{className:"w-full flex items-center bg-main-100 relative overflow-hidden px-6 "+t+" "+i},m?n.createElement(r(),{className:"absolute top-0 left-0 right-0 w-full"}):null,n.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center text-secondary-100 flex-grow"},n.createElement("div",{className:"flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full lg:w-1/2 bg-main-100"},n.createElement("h2",{className:"overflow-hidden mb-8 w-full"},n.createElement("span",{className:"inline-block font-['Rubik_Glitch'] text-5xl sm:text-6xl w-full text-center lg:text-start transition-all duration-1000 "+u},l.toUpperCase())),n.createElement("p",{className:"overflow-hidden w-full"},n.createElement("span",{className:"inline-block w-full text-3xl sm:text-4xl font-light text-center lg:text-start transition-all duration-1000 "+u},a.toUpperCase()))),d?n.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full flex"},n.createElement(o,null)):null),c?n.createElement(r(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},4568:function(e,t,l){"use strict";var n=l(7294),a=l(1883),r=l(1434);t.Z=e=>{let{section:t,pagesQuantity:l,currentPage:s,className:i}=e;const o=Array.from({length:l},((e,t)=>t+1)),c=s+1;return n.createElement("div",{className:"my-16 flex justify-between w-full "+i},s1?o.map((e=>n.createElement(a.Link,{key:"pagination-link-"+e,to:"/"+t+"/page/"+e},n.createElement(r.Z,{size:"large",variant:e===s?"dark":"light",border:e!==s,className:"mx-[-1px]"},e)))):null))}},3793:function(e,t,l){"use strict";var n=l(7294),a=l(1883),r=l(4344),s=l.n(r),i=l(4697),o=l.n(i),c=l(9165);t.Z=e=>{let{post:t,className:l,fontColor:r,gradientBorder:i}=e;const{date:m,title:d,text:u}=t.frontmatter,f=Math.floor(t.wordCount.words/200),C=f||1,h="main"===r?"text-main-100":"text-secondary-100",v="main"===r?"text-main-100":"text-secondary-10",p="main"===r?"hover:text-main-10":"hover:text-secondary-100";return n.createElement(a.Link,{to:"/blog/"+t.id,className:"flex flex-col sm:flex-row w-full "+v+" "+p+" "+l+" "+(i?"gradient-border":""),itemScope:!0,itemType:"https://schema.org/Article"},n.createElement("div",{className:"hidden md:flex md:basis-1/4 shrink-0 justify-center p-6",itemProp:"image"},n.createElement(s(),{className:"secondary"===r?"":"brightness-0"})),n.createElement("div",{className:"flex flex-col basis-1/2 md:basis-1/3 shrink-0 mb-12 sm:mb-0"},n.createElement("p",{className:"text-3xl font-light "+v+" pb-5"},m),n.createElement("h3",{className:"text-4xl font-bold "+h,itemProp:"headline"},d)),n.createElement("div",{className:"flex flex-col basis-1/2 md:basis-1/3 shrink-0"},n.createElement("p",{className:"font-normal text-2xl "+v,itemProp:"abstract"},u.split(" ").slice(0,60).join(" "),"..."),n.createElement("div",{className:"flex justify-between items-center pt-6"},n.createElement("p",{className:"text-2xl font-bold"},"Read more"),n.createElement("p",null,n.createElement(o(),{className:"inline"}),n.createElement("span",{className:"inline text-xl font-light italic pl-4"},"Reading time: ",C,"m.")))),n.createElement(c.L,{itemProp:"copyrightHolder"}))}},6906:function(e,t,l){"use strict";l.r(t),l.d(t,{Head:function(){return o}});var n=l(7294),a=l(1929),r=l(1164),s=l(3793),i=l(4568);t.default=e=>{let{data:t,pageContext:l}=e;const o=t.allMarkdownRemark.nodes,{currentPage:c,pagesQuantity:m}=l;return n.createElement(n.Fragment,null,n.createElement(a.Z,{heightClass:"h-136",title:"MAKE BLOGGING GREAT AGAIN",text:"Well unknown facts for your tech savvy and entertainment",borderBottom:!0}),n.createElement(r.Z,{className:"flex-col items-center p-6 md:p-12"},o?o.map((e=>n.createElement(s.Z,{key:e.id,post:e,fontColor:"main",className:"py-14 border-b-4 border-dashed border-secondary-100",gradientBorder:!0}))):null,n.createElement(i.Z,{section:"blog",pagesQuantity:m,currentPage:c})))};const o=()=>n.createElement("title",null,"CodeCave Blog")},4471:function(e,t,l){var n=l(7294);function a(e){return n.createElement("svg",e,[n.createElement("line",{width:"800",height:"8",stroke:"white",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),n.createElement("line",{width:"800",height:"8",stroke:"black",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}a.defaultProps={height:"8"},e.exports=a,a.default=a},4344:function(e,t,l){var n=l(7294);function a(e){return n.createElement("svg",e,[n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.875 7.9375H111.125C113.23 7.9375 115.249 8.77377 116.738 10.2623C118.226 11.7509 119.062 13.7698 119.062 15.875V107.839L103.188 91.9639C100.211 88.9865 96.1738 87.3134 91.9639 87.3125H15.875C13.7698 87.3125 11.7509 86.4762 10.2623 84.9877C8.77377 83.4991 7.9375 81.4802 7.9375 79.375V15.875C7.9375 13.7698 8.77377 11.7509 10.2623 10.2623C11.7509 8.77377 13.7698 7.9375 15.875 7.9375ZM111.125 0C115.335 0 119.373 1.67254 122.35 4.64968C125.327 7.62682 127 11.6647 127 15.875V117.419C127 118.205 126.767 118.972 126.33 119.625C125.893 120.278 125.273 120.786 124.547 121.086C123.822 121.386 123.023 121.464 122.253 121.31C121.483 121.156 120.776 120.777 120.221 120.221L97.5757 97.5757C96.0875 96.087 94.0689 95.2505 91.9639 95.25H15.875C11.6647 95.25 7.62682 93.5775 4.64968 90.6003C1.67254 87.6232 0 83.5853 0 79.375V15.875C0 11.6647 1.67254 7.62682 4.64968 4.64968C7.62682 1.67254 11.6647 0 15.875 0L111.125 0Z",fill:"#FAFAFA",key:0}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M56.0865 37.7825C54.5404 35.3747 52.2544 33.5337 49.5723 32.5363C46.8902 31.5389 43.9569 31.439 41.2131 32.2515C38.4694 33.0641 36.0635 34.7453 34.357 37.0423C32.6506 39.3394 31.7358 42.1283 31.7502 44.9898C31.7516 47.3594 32.3893 49.6851 33.5968 51.7241C34.8042 53.763 36.537 55.4402 38.6142 56.5806C40.6914 57.721 43.0367 58.2826 45.4051 58.2069C47.7735 58.1311 50.0781 57.4207 52.0781 56.1499C51.0383 59.2376 49.1015 62.5316 45.9107 65.8336C45.3002 66.4652 44.9656 67.3134 44.9804 68.1916C44.9953 69.0699 45.3585 69.9063 45.99 70.5168C46.6216 71.1273 47.4698 71.4619 48.348 71.447C49.2263 71.4321 50.0627 71.0689 50.6732 70.4374C62.4683 58.2136 60.9364 44.9263 56.0865 37.7984V37.7825ZM87.8365 37.7825C86.2904 35.3747 84.0044 33.5337 81.3223 32.5363C78.6403 31.5389 75.7069 31.439 72.9631 32.2515C70.2194 33.0641 67.8135 34.7453 66.107 37.0423C64.4006 39.3394 63.4858 42.1283 63.5002 44.9898C63.5016 47.3594 64.1393 49.6851 65.3468 51.7241C66.5542 53.763 68.287 55.4402 70.3642 56.5806C72.4414 57.721 74.7867 58.2826 77.1551 58.2069C79.5235 58.1311 81.8281 57.4207 83.8281 56.1499C82.7883 59.2376 80.8515 62.5316 77.6607 65.8336C77.0502 66.4652 76.7156 67.3134 76.7304 68.1916C76.7453 69.0699 77.1085 69.9063 77.74 70.5168C78.3716 71.1273 79.2198 71.4619 80.098 71.447C80.9763 71.4321 81.8127 71.0689 82.4232 70.4374C94.2183 58.2136 92.6864 44.9263 87.8365 37.7984V37.7825Z",fill:"#FAFAFA",key:1})])}a.defaultProps={width:"127",height:"127",viewBox:"0 0 127 127",fill:"none"},e.exports=a,a.default=a},4697:function(e,t,l){var n=l(7294);function a(e){return n.createElement("svg",e,[n.createElement("g",{clipPath:"url(#clip0_829_432)",key:0},[n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.57938 1.14638C9.38658 1.13214 9.19332 1.12501 9 1.125V0C9.2211 0.000107806 9.44213 0.00836341 9.66262 0.02475L9.57938 1.14638ZM11.8339 1.65263C11.4733 1.51347 11.1029 1.40104 10.7258 1.31625L10.9721 0.21825C11.403 0.315 11.8271 0.44325 12.2389 0.603L11.8339 1.65263ZM13.3751 2.45138C13.2143 2.34411 13.0495 2.24279 12.8812 2.14763L13.4359 1.16888C13.8205 1.38683 14.1886 1.63274 14.5372 1.90463L13.8454 2.79225C13.6929 2.67326 13.536 2.55993 13.3751 2.4525V2.45138ZM15.4384 4.46513C15.2158 4.14897 14.9703 3.84966 14.7037 3.56963L15.5182 2.79338C15.822 3.114 16.1032 3.45713 16.3586 3.81713L15.4384 4.46513ZM16.2754 5.98613C16.2015 5.80777 16.1212 5.63215 16.0346 5.45963L17.0392 4.95338C17.2379 5.34835 17.4071 5.75746 17.5455 6.17738L16.4767 6.5295C16.4163 6.34597 16.3491 6.16473 16.2754 5.98613ZM16.8716 8.8065C16.8625 8.41988 16.8249 8.03446 16.7591 7.65338L17.8672 7.46213C17.9426 7.89638 17.9865 8.33738 17.9977 8.77838L16.8727 8.8065H16.8716ZM16.7242 10.5368C16.7614 10.3455 16.7917 10.1554 16.8154 9.963L17.9325 10.1014C17.8785 10.5403 17.792 10.9746 17.6737 11.4008L16.5892 11.1004C16.641 10.9148 16.686 10.7269 16.7242 10.5368ZM15.6532 13.2131C15.8602 12.8869 16.0425 12.5449 16.2 12.1916L17.2282 12.6473C17.0482 13.0523 16.8401 13.4415 16.6039 13.815L15.6532 13.2131ZM14.5687 14.5688C14.706 14.4315 14.8376 14.2898 14.9625 14.1435L15.8152 14.8781C15.6708 15.0456 15.5204 15.2077 15.3641 15.3641L14.5687 14.5688Z",fill:"black",key:0}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.99961 1.125C7.7046 1.12509 6.4296 1.44455 5.28753 2.05508C4.14547 2.66561 3.1716 3.54836 2.45217 4.62516C1.73275 5.70195 1.28998 6.93954 1.16308 8.22832C1.03618 9.5171 1.22907 10.8173 1.72466 12.0137C2.22025 13.2101 3.00325 14.2659 4.0043 15.0874C5.00535 15.909 6.19356 16.471 7.46368 16.7237C8.73381 16.9763 10.0466 16.9119 11.2859 16.536C12.5252 16.1601 13.6526 15.4844 14.5684 14.5688L15.3637 15.3641C14.3172 16.4113 13.0285 17.1841 11.6119 17.6141C10.1953 18.0442 8.69447 18.1182 7.24243 17.8295C5.79039 17.5409 4.43195 16.8986 3.28748 15.9595C2.143 15.0204 1.24784 13.8135 0.681284 12.4458C0.114733 11.078 -0.105707 9.59162 0.0394939 8.1183C0.184695 6.64499 0.691055 5.23024 1.51371 3.9994C2.33636 2.76855 3.44991 1.75962 4.75569 1.062C6.06147 0.364382 7.51916 -0.000392324 8.99961 3.16641e-07V1.125Z",fill:"black",key:1}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.4375 3.375C8.58668 3.375 8.72976 3.43426 8.83525 3.53975C8.94074 3.64524 9 3.78832 9 3.9375V9.79875L12.654 11.8867C12.7798 11.9626 12.8709 12.0847 12.9078 12.2268C12.9448 12.369 12.9247 12.5199 12.8518 12.6475C12.779 12.775 12.6591 12.869 12.5179 12.9093C12.3766 12.9496 12.2252 12.9331 12.096 12.8632L8.1585 10.6132C8.07241 10.5641 8.00084 10.493 7.95106 10.4073C7.90127 10.3215 7.87503 10.2241 7.875 10.125V3.9375C7.875 3.78832 7.93426 3.64524 8.03975 3.53975C8.14524 3.43426 8.28832 3.375 8.4375 3.375Z",fill:"black",key:2})]),n.createElement("defs",{key:1},n.createElement("clipPath",{id:"clip0_829_432"},n.createElement("rect",{width:"18",height:"18",fill:"white"})))])}a.defaultProps={width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},e.exports=a,a.default=a}}]); +//# sourceMappingURL=component---src-pages-templates-blog-tsx-2739ab3251f03f4eb07f.js.map \ No newline at end of file diff --git a/component---src-pages-templates-blog-tsx-2739ab3251f03f4eb07f.js.map b/component---src-pages-templates-blog-tsx-2739ab3251f03f4eb07f.js.map new file mode 100644 index 00000000..131cd542 --- /dev/null +++ b/component---src-pages-templates-blog-tsx-2739ab3251f03f4eb07f.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---src-pages-templates-blog-tsx-2739ab3251f03f4eb07f.js","mappings":"sLA2BA,MAzBgBA,IAA4C,IAA3C,UAAEC,GAAmCD,EACpD,OACEE,EAAAA,cAAA,OACED,UAAS,kDAAoDA,GAE7DC,EAAAA,cAAA,OACE,cAAY,OACZD,UAAU,8EACVE,QAAQ,cACRC,KAAK,OACLC,MAAM,8BAENH,EAAAA,cAAA,QACEI,EAAE,+WACFF,KAAK,iBAEPF,EAAAA,cAAA,QACEI,EAAE,glBACFF,KAAK,iBAGL,ECmHV,MAtIgBG,KACd,MAAM,EAACC,EAAe,EAACC,IAAqBC,EAAAA,EAAAA,WAAkB,GACxDC,GAAYC,EAAAA,EAAAA,SAAgB,GAC5BC,GAAYD,EAAAA,EAAAA,QAA0B,MAsH5C,OApHAE,EAAAA,EAAAA,YAAU,KACR,IACGH,EAAUI,UACVF,EAAUE,SACM,oBAAVC,OAEP,OAEFL,EAAUI,SAAU,EAGpB,MAAME,EAAgB,IAAIC,OACxB,IAAIC,IAAI,kBACR,CACEC,UAAM,IAGVH,EAAcI,UAAYrB,IAAe,IAAd,KAAEsB,GAAMtB,EACpB,UAATsB,GAAkBb,GAAkB,EAAK,EAI/C,MAAMc,EAASV,EAAUE,QACzBQ,EAAOC,MAAQD,EAAOE,YACtBF,EAAOG,OAASH,EAAOI,aAEvB,MAAMC,EAAkBL,EAAOM,6BAC/BZ,EAAca,YAAY,CAAEP,OAAQK,GAAmB,CAACA,IAGxD,MAAMG,EAAkBA,KACtBd,EAAca,YAAY,CACxBN,MAAOD,EAAOE,YACdC,OAAQH,EAAOI,cACf,EAEJX,OAAOgB,iBAAiB,SAAUD,GAGlC,MAAME,EAAkBC,IACtBA,EAAEC,iBACFlB,EAAca,YAAY,CAAEM,MAAOF,EAAEG,QAAS,EAEhDd,EAAOS,iBAAiB,QAASC,GAGjC,MAAMK,EAAsBJ,IAC1BjB,EAAca,YAAY,CACxBS,EAAGL,EAAEM,UACLC,EAAGP,EAAEQ,WACL,EAEJnB,EAAOS,iBAAiB,aAAcE,IACpCA,EAAEC,iBACFnB,OAAOgB,iBAAiB,YAAaM,GACrCtB,OAAOgB,iBACL,WACA,IAAMhB,OAAO2B,oBAAoB,YAAaL,IAC9C,CAAEM,MAAM,GACT,IAmBH,IAAIC,EAyBJ,OAxBAtB,EAAOS,iBAAiB,cAAeE,IACrC,GAAyB,IAArBA,EAAEY,QAAQC,OAAc,OAE5B,MAAMC,EAAad,EAAEY,QAAQ,GAE7BZ,EAAEC,iBACF,MAAMc,EAAiB,CACrBV,EAAGS,EAAWE,QACdT,EAAGO,EAAWG,SAGhBN,EAAsBX,IACpB,MAAM,KAAEkB,EAAI,KAAEC,GA5BaC,EAC7BpB,EACAe,KAEA,MAAMM,EAAQrB,EAAEY,QAAQ,GAMxB,OALA7B,EAAca,YAAY,CACxBS,EAAGgB,EAAML,QAAUD,EAAeV,EAClCE,EAAGc,EAAMJ,QAAUF,EAAeR,IAG7B,CACLW,KAAMG,EAAML,QACZG,KAAME,EAAMJ,QACb,EAewBG,CAAuBpB,EAAGe,GACjDA,EAAeV,EAAIa,EACnBH,EAAeR,EAAIY,CAAI,EAGzBrC,OAAOgB,iBAAiB,YAAaa,GACrC7B,OAAOgB,iBAAiB,YAAY,KAClChB,OAAO2B,oBAAoB,YAAaE,EAAmB,GAC3D,IAIG,KACA7B,SAELA,OAAO2B,oBAAoB,SAAUZ,GACrCf,OAAO2B,oBAAoB,YAAaL,GACxCtB,OAAO2B,oBAAoB,YAAaE,GACpCtB,GACFA,EAAOoB,oBAAoB,QAASV,GAEtChB,EAAcuC,YAAW,CAC1B,GACA,IAGDtD,EAAAA,cAAA,OAAKD,UAAS,0BACZC,EAAAA,cAAA,UACEuD,IAAK5C,EACLZ,UAAS,6EAETO,EAEE,KADFN,EAAAA,cAACwD,EAAO,CAACzD,UAAU,gDAEjB,EChEV,MA/DeD,IAgBR,IAhBS,YACd2D,EAAc,YAAW,MACzBC,EAAK,KACLC,EAAI,UACJ5D,EAAS,aACT6D,EAAY,UACZC,EAAS,QACTC,GASDhE,EACC,MAAM,EAACiE,EAAc,EAACC,IAAoBxD,EAAAA,EAAAA,UAExC,oBAKF,OAJAI,EAAAA,EAAAA,YAAU,KACRoD,EAAiB,gBAAgB,GAChC,IAGDhE,EAAAA,cAAA,OACED,UAAS,sEAAwE0D,EAAW,IAAI1D,GAE/F8D,EACC7D,EAAAA,cAACiE,IAAM,CAAClE,UAAU,yCAChB,KACJC,EAAAA,cAACkE,EAAAA,EAAgB,CACfnE,UAAS,4FAETC,EAAAA,cAAA,OAAKD,UAAU,wHACbC,EAAAA,cAAA,MAAID,UAAS,+BACXC,EAAAA,cAAA,QACED,UAAS,yHAA2HgE,GAEnIL,EAAMS,gBAGXnE,EAAAA,cAAA,KAAGD,UAAS,0BACVC,EAAAA,cAAA,QACED,UAAS,8GAAgHgE,GAExHJ,EAAKQ,iBAIXL,EACC9D,EAAAA,cAAA,OAAKD,UAAU,mCACbC,EAAAA,cAACK,EAAO,OAER,MAELuD,EACC5D,EAAAA,cAACiE,IAAM,CAAClE,UAAU,4CAChB,KACA,C,sECbV,IA/CmBD,IAUZ,IAVa,QAClBsE,EAAO,cACPC,EAAa,YACbC,EAAW,UACXvE,GAMDD,EACC,MAAMyE,EAAQC,MAAMC,KAAK,CAAE5B,OAAQwB,IAAiB,CAACK,EAAGC,IAAMA,EAAI,IAC5DC,EAAWN,EAAc,EAE/B,OACEtE,EAAAA,cAAA,OAAKD,UAAS,qCAAuCA,GAClDuE,EAAcD,EACbrE,EAAAA,cAAC6E,EAAAA,KAAI,CAACC,GAAE,IAAMV,EAAO,SAASQ,EAAY7E,UAAU,aAClDC,EAAAA,cAAC+E,EAAAA,EAAM,CAACC,KAAK,QAAQC,QAAQ,OAAOlF,UAAU,SAAQ,cAItD,KAEJC,EAAAA,cAAA,OAAKD,UAAU,2BACZsE,EAAgB,EACbE,EAAMW,KAAKC,GACTnF,EAAAA,cAAC6E,EAAAA,KAAI,CACHO,IAAG,mBAAqBD,EACxBL,GAAE,IAAMV,EAAO,SAASe,GAExBnF,EAAAA,cAAC+E,EAAAA,EAAM,CACLC,KAAK,QACLC,QAASE,IAASb,EAAc,OAAS,QACzCe,OAAQF,IAASb,EACjBvE,UAAU,aAEToF,MAIP,MAEF,C,4GC+BV,IAtEoBrF,IAUb,IAVc,KACnBwF,EAAI,UACJvF,EAAS,UACTwF,EAAS,eACTC,GAMD1F,EACC,MAAM,KAAE2F,EAAI,MAAE/B,EAAK,KAAEC,GAAS2B,EAAKI,YAE7BC,EAAUC,KAAKC,MAAMP,EAAKQ,UAAUC,MAAQ,KAC5CC,EAAcL,GAAoB,EAElCM,EACU,SAAdV,EAAuB,gBAAkB,qBACrCW,EACU,SAAdX,EAAuB,gBAAkB,oBACrCY,EACU,SAAdZ,EAAuB,qBAAuB,2BAEhD,OACEvF,EAAAA,cAAC6E,EAAAA,KAAI,CACHC,GAAE,SAAWQ,EAAKc,GAClBrG,UAAS,oCAAsCmG,EAAgB,IAAIC,EAAc,IAAIpG,EAAS,KAC5FyF,EAAiB,kBAAoB,IAEvCa,WAAS,EACTC,SAAS,8BAETtG,EAAAA,cAAA,OACED,UAAU,0DACVwG,SAAS,SAETvG,EAAAA,cAACwG,IAAK,CAACzG,UAAyB,cAAdwF,EAA4B,GAAK,kBAErDvF,EAAAA,cAAA,OAAKD,UAAU,+DACbC,EAAAA,cAAA,KAAGD,UAAS,uBAAyBmG,EAAgB,SAAUT,GAC/DzF,EAAAA,cAAA,MACED,UAAS,sBAAwBkG,EACjCM,SAAS,YAER7C,IAGL1D,EAAAA,cAAA,OAAKD,UAAU,iDACbC,EAAAA,cAAA,KACED,UAAS,wBAA0BmG,EACnCK,SAAS,YAER5C,EAAK8C,MAAM,KAAKC,MAAM,EAAG,IAAIC,KAAK,KAAK,OAE1C3G,EAAAA,cAAA,OAAKD,UAAU,0CACbC,EAAAA,cAAA,KAAGD,UAAS,sBAAwB,aACpCC,EAAAA,cAAA,SACEA,EAAAA,cAAC4G,IAAK,CAAC7G,UAAW,WAElBC,EAAAA,cAAA,QAAMD,UAAU,yCAAwC,iBACvCiG,EAAY,SAKnChG,EAAAA,cAAC6G,EAAAA,EAAqB,CAACN,SAAS,oBAC3B,C,oIC3BX,UArCazG,IAGqC,IAHpC,KACZsB,EAAI,YACJ0F,GAC2ChH,EAC3C,MAAMiH,EAAQ3F,EAAK4F,kBAAkBC,OAC/B,YAAE3C,EAAW,cAAED,GAAkByC,EAEvC,OACE9G,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACkH,EAAAA,EAAM,CACLzD,YAAY,QACZC,MAAM,4BACNC,KAAK,2DACLC,cAAY,IAEd5D,EAAAA,cAACkE,EAAAA,EAAgB,CAACnE,UAAU,qCACzBgH,EACGA,EAAM7B,KAAKI,GACTtF,EAAAA,cAACmH,EAAAA,EAAW,CACV/B,IAAKE,EAAKc,GACVd,KAAMA,EACNC,UAAU,OACVxF,UAAU,sDACVyF,gBAAc,MAGlB,KACJxF,EAAAA,cAACoH,EAAAA,EAAU,CACThD,QAAS,OACTC,cAAeA,EACfC,YAAaA,KAGhB,EAMA,MAAM+C,EAAeA,IAAMrH,EAAAA,cAAA,aAAO,gB,uBCnDzC,IAAIA,EAAQ,EAAQ,MAEpB,SAASiE,EAAQqD,GACb,OAAOtH,EAAMuH,cAAc,MAAMD,EAAM,CAACtH,EAAMuH,cAAc,OAAO,CAAC,MAAQ,MAAM,OAAS,IAAI,OAAS,QAAQ,YAAc,IAAI,gBAAkB,MAAM,GAAK,IAAI,GAAK,OAAO,GAAK,IAAI,GAAK,IAAI,IAAM,IAAIvH,EAAMuH,cAAc,OAAO,CAAC,MAAQ,MAAM,OAAS,IAAI,OAAS,QAAQ,YAAc,IAAI,gBAAkB,MAAM,GAAK,IAAI,GAAK,OAAO,GAAK,IAAI,GAAK,IAAI,IAAM,KAC9W,CAEAtD,EAAOuD,aAAe,CAAC,OAAS,KAEhCC,EAAOC,QAAUzD,EAEjBA,EAAO0D,QAAU1D,C,uBCVjB,IAAIjE,EAAQ,EAAQ,MAEpB,SAAS4H,EAAgBN,GACrB,OAAOtH,EAAMuH,cAAc,MAAMD,EAAM,CAACtH,EAAMuH,cAAc,OAAO,CAAC,SAAW,UAAU,SAAW,UAAU,EAAI,s5BAAs5B,KAAO,UAAU,IAAM,IAAIvH,EAAMuH,cAAc,OAAO,CAAC,SAAW,UAAU,SAAW,UAAU,EAAI,m2CAAm2C,KAAO,UAAU,IAAM,KAC3+E,CAEAK,EAAeJ,aAAe,CAAC,MAAQ,MAAM,OAAS,MAAM,QAAU,cAAc,KAAO,QAE3FC,EAAOC,QAAUE,EAEjBA,EAAeD,QAAUC,C,uBCVzB,IAAI5H,EAAQ,EAAQ,MAEpB,SAAS4G,EAAOU,GACZ,OAAOtH,EAAMuH,cAAc,MAAMD,EAAM,CAACtH,EAAMuH,cAAc,IAAI,CAAC,SAAW,sBAAsB,IAAM,GAAG,CAACvH,EAAMuH,cAAc,OAAO,CAAC,SAAW,UAAU,SAAW,UAAU,EAAI,q5CAAq5C,KAAO,QAAQ,IAAM,IAAIvH,EAAMuH,cAAc,OAAO,CAAC,SAAW,UAAU,SAAW,UAAU,EAAI,2yBAA2yB,KAAO,QAAQ,IAAM,IAAIvH,EAAMuH,cAAc,OAAO,CAAC,SAAW,UAAU,SAAW,UAAU,EAAI,+fAA+f,KAAO,QAAQ,IAAM,MAAMvH,EAAMuH,cAAc,OAAO,CAAC,IAAM,GAAGvH,EAAMuH,cAAc,WAAW,CAAC,GAAK,iBAAiBvH,EAAMuH,cAAc,OAAO,CAAC,MAAQ,KAAK,OAAS,KAAK,KAAO,aACnvG,CAEAX,EAAMY,aAAe,CAAC,MAAQ,KAAK,OAAS,KAAK,QAAU,YAAY,KAAO,QAE9EC,EAAOC,QAAUd,EAEjBA,EAAMe,QAAUf,C","sources":["webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/common/pagination.tsx","webpack://code-cave/./src/components/posts/postPreview.tsx","webpack://code-cave/./src/pagesTemplates/blog.tsx","webpack://code-cave/./src/assets/common/border.svg","webpack://code-cave/./src/assets/common/chat-right-quote.svg","webpack://code-cave/./src/assets/common/clock.svg"],"sourcesContent":["import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler);\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler);\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\"touchstart\", (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler);\n window.addEventListener(\"touchend\", () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n });\n });\n\n // UNMOUNT handler\n return () => {\n if (!window) return;\n\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.terminate();\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\nconst Banner = ({\n heightClass = \"min-h-160\",\n title,\n text,\n className,\n borderBottom,\n borderTop,\n babylon,\n}: {\n heightClass?: string;\n title: string;\n text: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n babylon?: boolean;\n}) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n
\n

\n \n {title.toUpperCase()}\n \n

\n

\n \n {text.toUpperCase()}\n \n

\n
\n {babylon ? (\n
\n \n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React from \"react\";\n\nimport { Link } from \"gatsby\";\n\nimport Button from \"./button\";\n\nconst Pagination = ({\n section,\n pagesQuantity,\n currentPage,\n className,\n}: {\n section: \"projects\" | \"blog\";\n pagesQuantity: number;\n currentPage: number;\n className?: string;\n}) => {\n const pages = Array.from({ length: pagesQuantity }, (_, i) => i + 1);\n const nextPage = currentPage + 1;\n\n return (\n
\n {currentPage < pagesQuantity ? (\n \n \n \n ) : null}\n\n \n
\n );\n};\n\nexport default Pagination;\n","import React from \"react\";\n\nimport { Link } from \"gatsby\";\n\nimport Quote from \"../../assets/common/chat-right-quote.svg\";\nimport Clock from \"../../assets/common/clock.svg\";\n\nimport { IPostPreviewQueryResult } from \"../../types/post.type\";\nimport { LocalBusinessMetadata } from \"../common/metadata\";\n\nconst PostPreview = ({\n post,\n className,\n fontColor,\n gradientBorder,\n}: {\n post: IPostPreviewQueryResult;\n className?: string;\n fontColor: \"main\" | \"secondary\";\n gradientBorder?: boolean;\n}) => {\n const { date, title, text } = post.frontmatter;\n\n const minutes = Math.floor(post.wordCount.words / 200);\n const readingTime = minutes ? minutes : 1;\n\n const fontColorClass100 =\n fontColor === \"main\" ? \"text-main-100\" : \"text-secondary-100\";\n const fontColorClass10 =\n fontColor === \"main\" ? \"text-main-100\" : \"text-secondary-10\";\n const fontColorHover =\n fontColor === \"main\" ? \"hover:text-main-10\" : \"hover:text-secondary-100\";\n\n return (\n \n \n \n \n
\n

{date}

\n \n {title}\n \n
\n
\n \n {text.split(\" \").slice(0, 60).join(\" \")}...\n

\n
\n

Read more

\n

\n \n\n \n Reading time: {readingTime}m.\n \n

\n
\n
\n \n \n );\n};\n\nexport default PostPreview;\n","import React from \"react\";\n\nimport { HeadFC, PageProps } from \"gatsby\";\nimport { graphql } from \"gatsby\";\n\nimport { IBlogPageData, IBlogPageContext } from \"../types/blog.type\";\n\nimport Banner from \"../components/common/banner\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport PostPreview from \"../components/posts/postPreview\";\nimport Pagination from \"../components/common/pagination\";\n\nconst Blog = ({\n data,\n pageContext,\n}: PageProps) => {\n const posts = data.allMarkdownRemark.nodes;\n const { currentPage, pagesQuantity } = pageContext;\n\n return (\n <>\n \n \n {posts\n ? posts.map((post) => (\n \n ))\n : null}\n \n \n \n );\n};\n\nexport default Blog;\n\nexport const Head: HeadFC = () => CodeCave Blog;\n\nexport const query = graphql`\n query ($skip: Int!, $limit: Int!) {\n allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"posts\" } } }\n sort: { frontmatter: { date: DESC } }\n limit: $limit\n skip: $skip\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"MMM DD, YYYY\")\n title\n text\n cover {\n childImageSharp {\n gatsbyImageData(\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n width: 600\n )\n }\n }\n }\n wordCount {\n words\n }\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"white\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"black\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n","var React = require('react');\n\nfunction ChatRightQuote (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15.875 7.9375H111.125C113.23 7.9375 115.249 8.77377 116.738 10.2623C118.226 11.7509 119.062 13.7698 119.062 15.875V107.839L103.188 91.9639C100.211 88.9865 96.1738 87.3134 91.9639 87.3125H15.875C13.7698 87.3125 11.7509 86.4762 10.2623 84.9877C8.77377 83.4991 7.9375 81.4802 7.9375 79.375V15.875C7.9375 13.7698 8.77377 11.7509 10.2623 10.2623C11.7509 8.77377 13.7698 7.9375 15.875 7.9375ZM111.125 0C115.335 0 119.373 1.67254 122.35 4.64968C125.327 7.62682 127 11.6647 127 15.875V117.419C127 118.205 126.767 118.972 126.33 119.625C125.893 120.278 125.273 120.786 124.547 121.086C123.822 121.386 123.023 121.464 122.253 121.31C121.483 121.156 120.776 120.777 120.221 120.221L97.5757 97.5757C96.0875 96.087 94.0689 95.2505 91.9639 95.25H15.875C11.6647 95.25 7.62682 93.5775 4.64968 90.6003C1.67254 87.6232 0 83.5853 0 79.375V15.875C0 11.6647 1.67254 7.62682 4.64968 4.64968C7.62682 1.67254 11.6647 0 15.875 0L111.125 0Z\",\"fill\":\"#FAFAFA\",\"key\":0}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M56.0865 37.7825C54.5404 35.3747 52.2544 33.5337 49.5723 32.5363C46.8902 31.5389 43.9569 31.439 41.2131 32.2515C38.4694 33.0641 36.0635 34.7453 34.357 37.0423C32.6506 39.3394 31.7358 42.1283 31.7502 44.9898C31.7516 47.3594 32.3893 49.6851 33.5968 51.7241C34.8042 53.763 36.537 55.4402 38.6142 56.5806C40.6914 57.721 43.0367 58.2826 45.4051 58.2069C47.7735 58.1311 50.0781 57.4207 52.0781 56.1499C51.0383 59.2376 49.1015 62.5316 45.9107 65.8336C45.3002 66.4652 44.9656 67.3134 44.9804 68.1916C44.9953 69.0699 45.3585 69.9063 45.99 70.5168C46.6216 71.1273 47.4698 71.4619 48.348 71.447C49.2263 71.4321 50.0627 71.0689 50.6732 70.4374C62.4683 58.2136 60.9364 44.9263 56.0865 37.7984V37.7825ZM87.8365 37.7825C86.2904 35.3747 84.0044 33.5337 81.3223 32.5363C78.6403 31.5389 75.7069 31.439 72.9631 32.2515C70.2194 33.0641 67.8135 34.7453 66.107 37.0423C64.4006 39.3394 63.4858 42.1283 63.5002 44.9898C63.5016 47.3594 64.1393 49.6851 65.3468 51.7241C66.5542 53.763 68.287 55.4402 70.3642 56.5806C72.4414 57.721 74.7867 58.2826 77.1551 58.2069C79.5235 58.1311 81.8281 57.4207 83.8281 56.1499C82.7883 59.2376 80.8515 62.5316 77.6607 65.8336C77.0502 66.4652 76.7156 67.3134 76.7304 68.1916C76.7453 69.0699 77.1085 69.9063 77.74 70.5168C78.3716 71.1273 79.2198 71.4619 80.098 71.447C80.9763 71.4321 81.8127 71.0689 82.4232 70.4374C94.2183 58.2136 92.6864 44.9263 87.8365 37.7984V37.7825Z\",\"fill\":\"#FAFAFA\",\"key\":1})]);\n}\n\nChatRightQuote.defaultProps = {\"width\":\"127\",\"height\":\"127\",\"viewBox\":\"0 0 127 127\",\"fill\":\"none\"};\n\nmodule.exports = ChatRightQuote;\n\nChatRightQuote.default = ChatRightQuote;\n","var React = require('react');\n\nfunction Clock (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"g\",{\"clipPath\":\"url(#clip0_829_432)\",\"key\":0},[React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9.57938 1.14638C9.38658 1.13214 9.19332 1.12501 9 1.125V0C9.2211 0.000107806 9.44213 0.00836341 9.66262 0.02475L9.57938 1.14638ZM11.8339 1.65263C11.4733 1.51347 11.1029 1.40104 10.7258 1.31625L10.9721 0.21825C11.403 0.315 11.8271 0.44325 12.2389 0.603L11.8339 1.65263ZM13.3751 2.45138C13.2143 2.34411 13.0495 2.24279 12.8812 2.14763L13.4359 1.16888C13.8205 1.38683 14.1886 1.63274 14.5372 1.90463L13.8454 2.79225C13.6929 2.67326 13.536 2.55993 13.3751 2.4525V2.45138ZM15.4384 4.46513C15.2158 4.14897 14.9703 3.84966 14.7037 3.56963L15.5182 2.79338C15.822 3.114 16.1032 3.45713 16.3586 3.81713L15.4384 4.46513ZM16.2754 5.98613C16.2015 5.80777 16.1212 5.63215 16.0346 5.45963L17.0392 4.95338C17.2379 5.34835 17.4071 5.75746 17.5455 6.17738L16.4767 6.5295C16.4163 6.34597 16.3491 6.16473 16.2754 5.98613ZM16.8716 8.8065C16.8625 8.41988 16.8249 8.03446 16.7591 7.65338L17.8672 7.46213C17.9426 7.89638 17.9865 8.33738 17.9977 8.77838L16.8727 8.8065H16.8716ZM16.7242 10.5368C16.7614 10.3455 16.7917 10.1554 16.8154 9.963L17.9325 10.1014C17.8785 10.5403 17.792 10.9746 17.6737 11.4008L16.5892 11.1004C16.641 10.9148 16.686 10.7269 16.7242 10.5368ZM15.6532 13.2131C15.8602 12.8869 16.0425 12.5449 16.2 12.1916L17.2282 12.6473C17.0482 13.0523 16.8401 13.4415 16.6039 13.815L15.6532 13.2131ZM14.5687 14.5688C14.706 14.4315 14.8376 14.2898 14.9625 14.1435L15.8152 14.8781C15.6708 15.0456 15.5204 15.2077 15.3641 15.3641L14.5687 14.5688Z\",\"fill\":\"black\",\"key\":0}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.99961 1.125C7.7046 1.12509 6.4296 1.44455 5.28753 2.05508C4.14547 2.66561 3.1716 3.54836 2.45217 4.62516C1.73275 5.70195 1.28998 6.93954 1.16308 8.22832C1.03618 9.5171 1.22907 10.8173 1.72466 12.0137C2.22025 13.2101 3.00325 14.2659 4.0043 15.0874C5.00535 15.909 6.19356 16.471 7.46368 16.7237C8.73381 16.9763 10.0466 16.9119 11.2859 16.536C12.5252 16.1601 13.6526 15.4844 14.5684 14.5688L15.3637 15.3641C14.3172 16.4113 13.0285 17.1841 11.6119 17.6141C10.1953 18.0442 8.69447 18.1182 7.24243 17.8295C5.79039 17.5409 4.43195 16.8986 3.28748 15.9595C2.143 15.0204 1.24784 13.8135 0.681284 12.4458C0.114733 11.078 -0.105707 9.59162 0.0394939 8.1183C0.184695 6.64499 0.691055 5.23024 1.51371 3.9994C2.33636 2.76855 3.44991 1.75962 4.75569 1.062C6.06147 0.364382 7.51916 -0.000392324 8.99961 3.16641e-07V1.125Z\",\"fill\":\"black\",\"key\":1}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.4375 3.375C8.58668 3.375 8.72976 3.43426 8.83525 3.53975C8.94074 3.64524 9 3.78832 9 3.9375V9.79875L12.654 11.8867C12.7798 11.9626 12.8709 12.0847 12.9078 12.2268C12.9448 12.369 12.9247 12.5199 12.8518 12.6475C12.779 12.775 12.6591 12.869 12.5179 12.9093C12.3766 12.9496 12.2252 12.9331 12.096 12.8632L8.1585 10.6132C8.07241 10.5641 8.00084 10.493 7.95106 10.4073C7.90127 10.3215 7.87503 10.2241 7.875 10.125V3.9375C7.875 3.78832 7.93426 3.64524 8.03975 3.53975C8.14524 3.43426 8.28832 3.375 8.4375 3.375Z\",\"fill\":\"black\",\"key\":2})]),React.createElement(\"defs\",{\"key\":1},React.createElement(\"clipPath\",{\"id\":\"clip0_829_432\"},React.createElement(\"rect\",{\"width\":\"18\",\"height\":\"18\",\"fill\":\"white\"})))]);\n}\n\nClock.defaultProps = {\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\"};\n\nmodule.exports = Clock;\n\nClock.default = Clock;\n"],"names":["_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","terminate","ref","Spinner","heightClass","title","text","borderBottom","borderTop","babylon","textTranslate","setTextTranslate","Border","ContentContainer","toUpperCase","section","pagesQuantity","currentPage","pages","Array","from","_","i","nextPage","Link","to","Button","size","variant","map","page","key","border","post","fontColor","gradientBorder","date","frontmatter","minutes","Math","floor","wordCount","words","readingTime","fontColorClass100","fontColorClass10","fontColorHover","id","itemScope","itemType","itemProp","Quote","split","slice","join","Clock","LocalBusinessMetadata","pageContext","posts","allMarkdownRemark","nodes","Banner","PostPreview","Pagination","Head","props","createElement","defaultProps","module","exports","default","ChatRightQuote"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-templates-blog-tsx-3e928f3e8cb34f3b7e4c.js b/component---src-pages-templates-blog-tsx-3e928f3e8cb34f3b7e4c.js deleted file mode 100644 index 5709be83..00000000 --- a/component---src-pages-templates-blog-tsx-3e928f3e8cb34f3b7e4c.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[926],{1929:function(e,t,l){"use strict";l.d(t,{Z:function(){return c}});var n=l(7294),a=l(4471),r=l.n(a),s=l(1164);var i=e=>{let{className:t}=e;return n.createElement("div",{className:"flex justify-center items-center h-full w-full "+t},n.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),n.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var o=()=>{const{0:e,1:t}=(0,n.useState)(!1),a=(0,n.useRef)(!0),r=(0,n.useRef)(null);return(0,n.useEffect)((()=>{if(!a.current||!r.current||"undefined"==typeof window)return;a.current=!1;const e=new Worker(new URL(l.p+l.u(475),l.b),{type:void 0});e.onmessage=e=>{let{data:l}=e;"ready"===l&&t(!0)};const n=r.current;n.width=n.clientWidth,n.height=n.clientHeight;const s=n.transferControlToOffscreen();e.postMessage({canvas:s},[s]);const i=()=>{e.postMessage({width:n.clientWidth,height:n.clientHeight})};window.addEventListener("resize",i);const o=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};n.addEventListener("wheel",o);const c=t=>{e.postMessage({x:t.movementX,y:t.movementY})};n.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",c),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",c)),{once:!0})}));let m;return n.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const l=t.touches[0];t.preventDefault();const n={x:l.screenX,y:l.screenY};m=t=>{const{newX:l,newY:a}=((t,l)=>{const n=t.touches[0];return e.postMessage({x:n.screenX-l.x,y:n.screenY-l.y}),{newX:n.screenX,newY:n.screenY}})(t,n);n.x=l,n.y=a},window.addEventListener("touchmove",m),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",m)}))})),()=>{window&&(window.removeEventListener("resize",i),window.removeEventListener("mousemove",c),window.removeEventListener("touchmove",m)),n&&n.removeEventListener("wheel",o),e.postMessage({dispose:!0})}}),[]),n.createElement("div",{className:"h-full w-full relative"},n.createElement("canvas",{ref:r,className:"bg-main-100 h-160 w-full flex items-center justify-center cursor-pointer"}),e?null:n.createElement(i,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var c=e=>{let{heightClass:t="min-h-160",title:l,text:a,className:i,borderBottom:c,borderTop:m,babylon:d}=e;const{0:u,1:f}=(0,n.useState)("translate-y-full");return(0,n.useEffect)((()=>{f("translate-y-0")}),[]),n.createElement("div",{className:"w-full flex items-center bg-main-100 relative overflow-hidden px-6 "+t+" "+i},m?n.createElement(r(),{className:"absolute top-0 left-0 right-0 w-full"}):null,n.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center text-secondary-100 flex-grow"},n.createElement("div",{className:"flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full lg:w-1/2 bg-main-100"},n.createElement("h2",{className:"overflow-hidden mb-8 w-full"},n.createElement("span",{className:"inline-block font-['Rubik_Glitch'] text-5xl sm:text-6xl w-full text-center lg:text-start transition-all duration-1000 "+u},l.toUpperCase())),n.createElement("p",{className:"overflow-hidden w-full"},n.createElement("span",{className:"inline-block w-full text-3xl sm:text-4xl font-light text-center lg:text-start transition-all duration-1000 "+u},a.toUpperCase()))),d?n.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full flex"},n.createElement(o,null)):null),c?n.createElement(r(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},4568:function(e,t,l){"use strict";var n=l(7294),a=l(1883),r=l(1434);t.Z=e=>{let{section:t,pagesQuantity:l,currentPage:s,className:i}=e;const o=Array.from({length:l},((e,t)=>t+1)),c=s+1;return n.createElement("div",{className:"my-16 flex justify-between w-full "+i},s1?o.map((e=>n.createElement(a.Link,{key:"pagination-link-"+e,to:"/"+t+"/page/"+e},n.createElement(r.Z,{size:"large",variant:e===s?"dark":"light",border:e!==s,className:"mx-[-1px]"},e)))):null))}},3793:function(e,t,l){"use strict";var n=l(7294),a=l(1883),r=l(4344),s=l.n(r),i=l(4697),o=l.n(i),c=l(9165);t.Z=e=>{let{post:t,className:l,fontColor:r,gradientBorder:i}=e;const{date:m,title:d,text:u}=t.frontmatter,f=Math.floor(t.wordCount.words/200),C=f||1,h="main"===r?"text-main-100":"text-secondary-100",p="main"===r?"text-main-100":"text-secondary-10",v="main"===r?"hover:text-main-10":"hover:text-secondary-100";return n.createElement(a.Link,{to:"/blog/"+t.id,className:"flex flex-col sm:flex-row w-full "+p+" "+v+" "+l+" "+(i?"gradient-border":""),itemScope:!0,itemType:"https://schema.org/Article"},n.createElement("div",{className:"hidden md:flex md:basis-1/4 shrink-0 justify-center p-6",itemProp:"image"},n.createElement(s(),{className:"secondary"===r?"":"brightness-0"})),n.createElement("div",{className:"flex flex-col basis-1/2 md:basis-1/3 shrink-0 mb-12 sm:mb-0"},n.createElement("p",{className:"text-3xl font-light "+p+" pb-5"},m),n.createElement("h3",{className:"text-4xl font-bold "+h,itemProp:"headline"},d)),n.createElement("div",{className:"flex flex-col basis-1/2 md:basis-1/3 shrink-0"},n.createElement("p",{className:"font-normal text-2xl "+p,itemProp:"abstract"},u.split(" ").slice(0,60).join(" "),"..."),n.createElement("div",{className:"flex justify-between items-center pt-6"},n.createElement("p",{className:"text-2xl font-bold"},"Read more"),n.createElement("p",null,n.createElement(o(),{className:"inline"}),n.createElement("span",{className:"inline text-xl font-light italic pl-4"},"Reading time: ",C,"m.")))),n.createElement(c.L,{itemProp:"copyrightHolder"}))}},6906:function(e,t,l){"use strict";l.r(t),l.d(t,{Head:function(){return o}});var n=l(7294),a=l(1929),r=l(1164),s=l(3793),i=l(4568);t.default=e=>{let{data:t,pageContext:l}=e;const o=t.allMarkdownRemark.nodes,{currentPage:c,pagesQuantity:m}=l;return n.createElement(n.Fragment,null,n.createElement(a.Z,{heightClass:"h-136",title:"MAKE BLOGGING GREAT AGAIN",text:"Well unknown facts for your tech savvy and entertainment",borderBottom:!0}),n.createElement(r.Z,{className:"flex-col items-center p-6 md:p-12"},o?o.map((e=>n.createElement(s.Z,{key:e.id,post:e,fontColor:"main",className:"py-14 border-b-4 border-dashed border-secondary-100",gradientBorder:!0}))):null,n.createElement(i.Z,{section:"blog",pagesQuantity:m,currentPage:c})))};const o=()=>n.createElement("title",null,"CodeCave Blog")},4471:function(e,t,l){var n=l(7294);function a(e){return n.createElement("svg",e,[n.createElement("line",{width:"800",height:"8",stroke:"white",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),n.createElement("line",{width:"800",height:"8",stroke:"black",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}a.defaultProps={height:"8"},e.exports=a,a.default=a},4344:function(e,t,l){var n=l(7294);function a(e){return n.createElement("svg",e,[n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.875 7.9375H111.125C113.23 7.9375 115.249 8.77377 116.738 10.2623C118.226 11.7509 119.062 13.7698 119.062 15.875V107.839L103.188 91.9639C100.211 88.9865 96.1738 87.3134 91.9639 87.3125H15.875C13.7698 87.3125 11.7509 86.4762 10.2623 84.9877C8.77377 83.4991 7.9375 81.4802 7.9375 79.375V15.875C7.9375 13.7698 8.77377 11.7509 10.2623 10.2623C11.7509 8.77377 13.7698 7.9375 15.875 7.9375ZM111.125 0C115.335 0 119.373 1.67254 122.35 4.64968C125.327 7.62682 127 11.6647 127 15.875V117.419C127 118.205 126.767 118.972 126.33 119.625C125.893 120.278 125.273 120.786 124.547 121.086C123.822 121.386 123.023 121.464 122.253 121.31C121.483 121.156 120.776 120.777 120.221 120.221L97.5757 97.5757C96.0875 96.087 94.0689 95.2505 91.9639 95.25H15.875C11.6647 95.25 7.62682 93.5775 4.64968 90.6003C1.67254 87.6232 0 83.5853 0 79.375V15.875C0 11.6647 1.67254 7.62682 4.64968 4.64968C7.62682 1.67254 11.6647 0 15.875 0L111.125 0Z",fill:"#FAFAFA",key:0}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M56.0865 37.7825C54.5404 35.3747 52.2544 33.5337 49.5723 32.5363C46.8902 31.5389 43.9569 31.439 41.2131 32.2515C38.4694 33.0641 36.0635 34.7453 34.357 37.0423C32.6506 39.3394 31.7358 42.1283 31.7502 44.9898C31.7516 47.3594 32.3893 49.6851 33.5968 51.7241C34.8042 53.763 36.537 55.4402 38.6142 56.5806C40.6914 57.721 43.0367 58.2826 45.4051 58.2069C47.7735 58.1311 50.0781 57.4207 52.0781 56.1499C51.0383 59.2376 49.1015 62.5316 45.9107 65.8336C45.3002 66.4652 44.9656 67.3134 44.9804 68.1916C44.9953 69.0699 45.3585 69.9063 45.99 70.5168C46.6216 71.1273 47.4698 71.4619 48.348 71.447C49.2263 71.4321 50.0627 71.0689 50.6732 70.4374C62.4683 58.2136 60.9364 44.9263 56.0865 37.7984V37.7825ZM87.8365 37.7825C86.2904 35.3747 84.0044 33.5337 81.3223 32.5363C78.6403 31.5389 75.7069 31.439 72.9631 32.2515C70.2194 33.0641 67.8135 34.7453 66.107 37.0423C64.4006 39.3394 63.4858 42.1283 63.5002 44.9898C63.5016 47.3594 64.1393 49.6851 65.3468 51.7241C66.5542 53.763 68.287 55.4402 70.3642 56.5806C72.4414 57.721 74.7867 58.2826 77.1551 58.2069C79.5235 58.1311 81.8281 57.4207 83.8281 56.1499C82.7883 59.2376 80.8515 62.5316 77.6607 65.8336C77.0502 66.4652 76.7156 67.3134 76.7304 68.1916C76.7453 69.0699 77.1085 69.9063 77.74 70.5168C78.3716 71.1273 79.2198 71.4619 80.098 71.447C80.9763 71.4321 81.8127 71.0689 82.4232 70.4374C94.2183 58.2136 92.6864 44.9263 87.8365 37.7984V37.7825Z",fill:"#FAFAFA",key:1})])}a.defaultProps={width:"127",height:"127",viewBox:"0 0 127 127",fill:"none"},e.exports=a,a.default=a},4697:function(e,t,l){var n=l(7294);function a(e){return n.createElement("svg",e,[n.createElement("g",{clipPath:"url(#clip0_829_432)",key:0},[n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.57938 1.14638C9.38658 1.13214 9.19332 1.12501 9 1.125V0C9.2211 0.000107806 9.44213 0.00836341 9.66262 0.02475L9.57938 1.14638ZM11.8339 1.65263C11.4733 1.51347 11.1029 1.40104 10.7258 1.31625L10.9721 0.21825C11.403 0.315 11.8271 0.44325 12.2389 0.603L11.8339 1.65263ZM13.3751 2.45138C13.2143 2.34411 13.0495 2.24279 12.8812 2.14763L13.4359 1.16888C13.8205 1.38683 14.1886 1.63274 14.5372 1.90463L13.8454 2.79225C13.6929 2.67326 13.536 2.55993 13.3751 2.4525V2.45138ZM15.4384 4.46513C15.2158 4.14897 14.9703 3.84966 14.7037 3.56963L15.5182 2.79338C15.822 3.114 16.1032 3.45713 16.3586 3.81713L15.4384 4.46513ZM16.2754 5.98613C16.2015 5.80777 16.1212 5.63215 16.0346 5.45963L17.0392 4.95338C17.2379 5.34835 17.4071 5.75746 17.5455 6.17738L16.4767 6.5295C16.4163 6.34597 16.3491 6.16473 16.2754 5.98613ZM16.8716 8.8065C16.8625 8.41988 16.8249 8.03446 16.7591 7.65338L17.8672 7.46213C17.9426 7.89638 17.9865 8.33738 17.9977 8.77838L16.8727 8.8065H16.8716ZM16.7242 10.5368C16.7614 10.3455 16.7917 10.1554 16.8154 9.963L17.9325 10.1014C17.8785 10.5403 17.792 10.9746 17.6737 11.4008L16.5892 11.1004C16.641 10.9148 16.686 10.7269 16.7242 10.5368ZM15.6532 13.2131C15.8602 12.8869 16.0425 12.5449 16.2 12.1916L17.2282 12.6473C17.0482 13.0523 16.8401 13.4415 16.6039 13.815L15.6532 13.2131ZM14.5687 14.5688C14.706 14.4315 14.8376 14.2898 14.9625 14.1435L15.8152 14.8781C15.6708 15.0456 15.5204 15.2077 15.3641 15.3641L14.5687 14.5688Z",fill:"black",key:0}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.99961 1.125C7.7046 1.12509 6.4296 1.44455 5.28753 2.05508C4.14547 2.66561 3.1716 3.54836 2.45217 4.62516C1.73275 5.70195 1.28998 6.93954 1.16308 8.22832C1.03618 9.5171 1.22907 10.8173 1.72466 12.0137C2.22025 13.2101 3.00325 14.2659 4.0043 15.0874C5.00535 15.909 6.19356 16.471 7.46368 16.7237C8.73381 16.9763 10.0466 16.9119 11.2859 16.536C12.5252 16.1601 13.6526 15.4844 14.5684 14.5688L15.3637 15.3641C14.3172 16.4113 13.0285 17.1841 11.6119 17.6141C10.1953 18.0442 8.69447 18.1182 7.24243 17.8295C5.79039 17.5409 4.43195 16.8986 3.28748 15.9595C2.143 15.0204 1.24784 13.8135 0.681284 12.4458C0.114733 11.078 -0.105707 9.59162 0.0394939 8.1183C0.184695 6.64499 0.691055 5.23024 1.51371 3.9994C2.33636 2.76855 3.44991 1.75962 4.75569 1.062C6.06147 0.364382 7.51916 -0.000392324 8.99961 3.16641e-07V1.125Z",fill:"black",key:1}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.4375 3.375C8.58668 3.375 8.72976 3.43426 8.83525 3.53975C8.94074 3.64524 9 3.78832 9 3.9375V9.79875L12.654 11.8867C12.7798 11.9626 12.8709 12.0847 12.9078 12.2268C12.9448 12.369 12.9247 12.5199 12.8518 12.6475C12.779 12.775 12.6591 12.869 12.5179 12.9093C12.3766 12.9496 12.2252 12.9331 12.096 12.8632L8.1585 10.6132C8.07241 10.5641 8.00084 10.493 7.95106 10.4073C7.90127 10.3215 7.87503 10.2241 7.875 10.125V3.9375C7.875 3.78832 7.93426 3.64524 8.03975 3.53975C8.14524 3.43426 8.28832 3.375 8.4375 3.375Z",fill:"black",key:2})]),n.createElement("defs",{key:1},n.createElement("clipPath",{id:"clip0_829_432"},n.createElement("rect",{width:"18",height:"18",fill:"white"})))])}a.defaultProps={width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},e.exports=a,a.default=a}}]); -//# sourceMappingURL=component---src-pages-templates-blog-tsx-3e928f3e8cb34f3b7e4c.js.map \ No newline at end of file diff --git a/component---src-pages-templates-blog-tsx-3e928f3e8cb34f3b7e4c.js.map b/component---src-pages-templates-blog-tsx-3e928f3e8cb34f3b7e4c.js.map deleted file mode 100644 index d50ee82e..00000000 --- a/component---src-pages-templates-blog-tsx-3e928f3e8cb34f3b7e4c.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---src-pages-templates-blog-tsx-3e928f3e8cb34f3b7e4c.js","mappings":"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","sources":["webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/common/pagination.tsx","webpack://code-cave/./src/components/posts/postPreview.tsx","webpack://code-cave/./src/pagesTemplates/blog.tsx","webpack://code-cave/./src/assets/common/border.svg","webpack://code-cave/./src/assets/common/chat-right-quote.svg","webpack://code-cave/./src/assets/common/clock.svg"],"sourcesContent":["import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler);\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler);\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\"touchstart\", (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler);\n window.addEventListener(\"touchend\", () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n });\n });\n\n // UNMOUNT handler\n return () => {\n if (window) {\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n }\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.postMessage({ dispose: true });\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\nconst Banner = ({\n heightClass = \"min-h-160\",\n title,\n text,\n className,\n borderBottom,\n borderTop,\n babylon,\n}: {\n heightClass?: string;\n title: string;\n text: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n babylon?: boolean;\n}) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n
\n

\n \n {title.toUpperCase()}\n \n

\n

\n \n {text.toUpperCase()}\n \n

\n
\n {babylon ? (\n
\n \n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React from \"react\";\n\nimport { Link } from \"gatsby\";\n\nimport Button from \"./button\";\n\nconst Pagination = ({\n section,\n pagesQuantity,\n currentPage,\n className,\n}: {\n section: \"projects\" | \"blog\";\n pagesQuantity: number;\n currentPage: number;\n className?: string;\n}) => {\n const pages = Array.from({ length: pagesQuantity }, (_, i) => i + 1);\n const nextPage = currentPage + 1;\n\n return (\n
\n {currentPage < pagesQuantity ? (\n \n \n \n ) : null}\n\n \n
\n );\n};\n\nexport default Pagination;\n","import React from \"react\";\n\nimport { Link } from \"gatsby\";\n\nimport Quote from \"../../assets/common/chat-right-quote.svg\";\nimport Clock from \"../../assets/common/clock.svg\";\n\nimport { IPostPreviewQueryResult } from \"../../types/post.type\";\nimport { LocalBusinessMetadata } from \"../common/metadata\";\n\nconst PostPreview = ({\n post,\n className,\n fontColor,\n gradientBorder,\n}: {\n post: IPostPreviewQueryResult;\n className?: string;\n fontColor: \"main\" | \"secondary\";\n gradientBorder?: boolean;\n}) => {\n const { date, title, text } = post.frontmatter;\n\n const minutes = Math.floor(post.wordCount.words / 200);\n const readingTime = minutes ? minutes : 1;\n\n const fontColorClass100 =\n fontColor === \"main\" ? \"text-main-100\" : \"text-secondary-100\";\n const fontColorClass10 =\n fontColor === \"main\" ? \"text-main-100\" : \"text-secondary-10\";\n const fontColorHover =\n fontColor === \"main\" ? \"hover:text-main-10\" : \"hover:text-secondary-100\";\n\n return (\n \n \n \n \n
\n

{date}

\n \n {title}\n \n
\n
\n \n {text.split(\" \").slice(0, 60).join(\" \")}...\n

\n
\n

Read more

\n

\n \n\n \n Reading time: {readingTime}m.\n \n

\n
\n
\n \n \n );\n};\n\nexport default PostPreview;\n","import React from \"react\";\n\nimport { HeadFC, PageProps } from \"gatsby\";\nimport { graphql } from \"gatsby\";\n\nimport { IBlogPageData, IBlogPageContext } from \"../types/blog.type\";\n\nimport Banner from \"../components/common/banner\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport PostPreview from \"../components/posts/postPreview\";\nimport Pagination from \"../components/common/pagination\";\n\nconst Blog = ({\n data,\n pageContext,\n}: PageProps) => {\n const posts = data.allMarkdownRemark.nodes;\n const { currentPage, pagesQuantity } = pageContext;\n\n return (\n <>\n \n \n {posts\n ? posts.map((post) => (\n \n ))\n : null}\n \n \n \n );\n};\n\nexport default Blog;\n\nexport const Head: HeadFC = () => CodeCave Blog;\n\nexport const query = graphql`\n query ($skip: Int!, $limit: Int!) {\n allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"posts\" } } }\n sort: { frontmatter: { date: DESC } }\n limit: $limit\n skip: $skip\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"MMM DD, YYYY\")\n title\n text\n cover {\n childImageSharp {\n gatsbyImageData(\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n width: 600\n )\n }\n }\n }\n wordCount {\n words\n }\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"white\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"black\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n","var React = require('react');\n\nfunction ChatRightQuote (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15.875 7.9375H111.125C113.23 7.9375 115.249 8.77377 116.738 10.2623C118.226 11.7509 119.062 13.7698 119.062 15.875V107.839L103.188 91.9639C100.211 88.9865 96.1738 87.3134 91.9639 87.3125H15.875C13.7698 87.3125 11.7509 86.4762 10.2623 84.9877C8.77377 83.4991 7.9375 81.4802 7.9375 79.375V15.875C7.9375 13.7698 8.77377 11.7509 10.2623 10.2623C11.7509 8.77377 13.7698 7.9375 15.875 7.9375ZM111.125 0C115.335 0 119.373 1.67254 122.35 4.64968C125.327 7.62682 127 11.6647 127 15.875V117.419C127 118.205 126.767 118.972 126.33 119.625C125.893 120.278 125.273 120.786 124.547 121.086C123.822 121.386 123.023 121.464 122.253 121.31C121.483 121.156 120.776 120.777 120.221 120.221L97.5757 97.5757C96.0875 96.087 94.0689 95.2505 91.9639 95.25H15.875C11.6647 95.25 7.62682 93.5775 4.64968 90.6003C1.67254 87.6232 0 83.5853 0 79.375V15.875C0 11.6647 1.67254 7.62682 4.64968 4.64968C7.62682 1.67254 11.6647 0 15.875 0L111.125 0Z\",\"fill\":\"#FAFAFA\",\"key\":0}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M56.0865 37.7825C54.5404 35.3747 52.2544 33.5337 49.5723 32.5363C46.8902 31.5389 43.9569 31.439 41.2131 32.2515C38.4694 33.0641 36.0635 34.7453 34.357 37.0423C32.6506 39.3394 31.7358 42.1283 31.7502 44.9898C31.7516 47.3594 32.3893 49.6851 33.5968 51.7241C34.8042 53.763 36.537 55.4402 38.6142 56.5806C40.6914 57.721 43.0367 58.2826 45.4051 58.2069C47.7735 58.1311 50.0781 57.4207 52.0781 56.1499C51.0383 59.2376 49.1015 62.5316 45.9107 65.8336C45.3002 66.4652 44.9656 67.3134 44.9804 68.1916C44.9953 69.0699 45.3585 69.9063 45.99 70.5168C46.6216 71.1273 47.4698 71.4619 48.348 71.447C49.2263 71.4321 50.0627 71.0689 50.6732 70.4374C62.4683 58.2136 60.9364 44.9263 56.0865 37.7984V37.7825ZM87.8365 37.7825C86.2904 35.3747 84.0044 33.5337 81.3223 32.5363C78.6403 31.5389 75.7069 31.439 72.9631 32.2515C70.2194 33.0641 67.8135 34.7453 66.107 37.0423C64.4006 39.3394 63.4858 42.1283 63.5002 44.9898C63.5016 47.3594 64.1393 49.6851 65.3468 51.7241C66.5542 53.763 68.287 55.4402 70.3642 56.5806C72.4414 57.721 74.7867 58.2826 77.1551 58.2069C79.5235 58.1311 81.8281 57.4207 83.8281 56.1499C82.7883 59.2376 80.8515 62.5316 77.6607 65.8336C77.0502 66.4652 76.7156 67.3134 76.7304 68.1916C76.7453 69.0699 77.1085 69.9063 77.74 70.5168C78.3716 71.1273 79.2198 71.4619 80.098 71.447C80.9763 71.4321 81.8127 71.0689 82.4232 70.4374C94.2183 58.2136 92.6864 44.9263 87.8365 37.7984V37.7825Z\",\"fill\":\"#FAFAFA\",\"key\":1})]);\n}\n\nChatRightQuote.defaultProps = {\"width\":\"127\",\"height\":\"127\",\"viewBox\":\"0 0 127 127\",\"fill\":\"none\"};\n\nmodule.exports = ChatRightQuote;\n\nChatRightQuote.default = ChatRightQuote;\n","var React = require('react');\n\nfunction Clock (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"g\",{\"clipPath\":\"url(#clip0_829_432)\",\"key\":0},[React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9.57938 1.14638C9.38658 1.13214 9.19332 1.12501 9 1.125V0C9.2211 0.000107806 9.44213 0.00836341 9.66262 0.02475L9.57938 1.14638ZM11.8339 1.65263C11.4733 1.51347 11.1029 1.40104 10.7258 1.31625L10.9721 0.21825C11.403 0.315 11.8271 0.44325 12.2389 0.603L11.8339 1.65263ZM13.3751 2.45138C13.2143 2.34411 13.0495 2.24279 12.8812 2.14763L13.4359 1.16888C13.8205 1.38683 14.1886 1.63274 14.5372 1.90463L13.8454 2.79225C13.6929 2.67326 13.536 2.55993 13.3751 2.4525V2.45138ZM15.4384 4.46513C15.2158 4.14897 14.9703 3.84966 14.7037 3.56963L15.5182 2.79338C15.822 3.114 16.1032 3.45713 16.3586 3.81713L15.4384 4.46513ZM16.2754 5.98613C16.2015 5.80777 16.1212 5.63215 16.0346 5.45963L17.0392 4.95338C17.2379 5.34835 17.4071 5.75746 17.5455 6.17738L16.4767 6.5295C16.4163 6.34597 16.3491 6.16473 16.2754 5.98613ZM16.8716 8.8065C16.8625 8.41988 16.8249 8.03446 16.7591 7.65338L17.8672 7.46213C17.9426 7.89638 17.9865 8.33738 17.9977 8.77838L16.8727 8.8065H16.8716ZM16.7242 10.5368C16.7614 10.3455 16.7917 10.1554 16.8154 9.963L17.9325 10.1014C17.8785 10.5403 17.792 10.9746 17.6737 11.4008L16.5892 11.1004C16.641 10.9148 16.686 10.7269 16.7242 10.5368ZM15.6532 13.2131C15.8602 12.8869 16.0425 12.5449 16.2 12.1916L17.2282 12.6473C17.0482 13.0523 16.8401 13.4415 16.6039 13.815L15.6532 13.2131ZM14.5687 14.5688C14.706 14.4315 14.8376 14.2898 14.9625 14.1435L15.8152 14.8781C15.6708 15.0456 15.5204 15.2077 15.3641 15.3641L14.5687 14.5688Z\",\"fill\":\"black\",\"key\":0}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.99961 1.125C7.7046 1.12509 6.4296 1.44455 5.28753 2.05508C4.14547 2.66561 3.1716 3.54836 2.45217 4.62516C1.73275 5.70195 1.28998 6.93954 1.16308 8.22832C1.03618 9.5171 1.22907 10.8173 1.72466 12.0137C2.22025 13.2101 3.00325 14.2659 4.0043 15.0874C5.00535 15.909 6.19356 16.471 7.46368 16.7237C8.73381 16.9763 10.0466 16.9119 11.2859 16.536C12.5252 16.1601 13.6526 15.4844 14.5684 14.5688L15.3637 15.3641C14.3172 16.4113 13.0285 17.1841 11.6119 17.6141C10.1953 18.0442 8.69447 18.1182 7.24243 17.8295C5.79039 17.5409 4.43195 16.8986 3.28748 15.9595C2.143 15.0204 1.24784 13.8135 0.681284 12.4458C0.114733 11.078 -0.105707 9.59162 0.0394939 8.1183C0.184695 6.64499 0.691055 5.23024 1.51371 3.9994C2.33636 2.76855 3.44991 1.75962 4.75569 1.062C6.06147 0.364382 7.51916 -0.000392324 8.99961 3.16641e-07V1.125Z\",\"fill\":\"black\",\"key\":1}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.4375 3.375C8.58668 3.375 8.72976 3.43426 8.83525 3.53975C8.94074 3.64524 9 3.78832 9 3.9375V9.79875L12.654 11.8867C12.7798 11.9626 12.8709 12.0847 12.9078 12.2268C12.9448 12.369 12.9247 12.5199 12.8518 12.6475C12.779 12.775 12.6591 12.869 12.5179 12.9093C12.3766 12.9496 12.2252 12.9331 12.096 12.8632L8.1585 10.6132C8.07241 10.5641 8.00084 10.493 7.95106 10.4073C7.90127 10.3215 7.87503 10.2241 7.875 10.125V3.9375C7.875 3.78832 7.93426 3.64524 8.03975 3.53975C8.14524 3.43426 8.28832 3.375 8.4375 3.375Z\",\"fill\":\"black\",\"key\":2})]),React.createElement(\"defs\",{\"key\":1},React.createElement(\"clipPath\",{\"id\":\"clip0_829_432\"},React.createElement(\"rect\",{\"width\":\"18\",\"height\":\"18\",\"fill\":\"white\"})))]);\n}\n\nClock.defaultProps = {\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\"};\n\nmodule.exports = Clock;\n\nClock.default = Clock;\n"],"names":["_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","dispose","ref","Spinner","heightClass","title","text","borderBottom","borderTop","babylon","textTranslate","setTextTranslate","Border","ContentContainer","toUpperCase","section","pagesQuantity","currentPage","pages","Array","from","_","i","nextPage","Link","to","Button","size","variant","map","page","key","border","post","fontColor","gradientBorder","date","frontmatter","minutes","Math","floor","wordCount","words","readingTime","fontColorClass100","fontColorClass10","fontColorHover","id","itemScope","itemType","itemProp","Quote","split","slice","join","Clock","LocalBusinessMetadata","pageContext","posts","allMarkdownRemark","nodes","Banner","PostPreview","Pagination","Head","props","createElement","defaultProps","module","exports","default","ChatRightQuote"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-templates-post-tsx-7f7e2c93fcb41ce4f82f.js b/component---src-pages-templates-post-tsx-7f7e2c93fcb41ce4f82f.js new file mode 100644 index 00000000..62c48625 --- /dev/null +++ b/component---src-pages-templates-post-tsx-7f7e2c93fcb41ce4f82f.js @@ -0,0 +1,2 @@ +(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[354],{2916:function(e,t,l){var n=l(9720).w_;e.exports.t=function(e){return n({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"}}]})(e)}},6433:function(e,t,l){var n=l(9720).w_;e.exports.u=function(e){return n({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z"}}]})(e)}},6625:function(e,t,l){var n=l(9720).w_;e.exports.c=function(e){return n({tag:"svg",attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z"}}]})(e)}},1362:function(e,t,l){var n=l(9720).w_;e.exports.f=function(e){return n({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"}}]})(e)}},1929:function(e,t,l){"use strict";l.d(t,{Z:function(){return c}});var n=l(7294),r=l(4471),a=l.n(r),s=l(1164);var i=e=>{let{className:t}=e;return n.createElement("div",{className:"flex justify-center items-center h-full w-full "+t},n.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),n.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var o=()=>{const{0:e,1:t}=(0,n.useState)(!1),r=(0,n.useRef)(!0),a=(0,n.useRef)(null);return(0,n.useEffect)((()=>{if(!r.current||!a.current||"undefined"==typeof window)return;r.current=!1;const e=new Worker(new URL(l.p+l.u(475),l.b),{type:void 0});e.onmessage=e=>{let{data:l}=e;"ready"===l&&t(!0)};const n=a.current;n.width=n.clientWidth,n.height=n.clientHeight;const s=n.transferControlToOffscreen();e.postMessage({canvas:s},[s]);const i=()=>{e.postMessage({width:n.clientWidth,height:n.clientHeight})};window.addEventListener("resize",i);const o=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};n.addEventListener("wheel",o);const c=t=>{e.postMessage({x:t.movementX,y:t.movementY})};n.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",c),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",c)),{once:!0})}));let m;return n.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const l=t.touches[0];t.preventDefault();const n={x:l.screenX,y:l.screenY};m=t=>{const{newX:l,newY:r}=((t,l)=>{const n=t.touches[0];return e.postMessage({x:n.screenX-l.x,y:n.screenY-l.y}),{newX:n.screenX,newY:n.screenY}})(t,n);n.x=l,n.y=r},window.addEventListener("touchmove",m),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",m)}))})),()=>{window&&(window.removeEventListener("resize",i),window.removeEventListener("mousemove",c),window.removeEventListener("touchmove",m),n&&n.removeEventListener("wheel",o),e.terminate())}}),[]),n.createElement("div",{className:"h-full w-full relative"},n.createElement("canvas",{ref:a,className:"bg-main-100 h-160 w-full flex items-center justify-center cursor-pointer"}),e?null:n.createElement(i,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var c=e=>{let{heightClass:t="min-h-160",title:l,text:r,className:i,borderBottom:c,borderTop:m,babylon:u}=e;const{0:d,1:f}=(0,n.useState)("translate-y-full");return(0,n.useEffect)((()=>{f("translate-y-0")}),[]),n.createElement("div",{className:"w-full flex items-center bg-main-100 relative overflow-hidden px-6 "+t+" "+i},m?n.createElement(a(),{className:"absolute top-0 left-0 right-0 w-full"}):null,n.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center text-secondary-100 flex-grow"},n.createElement("div",{className:"flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full lg:w-1/2 bg-main-100"},n.createElement("h2",{className:"overflow-hidden mb-8 w-full"},n.createElement("span",{className:"inline-block font-['Rubik_Glitch'] text-5xl sm:text-6xl w-full text-center lg:text-start transition-all duration-1000 "+d},l.toUpperCase())),n.createElement("p",{className:"overflow-hidden w-full"},n.createElement("span",{className:"inline-block w-full text-3xl sm:text-4xl font-light text-center lg:text-start transition-all duration-1000 "+d},r.toUpperCase()))),u?n.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full flex"},n.createElement(o,null)):null),c?n.createElement(a(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},697:function(e,t,l){"use strict";l.r(t),l.d(t,{Head:function(){return y},default:function(){return b}});var n=l(7294),r=l(7896),a=l(4697),s=l.n(a),i=l(9165),o=l(1164),c=l(1929),m=l(2916),u=l(1362),d=l(6433),f=l(6625),h=l(7951);const C=e=>{let{url:t,media:l,children:r}=e;return n.createElement("a",{href:t,target:"_blank",title:"Share on "+l},n.createElement("button",{className:"w-12 h-12 border border-solid rounded-full border-main-10 flex justify-center items-center m-2 hover:bg-secondary-70"},r))};var w=e=>{let{url:t,title:l}=e;return n.createElement(n.Fragment,null,n.createElement(C,{media:"Facebook",url:"https://www.facebook.com/sharer/sharer.php?u="+t+"&p[title]="+l},n.createElement(m.t,{size:"20px"})),n.createElement(C,{media:"Twitter",url:"http://twitter.com/share?text="+l+"&url="+t},n.createElement(u.f,{size:"20px"})),n.createElement(C,{media:"Google+",url:"https://plus.google.com/share?url="+t},n.createElement(d.u,{size:"20px"})),n.createElement(C,{media:"Pinterest",url:"http://pinterest.com/pin/create/button/?url="+t+"&description="+l},n.createElement(f.c,{size:"20px"})),n.createElement(C,{media:"Linkedin",url:"http://www.linkedin.com/shareArticle?mini=true&url="+t+"&title="+l+"&source=CodeCave"},n.createElement(h.B,{size:"20px"})))},v=l(4471),p=l.n(v),x=l(35),E=l.n(x);var g=()=>n.createElement("div",{className:"w-full h-96 bg-main-100 flex px-6 relative"},n.createElement(p(),{className:"absolute top-0 left-0 right-0 w-full"}),n.createElement(o.Z,{className:"items-center"},n.createElement("div",{className:"w-full basis-1/5 hidden sm:flex justify-start items-center pr-16"},n.createElement(E(),null)),n.createElement("div",{className:"w-full text-center sm:text-start sm:basis-3/5 flex flex-col justify-center items-center"},n.createElement("h4",{className:"text-secondary-100 text-4xl font-bold pb-5"},"Congratulations! Now you can show off with your new knowledge!"),n.createElement("p",{className:"text-3xl font-light text-secondary-100"},"If you want us to uncover some other Well unknown facts, you can contact us via the socials or e-mail below. See you!"," "))));var b=e=>{let{data:{markdownRemark:{frontmatter:t,html:l,wordCount:{words:a}}}}=e;const{href:m}=(0,r.useLocation)(),{date:u,title:d,keywords:f}=t,h=Math.floor(a/200),C=h||1;return n.createElement(n.Fragment,null,n.createElement(c.Z,{heightClass:"h-136",title:"MAKE BLOGGING GREAT AGAIN",text:"Well unknown facts for your tech savvy and entertainment",borderBottom:!0}),n.createElement("div",{itemScope:!0,itemType:"https://schema.org/Article",className:"px-6"},n.createElement(o.Z,{className:"flex-col max-w-6xl"},n.createElement("div",{className:"w-full flex pt-14 pb-9 items-center"},n.createElement("span",{className:"inline text-2xl sm:text-3xl text-main-100 font-light pr-11",itemProp:"datePublished"},u),n.createElement(s(),null),n.createElement("span",{className:"inline text-xl font-light italic pl-4"},"Reading time: ",C,"m.")),n.createElement("h2",{className:"text-main-100 text-4xl sm:text-5xl md:text-6xl font-semibold leading-[52px] sm:pb-10 md:pb-16",itemProp:"headline"},d),n.createElement("div",{className:"single-post text-main-100 font-medium text-2xl pb-10",dangerouslySetInnerHTML:{__html:l},itemProp:"articleBody"}),n.createElement("div",{className:"w-full flex flex-col md:flex-row justify-between items-center pb-24"},f?n.createElement("div",{className:"basis-full sm:basis-3/5 text-center md:text-start pb-10 md:pb-0"},f.map((e=>n.createElement("div",{key:e,className:"inline-block text-main-10 border-main-10 border-solid border rounded-full p-1 px-4 text-2xl m-2",itemProp:"keywords"},"#",e.toLowerCase())))):null,n.createElement("div",{className:"basis-full sm:basis-2/5 flex flex-row justify-end"},n.createElement(w,{url:m,title:d})))),n.createElement(i.L,{itemProp:"copyrightHolder"})),n.createElement(g,null))};const y=e=>{let{data:{markdownRemark:{frontmatter:{title:t}}}}=e;return n.createElement("title",null,"CodeCave blog: ",t)}},4471:function(e,t,l){var n=l(7294);function r(e){return n.createElement("svg",e,[n.createElement("line",{width:"800",height:"8",stroke:"white",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),n.createElement("line",{width:"800",height:"8",stroke:"black",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}r.defaultProps={height:"8"},e.exports=r,r.default=r},4697:function(e,t,l){var n=l(7294);function r(e){return n.createElement("svg",e,[n.createElement("g",{clipPath:"url(#clip0_829_432)",key:0},[n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.57938 1.14638C9.38658 1.13214 9.19332 1.12501 9 1.125V0C9.2211 0.000107806 9.44213 0.00836341 9.66262 0.02475L9.57938 1.14638ZM11.8339 1.65263C11.4733 1.51347 11.1029 1.40104 10.7258 1.31625L10.9721 0.21825C11.403 0.315 11.8271 0.44325 12.2389 0.603L11.8339 1.65263ZM13.3751 2.45138C13.2143 2.34411 13.0495 2.24279 12.8812 2.14763L13.4359 1.16888C13.8205 1.38683 14.1886 1.63274 14.5372 1.90463L13.8454 2.79225C13.6929 2.67326 13.536 2.55993 13.3751 2.4525V2.45138ZM15.4384 4.46513C15.2158 4.14897 14.9703 3.84966 14.7037 3.56963L15.5182 2.79338C15.822 3.114 16.1032 3.45713 16.3586 3.81713L15.4384 4.46513ZM16.2754 5.98613C16.2015 5.80777 16.1212 5.63215 16.0346 5.45963L17.0392 4.95338C17.2379 5.34835 17.4071 5.75746 17.5455 6.17738L16.4767 6.5295C16.4163 6.34597 16.3491 6.16473 16.2754 5.98613ZM16.8716 8.8065C16.8625 8.41988 16.8249 8.03446 16.7591 7.65338L17.8672 7.46213C17.9426 7.89638 17.9865 8.33738 17.9977 8.77838L16.8727 8.8065H16.8716ZM16.7242 10.5368C16.7614 10.3455 16.7917 10.1554 16.8154 9.963L17.9325 10.1014C17.8785 10.5403 17.792 10.9746 17.6737 11.4008L16.5892 11.1004C16.641 10.9148 16.686 10.7269 16.7242 10.5368ZM15.6532 13.2131C15.8602 12.8869 16.0425 12.5449 16.2 12.1916L17.2282 12.6473C17.0482 13.0523 16.8401 13.4415 16.6039 13.815L15.6532 13.2131ZM14.5687 14.5688C14.706 14.4315 14.8376 14.2898 14.9625 14.1435L15.8152 14.8781C15.6708 15.0456 15.5204 15.2077 15.3641 15.3641L14.5687 14.5688Z",fill:"black",key:0}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.99961 1.125C7.7046 1.12509 6.4296 1.44455 5.28753 2.05508C4.14547 2.66561 3.1716 3.54836 2.45217 4.62516C1.73275 5.70195 1.28998 6.93954 1.16308 8.22832C1.03618 9.5171 1.22907 10.8173 1.72466 12.0137C2.22025 13.2101 3.00325 14.2659 4.0043 15.0874C5.00535 15.909 6.19356 16.471 7.46368 16.7237C8.73381 16.9763 10.0466 16.9119 11.2859 16.536C12.5252 16.1601 13.6526 15.4844 14.5684 14.5688L15.3637 15.3641C14.3172 16.4113 13.0285 17.1841 11.6119 17.6141C10.1953 18.0442 8.69447 18.1182 7.24243 17.8295C5.79039 17.5409 4.43195 16.8986 3.28748 15.9595C2.143 15.0204 1.24784 13.8135 0.681284 12.4458C0.114733 11.078 -0.105707 9.59162 0.0394939 8.1183C0.184695 6.64499 0.691055 5.23024 1.51371 3.9994C2.33636 2.76855 3.44991 1.75962 4.75569 1.062C6.06147 0.364382 7.51916 -0.000392324 8.99961 3.16641e-07V1.125Z",fill:"black",key:1}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.4375 3.375C8.58668 3.375 8.72976 3.43426 8.83525 3.53975C8.94074 3.64524 9 3.78832 9 3.9375V9.79875L12.654 11.8867C12.7798 11.9626 12.8709 12.0847 12.9078 12.2268C12.9448 12.369 12.9247 12.5199 12.8518 12.6475C12.779 12.775 12.6591 12.869 12.5179 12.9093C12.3766 12.9496 12.2252 12.9331 12.096 12.8632L8.1585 10.6132C8.07241 10.5641 8.00084 10.493 7.95106 10.4073C7.90127 10.3215 7.87503 10.2241 7.875 10.125V3.9375C7.875 3.78832 7.93426 3.64524 8.03975 3.53975C8.14524 3.43426 8.28832 3.375 8.4375 3.375Z",fill:"black",key:2})]),n.createElement("defs",{key:1},n.createElement("clipPath",{id:"clip0_829_432"},n.createElement("rect",{width:"18",height:"18",fill:"white"})))])}r.defaultProps={width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},e.exports=r,r.default=r},35:function(e,t,l){var n=l(7294);function r(e){return n.createElement("svg",e,n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.9629 15.3376C17.9629 11.1936 19.6091 7.21936 22.5393 4.2891C25.4696 1.35885 29.4439 -0.287354 33.5879 -0.287354C37.7319 -0.287354 41.7062 1.35885 44.6364 4.2891C47.5667 7.21936 49.2129 11.1936 49.2129 15.3376C49.2129 11.1936 50.8591 7.21936 53.7893 4.2891C56.7196 1.35885 60.6939 -0.287354 64.8379 -0.287354C68.9819 -0.287354 72.9562 1.35885 75.8864 4.2891C78.8167 7.21936 80.4629 11.1936 80.4629 15.3376V15.3751C80.4629 15.8126 80.4629 17.0626 80.2254 18.4626H92.9629C94.6205 18.4626 96.2102 19.1211 97.3823 20.2932C98.5544 21.4653 99.2129 23.055 99.2129 24.7126V37.2126C99.2129 38.8703 98.5544 40.46 97.3823 41.6321C96.2102 42.8042 94.6205 43.4626 92.9629 43.4626V90.3376C92.9629 92.8241 91.9752 95.2086 90.217 96.9668C88.4589 98.7249 86.0743 99.7126 83.5879 99.7126H14.8379C12.3515 99.7126 9.96692 98.7249 8.20877 96.9668C6.45061 95.2086 5.46289 92.8241 5.46289 90.3376V43.4626C3.80529 43.4626 2.21558 42.8042 1.04347 41.6321C-0.128629 40.46 -0.787109 38.8703 -0.787109 37.2126V24.7126C-0.787109 23.055 -0.128629 21.4653 1.04347 20.2932C2.21558 19.1211 3.80529 18.4626 5.46289 18.4626H18.2004C18.0353 17.4419 17.9559 16.4091 17.9629 15.3751V15.3376ZM24.6379 18.4626H42.9629V15.3376C42.9629 14.1065 42.7204 12.8874 42.2493 11.75C41.7781 10.6126 41.0876 9.57907 40.217 8.70852C39.3465 7.83797 38.313 7.14741 37.1755 6.67628C36.0381 6.20514 34.819 5.96265 33.5879 5.96265C32.3567 5.96265 31.1377 6.20514 30.0002 6.67628C28.8628 7.14741 27.8293 7.83797 26.9588 8.70852C26.0882 9.57907 25.3977 10.6126 24.9265 11.75C24.4554 12.8874 24.2129 14.1065 24.2129 15.3376C24.2129 15.8689 24.2254 17.0501 24.4941 18.0251C24.5317 18.1742 24.5797 18.3204 24.6379 18.4626ZM55.4629 18.4626H73.7879C73.8454 18.3201 73.8934 18.174 73.9316 18.0251C74.2004 17.0501 74.2129 15.8689 74.2129 15.3376C74.2129 12.8512 73.2252 10.4667 71.467 8.70852C69.7089 6.95037 67.3243 5.96265 64.8379 5.96265C62.3515 5.96265 59.9669 6.95037 58.2088 8.70852C56.4506 10.4667 55.4629 12.8512 55.4629 15.3376V18.4626ZM5.46289 24.7126V37.2126H42.9629V24.7126H5.46289ZM55.4629 24.7126V37.2126H92.9629V24.7126H55.4629ZM86.7129 43.4626H55.4629V93.4626H83.5879C84.4167 93.4626 85.2115 93.1334 85.7976 92.5474C86.3837 91.9613 86.7129 91.1665 86.7129 90.3376V43.4626ZM42.9629 93.4626V43.4626H11.7129V90.3376C11.7129 91.1665 12.0421 91.9613 12.6282 92.5474C13.2142 93.1334 14.0091 93.4626 14.8379 93.4626H42.9629Z",fill:"white"}))}r.defaultProps={width:"100",height:"100",viewBox:"0 0 100 100",fill:"none"},e.exports=r,r.default=r}}]); +//# sourceMappingURL=component---src-pages-templates-post-tsx-7f7e2c93fcb41ce4f82f.js.map \ No newline at end of file diff --git a/component---src-pages-templates-post-tsx-7f7e2c93fcb41ce4f82f.js.map b/component---src-pages-templates-post-tsx-7f7e2c93fcb41ce4f82f.js.map new file mode 100644 index 00000000..6c0d9bc8 --- /dev/null +++ b/component---src-pages-templates-post-tsx-7f7e2c93fcb41ce4f82f.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---src-pages-templates-post-tsx-7f7e2c93fcb41ce4f82f.js","mappings":"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","sources":["webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaFacebookF.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaGooglePlusG.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaPinterestP.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaTwitter.js","webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/posts/shareButtons.tsx","webpack://code-cave/./src/components/posts/postFooter.tsx","webpack://code-cave/./src/pagesTemplates/post.tsx","webpack://code-cave/./src/assets/common/border.svg","webpack://code-cave/./src/assets/common/clock.svg","webpack://code-cave/./src/assets/common/gift.svg"],"sourcesContent":["// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaFacebookF = function FaFacebookF (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaGooglePlusG = function FaGooglePlusG (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaPinterestP = function FaPinterestP (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaTwitter = function FaTwitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z\"}}]})(props);\n};\n","import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler);\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler);\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\"touchstart\", (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler);\n window.addEventListener(\"touchend\", () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n });\n });\n\n // UNMOUNT handler\n return () => {\n if (!window) return;\n\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.terminate();\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\nconst Banner = ({\n heightClass = \"min-h-160\",\n title,\n text,\n className,\n borderBottom,\n borderTop,\n babylon,\n}: {\n heightClass?: string;\n title: string;\n text: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n babylon?: boolean;\n}) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n
\n

\n \n {title.toUpperCase()}\n \n

\n

\n \n {text.toUpperCase()}\n \n

\n
\n {babylon ? (\n
\n \n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React from \"react\";\n\nimport { FaFacebookF } from \"@react-icons/all-files/fa/FaFacebookF\";\nimport { FaTwitter } from \"@react-icons/all-files/fa/FaTwitter\";\nimport { FaGooglePlusG } from \"@react-icons/all-files/fa/FaGooglePlusG\";\nimport { FaPinterestP } from \"@react-icons/all-files/fa/FaPinterestP\";\nimport { FaLinkedinIn } from \"@react-icons/all-files/fa/FaLinkedinIn\";\n\nconst ShareButtons = ({ url, title }: { url: string; title: string }) => {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport const ShareButton = ({\n url,\n media,\n children,\n}: React.PropsWithChildren<{ url: string; media: string }>) => {\n return (\n \n \n \n );\n};\n\nexport default ShareButtons;\n","import React from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\nimport GiftImg from \"../../assets/common/gift.svg\";\nimport ContentContainer from \"../common/contentContainer\";\n\nconst PostFooter = () => {\n return (\n
\n \n \n \n
\n

\n Congratulations! Now you can show off with your new knowledge!\n

\n

\n If you want us to uncover some other Well unknown facts, you can\n contact us via the socials or e-mail below. See you!{\" \"}\n

\n
\n
\n
\n );\n};\n\nexport default PostFooter;\n","import React from \"react\";\n\nimport { HeadFC, PageProps, graphql } from \"gatsby\";\nimport { useLocation } from \"@reach/router\";\n\nimport { IPostQueryResult } from \"../types/post.type\";\n\nimport Clock from \"../assets/common/clock.svg\";\n\nimport { LocalBusinessMetadata } from \"../components/common/metadata\";\n\nimport ContentContainer from \"../components/common/contentContainer\";\nimport Banner from \"../components/common/banner\";\nimport ShareButtons from \"../components/posts/shareButtons\";\nimport PostFooter from \"../components/posts/postFooter\";\n\nconst Post = ({\n data: {\n markdownRemark: {\n frontmatter,\n html,\n wordCount: { words },\n },\n },\n}: PageProps) => {\n const { href: currentUrl } = useLocation();\n\n const { date, title, keywords } = frontmatter;\n\n const minutes = Math.floor(words / 200);\n const readingTime = minutes ? minutes : 1;\n\n return (\n <>\n \n
\n \n
\n \n {date}\n \n\n \n\n \n Reading time: {readingTime}m.\n \n
\n \n {title}\n \n \n
\n {keywords ? (\n
\n {keywords.map((hashtag) => (\n \n #{hashtag.toLowerCase()}\n
\n ))}\n
\n ) : null}\n
\n \n
\n
\n \n \n \n \n \n );\n};\n\nexport default Post;\n\nexport const Head: HeadFC = ({\n data: {\n markdownRemark: {\n frontmatter: { title },\n },\n },\n}) => CodeCave blog: {title};\n\nexport const query = graphql`\n query ($id: String) {\n markdownRemark(id: { eq: $id }) {\n frontmatter {\n date(formatString: \"MMM DD, YYYY\")\n title\n keywords\n }\n html\n wordCount {\n words\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"white\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"black\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n","var React = require('react');\n\nfunction Clock (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"g\",{\"clipPath\":\"url(#clip0_829_432)\",\"key\":0},[React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9.57938 1.14638C9.38658 1.13214 9.19332 1.12501 9 1.125V0C9.2211 0.000107806 9.44213 0.00836341 9.66262 0.02475L9.57938 1.14638ZM11.8339 1.65263C11.4733 1.51347 11.1029 1.40104 10.7258 1.31625L10.9721 0.21825C11.403 0.315 11.8271 0.44325 12.2389 0.603L11.8339 1.65263ZM13.3751 2.45138C13.2143 2.34411 13.0495 2.24279 12.8812 2.14763L13.4359 1.16888C13.8205 1.38683 14.1886 1.63274 14.5372 1.90463L13.8454 2.79225C13.6929 2.67326 13.536 2.55993 13.3751 2.4525V2.45138ZM15.4384 4.46513C15.2158 4.14897 14.9703 3.84966 14.7037 3.56963L15.5182 2.79338C15.822 3.114 16.1032 3.45713 16.3586 3.81713L15.4384 4.46513ZM16.2754 5.98613C16.2015 5.80777 16.1212 5.63215 16.0346 5.45963L17.0392 4.95338C17.2379 5.34835 17.4071 5.75746 17.5455 6.17738L16.4767 6.5295C16.4163 6.34597 16.3491 6.16473 16.2754 5.98613ZM16.8716 8.8065C16.8625 8.41988 16.8249 8.03446 16.7591 7.65338L17.8672 7.46213C17.9426 7.89638 17.9865 8.33738 17.9977 8.77838L16.8727 8.8065H16.8716ZM16.7242 10.5368C16.7614 10.3455 16.7917 10.1554 16.8154 9.963L17.9325 10.1014C17.8785 10.5403 17.792 10.9746 17.6737 11.4008L16.5892 11.1004C16.641 10.9148 16.686 10.7269 16.7242 10.5368ZM15.6532 13.2131C15.8602 12.8869 16.0425 12.5449 16.2 12.1916L17.2282 12.6473C17.0482 13.0523 16.8401 13.4415 16.6039 13.815L15.6532 13.2131ZM14.5687 14.5688C14.706 14.4315 14.8376 14.2898 14.9625 14.1435L15.8152 14.8781C15.6708 15.0456 15.5204 15.2077 15.3641 15.3641L14.5687 14.5688Z\",\"fill\":\"black\",\"key\":0}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.99961 1.125C7.7046 1.12509 6.4296 1.44455 5.28753 2.05508C4.14547 2.66561 3.1716 3.54836 2.45217 4.62516C1.73275 5.70195 1.28998 6.93954 1.16308 8.22832C1.03618 9.5171 1.22907 10.8173 1.72466 12.0137C2.22025 13.2101 3.00325 14.2659 4.0043 15.0874C5.00535 15.909 6.19356 16.471 7.46368 16.7237C8.73381 16.9763 10.0466 16.9119 11.2859 16.536C12.5252 16.1601 13.6526 15.4844 14.5684 14.5688L15.3637 15.3641C14.3172 16.4113 13.0285 17.1841 11.6119 17.6141C10.1953 18.0442 8.69447 18.1182 7.24243 17.8295C5.79039 17.5409 4.43195 16.8986 3.28748 15.9595C2.143 15.0204 1.24784 13.8135 0.681284 12.4458C0.114733 11.078 -0.105707 9.59162 0.0394939 8.1183C0.184695 6.64499 0.691055 5.23024 1.51371 3.9994C2.33636 2.76855 3.44991 1.75962 4.75569 1.062C6.06147 0.364382 7.51916 -0.000392324 8.99961 3.16641e-07V1.125Z\",\"fill\":\"black\",\"key\":1}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.4375 3.375C8.58668 3.375 8.72976 3.43426 8.83525 3.53975C8.94074 3.64524 9 3.78832 9 3.9375V9.79875L12.654 11.8867C12.7798 11.9626 12.8709 12.0847 12.9078 12.2268C12.9448 12.369 12.9247 12.5199 12.8518 12.6475C12.779 12.775 12.6591 12.869 12.5179 12.9093C12.3766 12.9496 12.2252 12.9331 12.096 12.8632L8.1585 10.6132C8.07241 10.5641 8.00084 10.493 7.95106 10.4073C7.90127 10.3215 7.87503 10.2241 7.875 10.125V3.9375C7.875 3.78832 7.93426 3.64524 8.03975 3.53975C8.14524 3.43426 8.28832 3.375 8.4375 3.375Z\",\"fill\":\"black\",\"key\":2})]),React.createElement(\"defs\",{\"key\":1},React.createElement(\"clipPath\",{\"id\":\"clip0_829_432\"},React.createElement(\"rect\",{\"width\":\"18\",\"height\":\"18\",\"fill\":\"white\"})))]);\n}\n\nClock.defaultProps = {\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\"};\n\nmodule.exports = Clock;\n\nClock.default = Clock;\n","var React = require('react');\n\nfunction Gift (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17.9629 15.3376C17.9629 11.1936 19.6091 7.21936 22.5393 4.2891C25.4696 1.35885 29.4439 -0.287354 33.5879 -0.287354C37.7319 -0.287354 41.7062 1.35885 44.6364 4.2891C47.5667 7.21936 49.2129 11.1936 49.2129 15.3376C49.2129 11.1936 50.8591 7.21936 53.7893 4.2891C56.7196 1.35885 60.6939 -0.287354 64.8379 -0.287354C68.9819 -0.287354 72.9562 1.35885 75.8864 4.2891C78.8167 7.21936 80.4629 11.1936 80.4629 15.3376V15.3751C80.4629 15.8126 80.4629 17.0626 80.2254 18.4626H92.9629C94.6205 18.4626 96.2102 19.1211 97.3823 20.2932C98.5544 21.4653 99.2129 23.055 99.2129 24.7126V37.2126C99.2129 38.8703 98.5544 40.46 97.3823 41.6321C96.2102 42.8042 94.6205 43.4626 92.9629 43.4626V90.3376C92.9629 92.8241 91.9752 95.2086 90.217 96.9668C88.4589 98.7249 86.0743 99.7126 83.5879 99.7126H14.8379C12.3515 99.7126 9.96692 98.7249 8.20877 96.9668C6.45061 95.2086 5.46289 92.8241 5.46289 90.3376V43.4626C3.80529 43.4626 2.21558 42.8042 1.04347 41.6321C-0.128629 40.46 -0.787109 38.8703 -0.787109 37.2126V24.7126C-0.787109 23.055 -0.128629 21.4653 1.04347 20.2932C2.21558 19.1211 3.80529 18.4626 5.46289 18.4626H18.2004C18.0353 17.4419 17.9559 16.4091 17.9629 15.3751V15.3376ZM24.6379 18.4626H42.9629V15.3376C42.9629 14.1065 42.7204 12.8874 42.2493 11.75C41.7781 10.6126 41.0876 9.57907 40.217 8.70852C39.3465 7.83797 38.313 7.14741 37.1755 6.67628C36.0381 6.20514 34.819 5.96265 33.5879 5.96265C32.3567 5.96265 31.1377 6.20514 30.0002 6.67628C28.8628 7.14741 27.8293 7.83797 26.9588 8.70852C26.0882 9.57907 25.3977 10.6126 24.9265 11.75C24.4554 12.8874 24.2129 14.1065 24.2129 15.3376C24.2129 15.8689 24.2254 17.0501 24.4941 18.0251C24.5317 18.1742 24.5797 18.3204 24.6379 18.4626ZM55.4629 18.4626H73.7879C73.8454 18.3201 73.8934 18.174 73.9316 18.0251C74.2004 17.0501 74.2129 15.8689 74.2129 15.3376C74.2129 12.8512 73.2252 10.4667 71.467 8.70852C69.7089 6.95037 67.3243 5.96265 64.8379 5.96265C62.3515 5.96265 59.9669 6.95037 58.2088 8.70852C56.4506 10.4667 55.4629 12.8512 55.4629 15.3376V18.4626ZM5.46289 24.7126V37.2126H42.9629V24.7126H5.46289ZM55.4629 24.7126V37.2126H92.9629V24.7126H55.4629ZM86.7129 43.4626H55.4629V93.4626H83.5879C84.4167 93.4626 85.2115 93.1334 85.7976 92.5474C86.3837 91.9613 86.7129 91.1665 86.7129 90.3376V43.4626ZM42.9629 93.4626V43.4626H11.7129V90.3376C11.7129 91.1665 12.0421 91.9613 12.6282 92.5474C13.2142 93.1334 14.0091 93.4626 14.8379 93.4626H42.9629Z\",\"fill\":\"white\"}));\n}\n\nGift.defaultProps = {\"width\":\"100\",\"height\":\"100\",\"viewBox\":\"0 0 100 100\",\"fill\":\"none\"};\n\nmodule.exports = Gift;\n\nGift.default = Gift;\n"],"names":["GenIcon","module","exports","props","_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","terminate","ref","Spinner","heightClass","title","text","borderBottom","borderTop","babylon","textTranslate","setTextTranslate","Border","ContentContainer","toUpperCase","ShareButton","_ref2","url","media","children","href","target","FaFacebookF","size","FaTwitter","FaGooglePlusG","FaPinterestP","FaLinkedinIn","PostFooter","GiftImg","markdownRemark","frontmatter","html","wordCount","words","currentUrl","useLocation","date","keywords","minutes","Math","floor","readingTime","Banner","itemScope","itemType","itemProp","Clock","dangerouslySetInnerHTML","__html","map","hashtag","key","toLowerCase","ShareButtons","LocalBusinessMetadata","Head","createElement","defaultProps","default","Gift"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-templates-post-tsx-f2b5783ab45f7133a802.js b/component---src-pages-templates-post-tsx-f2b5783ab45f7133a802.js deleted file mode 100644 index f73a9149..00000000 --- a/component---src-pages-templates-post-tsx-f2b5783ab45f7133a802.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[354],{2916:function(e,t,l){var n=l(9720).w_;e.exports.t=function(e){return n({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"}}]})(e)}},6433:function(e,t,l){var n=l(9720).w_;e.exports.u=function(e){return n({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z"}}]})(e)}},6625:function(e,t,l){var n=l(9720).w_;e.exports.c=function(e){return n({tag:"svg",attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z"}}]})(e)}},1362:function(e,t,l){var n=l(9720).w_;e.exports.f=function(e){return n({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"}}]})(e)}},1929:function(e,t,l){"use strict";l.d(t,{Z:function(){return c}});var n=l(7294),r=l(4471),a=l.n(r),s=l(1164);var i=e=>{let{className:t}=e;return n.createElement("div",{className:"flex justify-center items-center h-full w-full "+t},n.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),n.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var o=()=>{const{0:e,1:t}=(0,n.useState)(!1),r=(0,n.useRef)(!0),a=(0,n.useRef)(null);return(0,n.useEffect)((()=>{if(!r.current||!a.current||"undefined"==typeof window)return;r.current=!1;const e=new Worker(new URL(l.p+l.u(475),l.b),{type:void 0});e.onmessage=e=>{let{data:l}=e;"ready"===l&&t(!0)};const n=a.current;n.width=n.clientWidth,n.height=n.clientHeight;const s=n.transferControlToOffscreen();e.postMessage({canvas:s},[s]);const i=()=>{e.postMessage({width:n.clientWidth,height:n.clientHeight})};window.addEventListener("resize",i);const o=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};n.addEventListener("wheel",o);const c=t=>{e.postMessage({x:t.movementX,y:t.movementY})};n.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",c),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",c)),{once:!0})}));let m;return n.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const l=t.touches[0];t.preventDefault();const n={x:l.screenX,y:l.screenY};m=t=>{const{newX:l,newY:r}=((t,l)=>{const n=t.touches[0];return e.postMessage({x:n.screenX-l.x,y:n.screenY-l.y}),{newX:n.screenX,newY:n.screenY}})(t,n);n.x=l,n.y=r},window.addEventListener("touchmove",m),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",m)}))})),()=>{window&&(window.removeEventListener("resize",i),window.removeEventListener("mousemove",c),window.removeEventListener("touchmove",m)),n&&n.removeEventListener("wheel",o),e.postMessage({dispose:!0})}}),[]),n.createElement("div",{className:"h-full w-full relative"},n.createElement("canvas",{ref:a,className:"bg-main-100 h-160 w-full flex items-center justify-center cursor-pointer"}),e?null:n.createElement(i,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var c=e=>{let{heightClass:t="min-h-160",title:l,text:r,className:i,borderBottom:c,borderTop:m,babylon:u}=e;const{0:d,1:f}=(0,n.useState)("translate-y-full");return(0,n.useEffect)((()=>{f("translate-y-0")}),[]),n.createElement("div",{className:"w-full flex items-center bg-main-100 relative overflow-hidden px-6 "+t+" "+i},m?n.createElement(a(),{className:"absolute top-0 left-0 right-0 w-full"}):null,n.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center text-secondary-100 flex-grow"},n.createElement("div",{className:"flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full lg:w-1/2 bg-main-100"},n.createElement("h2",{className:"overflow-hidden mb-8 w-full"},n.createElement("span",{className:"inline-block font-['Rubik_Glitch'] text-5xl sm:text-6xl w-full text-center lg:text-start transition-all duration-1000 "+d},l.toUpperCase())),n.createElement("p",{className:"overflow-hidden w-full"},n.createElement("span",{className:"inline-block w-full text-3xl sm:text-4xl font-light text-center lg:text-start transition-all duration-1000 "+d},r.toUpperCase()))),u?n.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full flex"},n.createElement(o,null)):null),c?n.createElement(a(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},697:function(e,t,l){"use strict";l.r(t),l.d(t,{Head:function(){return y},default:function(){return b}});var n=l(7294),r=l(7896),a=l(4697),s=l.n(a),i=l(9165),o=l(1164),c=l(1929),m=l(2916),u=l(1362),d=l(6433),f=l(6625),h=l(7951);const C=e=>{let{url:t,media:l,children:r}=e;return n.createElement("a",{href:t,target:"_blank",title:"Share on "+l},n.createElement("button",{className:"w-12 h-12 border border-solid rounded-full border-main-10 flex justify-center items-center m-2 hover:bg-secondary-70"},r))};var w=e=>{let{url:t,title:l}=e;return n.createElement(n.Fragment,null,n.createElement(C,{media:"Facebook",url:"https://www.facebook.com/sharer/sharer.php?u="+t+"&p[title]="+l},n.createElement(m.t,{size:"20px"})),n.createElement(C,{media:"Twitter",url:"http://twitter.com/share?text="+l+"&url="+t},n.createElement(u.f,{size:"20px"})),n.createElement(C,{media:"Google+",url:"https://plus.google.com/share?url="+t},n.createElement(d.u,{size:"20px"})),n.createElement(C,{media:"Pinterest",url:"http://pinterest.com/pin/create/button/?url="+t+"&description="+l},n.createElement(f.c,{size:"20px"})),n.createElement(C,{media:"Linkedin",url:"http://www.linkedin.com/shareArticle?mini=true&url="+t+"&title="+l+"&source=CodeCave"},n.createElement(h.B,{size:"20px"})))},v=l(4471),p=l.n(v),x=l(35),E=l.n(x);var g=()=>n.createElement("div",{className:"w-full h-96 bg-main-100 flex px-6 relative"},n.createElement(p(),{className:"absolute top-0 left-0 right-0 w-full"}),n.createElement(o.Z,{className:"items-center"},n.createElement("div",{className:"w-full basis-1/5 hidden sm:flex justify-start items-center pr-16"},n.createElement(E(),null)),n.createElement("div",{className:"w-full text-center sm:text-start sm:basis-3/5 flex flex-col justify-center items-center"},n.createElement("h4",{className:"text-secondary-100 text-4xl font-bold pb-5"},"Congratulations! Now you can show off with your new knowledge!"),n.createElement("p",{className:"text-3xl font-light text-secondary-100"},"If you want us to uncover some other Well unknown facts, you can contact us via the socials or e-mail below. See you!"," "))));var b=e=>{let{data:{markdownRemark:{frontmatter:t,html:l,wordCount:{words:a}}}}=e;const{href:m}=(0,r.useLocation)(),{date:u,title:d,keywords:f}=t,h=Math.floor(a/200),C=h||1;return n.createElement(n.Fragment,null,n.createElement(c.Z,{heightClass:"h-136",title:"MAKE BLOGGING GREAT AGAIN",text:"Well unknown facts for your tech savvy and entertainment",borderBottom:!0}),n.createElement("div",{itemScope:!0,itemType:"https://schema.org/Article",className:"px-6"},n.createElement(o.Z,{className:"flex-col max-w-6xl"},n.createElement("div",{className:"w-full flex pt-14 pb-9 items-center"},n.createElement("span",{className:"inline text-2xl sm:text-3xl text-main-100 font-light pr-11",itemProp:"datePublished"},u),n.createElement(s(),null),n.createElement("span",{className:"inline text-xl font-light italic pl-4"},"Reading time: ",C,"m.")),n.createElement("h2",{className:"text-main-100 text-4xl sm:text-5xl md:text-6xl font-semibold leading-[52px] sm:pb-10 md:pb-16",itemProp:"headline"},d),n.createElement("div",{className:"single-post text-main-100 font-medium text-2xl pb-10",dangerouslySetInnerHTML:{__html:l},itemProp:"articleBody"}),n.createElement("div",{className:"w-full flex flex-col md:flex-row justify-between items-center pb-24"},f?n.createElement("div",{className:"basis-full sm:basis-3/5 text-center md:text-start pb-10 md:pb-0"},f.map((e=>n.createElement("div",{key:e,className:"inline-block text-main-10 border-main-10 border-solid border rounded-full p-1 px-4 text-2xl m-2",itemProp:"keywords"},"#",e.toLowerCase())))):null,n.createElement("div",{className:"basis-full sm:basis-2/5 flex flex-row justify-end"},n.createElement(w,{url:m,title:d})))),n.createElement(i.L,{itemProp:"copyrightHolder"})),n.createElement(g,null))};const y=e=>{let{data:{markdownRemark:{frontmatter:{title:t}}}}=e;return n.createElement("title",null,"CodeCave blog: ",t)}},4471:function(e,t,l){var n=l(7294);function r(e){return n.createElement("svg",e,[n.createElement("line",{width:"800",height:"8",stroke:"white",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),n.createElement("line",{width:"800",height:"8",stroke:"black",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}r.defaultProps={height:"8"},e.exports=r,r.default=r},4697:function(e,t,l){var n=l(7294);function r(e){return n.createElement("svg",e,[n.createElement("g",{clipPath:"url(#clip0_829_432)",key:0},[n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.57938 1.14638C9.38658 1.13214 9.19332 1.12501 9 1.125V0C9.2211 0.000107806 9.44213 0.00836341 9.66262 0.02475L9.57938 1.14638ZM11.8339 1.65263C11.4733 1.51347 11.1029 1.40104 10.7258 1.31625L10.9721 0.21825C11.403 0.315 11.8271 0.44325 12.2389 0.603L11.8339 1.65263ZM13.3751 2.45138C13.2143 2.34411 13.0495 2.24279 12.8812 2.14763L13.4359 1.16888C13.8205 1.38683 14.1886 1.63274 14.5372 1.90463L13.8454 2.79225C13.6929 2.67326 13.536 2.55993 13.3751 2.4525V2.45138ZM15.4384 4.46513C15.2158 4.14897 14.9703 3.84966 14.7037 3.56963L15.5182 2.79338C15.822 3.114 16.1032 3.45713 16.3586 3.81713L15.4384 4.46513ZM16.2754 5.98613C16.2015 5.80777 16.1212 5.63215 16.0346 5.45963L17.0392 4.95338C17.2379 5.34835 17.4071 5.75746 17.5455 6.17738L16.4767 6.5295C16.4163 6.34597 16.3491 6.16473 16.2754 5.98613ZM16.8716 8.8065C16.8625 8.41988 16.8249 8.03446 16.7591 7.65338L17.8672 7.46213C17.9426 7.89638 17.9865 8.33738 17.9977 8.77838L16.8727 8.8065H16.8716ZM16.7242 10.5368C16.7614 10.3455 16.7917 10.1554 16.8154 9.963L17.9325 10.1014C17.8785 10.5403 17.792 10.9746 17.6737 11.4008L16.5892 11.1004C16.641 10.9148 16.686 10.7269 16.7242 10.5368ZM15.6532 13.2131C15.8602 12.8869 16.0425 12.5449 16.2 12.1916L17.2282 12.6473C17.0482 13.0523 16.8401 13.4415 16.6039 13.815L15.6532 13.2131ZM14.5687 14.5688C14.706 14.4315 14.8376 14.2898 14.9625 14.1435L15.8152 14.8781C15.6708 15.0456 15.5204 15.2077 15.3641 15.3641L14.5687 14.5688Z",fill:"black",key:0}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.99961 1.125C7.7046 1.12509 6.4296 1.44455 5.28753 2.05508C4.14547 2.66561 3.1716 3.54836 2.45217 4.62516C1.73275 5.70195 1.28998 6.93954 1.16308 8.22832C1.03618 9.5171 1.22907 10.8173 1.72466 12.0137C2.22025 13.2101 3.00325 14.2659 4.0043 15.0874C5.00535 15.909 6.19356 16.471 7.46368 16.7237C8.73381 16.9763 10.0466 16.9119 11.2859 16.536C12.5252 16.1601 13.6526 15.4844 14.5684 14.5688L15.3637 15.3641C14.3172 16.4113 13.0285 17.1841 11.6119 17.6141C10.1953 18.0442 8.69447 18.1182 7.24243 17.8295C5.79039 17.5409 4.43195 16.8986 3.28748 15.9595C2.143 15.0204 1.24784 13.8135 0.681284 12.4458C0.114733 11.078 -0.105707 9.59162 0.0394939 8.1183C0.184695 6.64499 0.691055 5.23024 1.51371 3.9994C2.33636 2.76855 3.44991 1.75962 4.75569 1.062C6.06147 0.364382 7.51916 -0.000392324 8.99961 3.16641e-07V1.125Z",fill:"black",key:1}),n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.4375 3.375C8.58668 3.375 8.72976 3.43426 8.83525 3.53975C8.94074 3.64524 9 3.78832 9 3.9375V9.79875L12.654 11.8867C12.7798 11.9626 12.8709 12.0847 12.9078 12.2268C12.9448 12.369 12.9247 12.5199 12.8518 12.6475C12.779 12.775 12.6591 12.869 12.5179 12.9093C12.3766 12.9496 12.2252 12.9331 12.096 12.8632L8.1585 10.6132C8.07241 10.5641 8.00084 10.493 7.95106 10.4073C7.90127 10.3215 7.87503 10.2241 7.875 10.125V3.9375C7.875 3.78832 7.93426 3.64524 8.03975 3.53975C8.14524 3.43426 8.28832 3.375 8.4375 3.375Z",fill:"black",key:2})]),n.createElement("defs",{key:1},n.createElement("clipPath",{id:"clip0_829_432"},n.createElement("rect",{width:"18",height:"18",fill:"white"})))])}r.defaultProps={width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},e.exports=r,r.default=r},35:function(e,t,l){var n=l(7294);function r(e){return n.createElement("svg",e,n.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.9629 15.3376C17.9629 11.1936 19.6091 7.21936 22.5393 4.2891C25.4696 1.35885 29.4439 -0.287354 33.5879 -0.287354C37.7319 -0.287354 41.7062 1.35885 44.6364 4.2891C47.5667 7.21936 49.2129 11.1936 49.2129 15.3376C49.2129 11.1936 50.8591 7.21936 53.7893 4.2891C56.7196 1.35885 60.6939 -0.287354 64.8379 -0.287354C68.9819 -0.287354 72.9562 1.35885 75.8864 4.2891C78.8167 7.21936 80.4629 11.1936 80.4629 15.3376V15.3751C80.4629 15.8126 80.4629 17.0626 80.2254 18.4626H92.9629C94.6205 18.4626 96.2102 19.1211 97.3823 20.2932C98.5544 21.4653 99.2129 23.055 99.2129 24.7126V37.2126C99.2129 38.8703 98.5544 40.46 97.3823 41.6321C96.2102 42.8042 94.6205 43.4626 92.9629 43.4626V90.3376C92.9629 92.8241 91.9752 95.2086 90.217 96.9668C88.4589 98.7249 86.0743 99.7126 83.5879 99.7126H14.8379C12.3515 99.7126 9.96692 98.7249 8.20877 96.9668C6.45061 95.2086 5.46289 92.8241 5.46289 90.3376V43.4626C3.80529 43.4626 2.21558 42.8042 1.04347 41.6321C-0.128629 40.46 -0.787109 38.8703 -0.787109 37.2126V24.7126C-0.787109 23.055 -0.128629 21.4653 1.04347 20.2932C2.21558 19.1211 3.80529 18.4626 5.46289 18.4626H18.2004C18.0353 17.4419 17.9559 16.4091 17.9629 15.3751V15.3376ZM24.6379 18.4626H42.9629V15.3376C42.9629 14.1065 42.7204 12.8874 42.2493 11.75C41.7781 10.6126 41.0876 9.57907 40.217 8.70852C39.3465 7.83797 38.313 7.14741 37.1755 6.67628C36.0381 6.20514 34.819 5.96265 33.5879 5.96265C32.3567 5.96265 31.1377 6.20514 30.0002 6.67628C28.8628 7.14741 27.8293 7.83797 26.9588 8.70852C26.0882 9.57907 25.3977 10.6126 24.9265 11.75C24.4554 12.8874 24.2129 14.1065 24.2129 15.3376C24.2129 15.8689 24.2254 17.0501 24.4941 18.0251C24.5317 18.1742 24.5797 18.3204 24.6379 18.4626ZM55.4629 18.4626H73.7879C73.8454 18.3201 73.8934 18.174 73.9316 18.0251C74.2004 17.0501 74.2129 15.8689 74.2129 15.3376C74.2129 12.8512 73.2252 10.4667 71.467 8.70852C69.7089 6.95037 67.3243 5.96265 64.8379 5.96265C62.3515 5.96265 59.9669 6.95037 58.2088 8.70852C56.4506 10.4667 55.4629 12.8512 55.4629 15.3376V18.4626ZM5.46289 24.7126V37.2126H42.9629V24.7126H5.46289ZM55.4629 24.7126V37.2126H92.9629V24.7126H55.4629ZM86.7129 43.4626H55.4629V93.4626H83.5879C84.4167 93.4626 85.2115 93.1334 85.7976 92.5474C86.3837 91.9613 86.7129 91.1665 86.7129 90.3376V43.4626ZM42.9629 93.4626V43.4626H11.7129V90.3376C11.7129 91.1665 12.0421 91.9613 12.6282 92.5474C13.2142 93.1334 14.0091 93.4626 14.8379 93.4626H42.9629Z",fill:"white"}))}r.defaultProps={width:"100",height:"100",viewBox:"0 0 100 100",fill:"none"},e.exports=r,r.default=r}}]); -//# sourceMappingURL=component---src-pages-templates-post-tsx-f2b5783ab45f7133a802.js.map \ No newline at end of file diff --git a/component---src-pages-templates-post-tsx-f2b5783ab45f7133a802.js.map b/component---src-pages-templates-post-tsx-f2b5783ab45f7133a802.js.map deleted file mode 100644 index 3f8fb4e4..00000000 --- a/component---src-pages-templates-post-tsx-f2b5783ab45f7133a802.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---src-pages-templates-post-tsx-f2b5783ab45f7133a802.js","mappings":"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","sources":["webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaFacebookF.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaGooglePlusG.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaPinterestP.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaTwitter.js","webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/posts/shareButtons.tsx","webpack://code-cave/./src/components/posts/postFooter.tsx","webpack://code-cave/./src/pagesTemplates/post.tsx","webpack://code-cave/./src/assets/common/border.svg","webpack://code-cave/./src/assets/common/clock.svg","webpack://code-cave/./src/assets/common/gift.svg"],"sourcesContent":["// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaFacebookF = function FaFacebookF (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaGooglePlusG = function FaGooglePlusG (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaPinterestP = function FaPinterestP (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaTwitter = function FaTwitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z\"}}]})(props);\n};\n","import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler);\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler);\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\"touchstart\", (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler);\n window.addEventListener(\"touchend\", () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n });\n });\n\n // UNMOUNT handler\n return () => {\n if (window) {\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n }\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.postMessage({ dispose: true });\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\nconst Banner = ({\n heightClass = \"min-h-160\",\n title,\n text,\n className,\n borderBottom,\n borderTop,\n babylon,\n}: {\n heightClass?: string;\n title: string;\n text: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n babylon?: boolean;\n}) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n
\n

\n \n {title.toUpperCase()}\n \n

\n

\n \n {text.toUpperCase()}\n \n

\n
\n {babylon ? (\n
\n \n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React from \"react\";\n\nimport { FaFacebookF } from \"@react-icons/all-files/fa/FaFacebookF\";\nimport { FaTwitter } from \"@react-icons/all-files/fa/FaTwitter\";\nimport { FaGooglePlusG } from \"@react-icons/all-files/fa/FaGooglePlusG\";\nimport { FaPinterestP } from \"@react-icons/all-files/fa/FaPinterestP\";\nimport { FaLinkedinIn } from \"@react-icons/all-files/fa/FaLinkedinIn\";\n\nconst ShareButtons = ({ url, title }: { url: string; title: string }) => {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport const ShareButton = ({\n url,\n media,\n children,\n}: React.PropsWithChildren<{ url: string; media: string }>) => {\n return (\n \n \n \n );\n};\n\nexport default ShareButtons;\n","import React from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\nimport GiftImg from \"../../assets/common/gift.svg\";\nimport ContentContainer from \"../common/contentContainer\";\n\nconst PostFooter = () => {\n return (\n
\n \n \n \n
\n

\n Congratulations! Now you can show off with your new knowledge!\n

\n

\n If you want us to uncover some other Well unknown facts, you can\n contact us via the socials or e-mail below. See you!{\" \"}\n

\n
\n
\n
\n );\n};\n\nexport default PostFooter;\n","import React from \"react\";\n\nimport { HeadFC, PageProps, graphql } from \"gatsby\";\nimport { useLocation } from \"@reach/router\";\n\nimport { IPostQueryResult } from \"../types/post.type\";\n\nimport Clock from \"../assets/common/clock.svg\";\n\nimport { LocalBusinessMetadata } from \"../components/common/metadata\";\n\nimport ContentContainer from \"../components/common/contentContainer\";\nimport Banner from \"../components/common/banner\";\nimport ShareButtons from \"../components/posts/shareButtons\";\nimport PostFooter from \"../components/posts/postFooter\";\n\nconst Post = ({\n data: {\n markdownRemark: {\n frontmatter,\n html,\n wordCount: { words },\n },\n },\n}: PageProps) => {\n const { href: currentUrl } = useLocation();\n\n const { date, title, keywords } = frontmatter;\n\n const minutes = Math.floor(words / 200);\n const readingTime = minutes ? minutes : 1;\n\n return (\n <>\n \n
\n \n
\n \n {date}\n \n\n \n\n \n Reading time: {readingTime}m.\n \n
\n \n {title}\n \n \n
\n {keywords ? (\n
\n {keywords.map((hashtag) => (\n \n #{hashtag.toLowerCase()}\n
\n ))}\n
\n ) : null}\n
\n \n
\n
\n \n \n \n \n \n );\n};\n\nexport default Post;\n\nexport const Head: HeadFC = ({\n data: {\n markdownRemark: {\n frontmatter: { title },\n },\n },\n}) => CodeCave blog: {title};\n\nexport const query = graphql`\n query ($id: String) {\n markdownRemark(id: { eq: $id }) {\n frontmatter {\n date(formatString: \"MMM DD, YYYY\")\n title\n keywords\n }\n html\n wordCount {\n words\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"white\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"black\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n","var React = require('react');\n\nfunction Clock (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"g\",{\"clipPath\":\"url(#clip0_829_432)\",\"key\":0},[React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9.57938 1.14638C9.38658 1.13214 9.19332 1.12501 9 1.125V0C9.2211 0.000107806 9.44213 0.00836341 9.66262 0.02475L9.57938 1.14638ZM11.8339 1.65263C11.4733 1.51347 11.1029 1.40104 10.7258 1.31625L10.9721 0.21825C11.403 0.315 11.8271 0.44325 12.2389 0.603L11.8339 1.65263ZM13.3751 2.45138C13.2143 2.34411 13.0495 2.24279 12.8812 2.14763L13.4359 1.16888C13.8205 1.38683 14.1886 1.63274 14.5372 1.90463L13.8454 2.79225C13.6929 2.67326 13.536 2.55993 13.3751 2.4525V2.45138ZM15.4384 4.46513C15.2158 4.14897 14.9703 3.84966 14.7037 3.56963L15.5182 2.79338C15.822 3.114 16.1032 3.45713 16.3586 3.81713L15.4384 4.46513ZM16.2754 5.98613C16.2015 5.80777 16.1212 5.63215 16.0346 5.45963L17.0392 4.95338C17.2379 5.34835 17.4071 5.75746 17.5455 6.17738L16.4767 6.5295C16.4163 6.34597 16.3491 6.16473 16.2754 5.98613ZM16.8716 8.8065C16.8625 8.41988 16.8249 8.03446 16.7591 7.65338L17.8672 7.46213C17.9426 7.89638 17.9865 8.33738 17.9977 8.77838L16.8727 8.8065H16.8716ZM16.7242 10.5368C16.7614 10.3455 16.7917 10.1554 16.8154 9.963L17.9325 10.1014C17.8785 10.5403 17.792 10.9746 17.6737 11.4008L16.5892 11.1004C16.641 10.9148 16.686 10.7269 16.7242 10.5368ZM15.6532 13.2131C15.8602 12.8869 16.0425 12.5449 16.2 12.1916L17.2282 12.6473C17.0482 13.0523 16.8401 13.4415 16.6039 13.815L15.6532 13.2131ZM14.5687 14.5688C14.706 14.4315 14.8376 14.2898 14.9625 14.1435L15.8152 14.8781C15.6708 15.0456 15.5204 15.2077 15.3641 15.3641L14.5687 14.5688Z\",\"fill\":\"black\",\"key\":0}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.99961 1.125C7.7046 1.12509 6.4296 1.44455 5.28753 2.05508C4.14547 2.66561 3.1716 3.54836 2.45217 4.62516C1.73275 5.70195 1.28998 6.93954 1.16308 8.22832C1.03618 9.5171 1.22907 10.8173 1.72466 12.0137C2.22025 13.2101 3.00325 14.2659 4.0043 15.0874C5.00535 15.909 6.19356 16.471 7.46368 16.7237C8.73381 16.9763 10.0466 16.9119 11.2859 16.536C12.5252 16.1601 13.6526 15.4844 14.5684 14.5688L15.3637 15.3641C14.3172 16.4113 13.0285 17.1841 11.6119 17.6141C10.1953 18.0442 8.69447 18.1182 7.24243 17.8295C5.79039 17.5409 4.43195 16.8986 3.28748 15.9595C2.143 15.0204 1.24784 13.8135 0.681284 12.4458C0.114733 11.078 -0.105707 9.59162 0.0394939 8.1183C0.184695 6.64499 0.691055 5.23024 1.51371 3.9994C2.33636 2.76855 3.44991 1.75962 4.75569 1.062C6.06147 0.364382 7.51916 -0.000392324 8.99961 3.16641e-07V1.125Z\",\"fill\":\"black\",\"key\":1}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.4375 3.375C8.58668 3.375 8.72976 3.43426 8.83525 3.53975C8.94074 3.64524 9 3.78832 9 3.9375V9.79875L12.654 11.8867C12.7798 11.9626 12.8709 12.0847 12.9078 12.2268C12.9448 12.369 12.9247 12.5199 12.8518 12.6475C12.779 12.775 12.6591 12.869 12.5179 12.9093C12.3766 12.9496 12.2252 12.9331 12.096 12.8632L8.1585 10.6132C8.07241 10.5641 8.00084 10.493 7.95106 10.4073C7.90127 10.3215 7.87503 10.2241 7.875 10.125V3.9375C7.875 3.78832 7.93426 3.64524 8.03975 3.53975C8.14524 3.43426 8.28832 3.375 8.4375 3.375Z\",\"fill\":\"black\",\"key\":2})]),React.createElement(\"defs\",{\"key\":1},React.createElement(\"clipPath\",{\"id\":\"clip0_829_432\"},React.createElement(\"rect\",{\"width\":\"18\",\"height\":\"18\",\"fill\":\"white\"})))]);\n}\n\nClock.defaultProps = {\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\"};\n\nmodule.exports = Clock;\n\nClock.default = Clock;\n","var React = require('react');\n\nfunction Gift (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17.9629 15.3376C17.9629 11.1936 19.6091 7.21936 22.5393 4.2891C25.4696 1.35885 29.4439 -0.287354 33.5879 -0.287354C37.7319 -0.287354 41.7062 1.35885 44.6364 4.2891C47.5667 7.21936 49.2129 11.1936 49.2129 15.3376C49.2129 11.1936 50.8591 7.21936 53.7893 4.2891C56.7196 1.35885 60.6939 -0.287354 64.8379 -0.287354C68.9819 -0.287354 72.9562 1.35885 75.8864 4.2891C78.8167 7.21936 80.4629 11.1936 80.4629 15.3376V15.3751C80.4629 15.8126 80.4629 17.0626 80.2254 18.4626H92.9629C94.6205 18.4626 96.2102 19.1211 97.3823 20.2932C98.5544 21.4653 99.2129 23.055 99.2129 24.7126V37.2126C99.2129 38.8703 98.5544 40.46 97.3823 41.6321C96.2102 42.8042 94.6205 43.4626 92.9629 43.4626V90.3376C92.9629 92.8241 91.9752 95.2086 90.217 96.9668C88.4589 98.7249 86.0743 99.7126 83.5879 99.7126H14.8379C12.3515 99.7126 9.96692 98.7249 8.20877 96.9668C6.45061 95.2086 5.46289 92.8241 5.46289 90.3376V43.4626C3.80529 43.4626 2.21558 42.8042 1.04347 41.6321C-0.128629 40.46 -0.787109 38.8703 -0.787109 37.2126V24.7126C-0.787109 23.055 -0.128629 21.4653 1.04347 20.2932C2.21558 19.1211 3.80529 18.4626 5.46289 18.4626H18.2004C18.0353 17.4419 17.9559 16.4091 17.9629 15.3751V15.3376ZM24.6379 18.4626H42.9629V15.3376C42.9629 14.1065 42.7204 12.8874 42.2493 11.75C41.7781 10.6126 41.0876 9.57907 40.217 8.70852C39.3465 7.83797 38.313 7.14741 37.1755 6.67628C36.0381 6.20514 34.819 5.96265 33.5879 5.96265C32.3567 5.96265 31.1377 6.20514 30.0002 6.67628C28.8628 7.14741 27.8293 7.83797 26.9588 8.70852C26.0882 9.57907 25.3977 10.6126 24.9265 11.75C24.4554 12.8874 24.2129 14.1065 24.2129 15.3376C24.2129 15.8689 24.2254 17.0501 24.4941 18.0251C24.5317 18.1742 24.5797 18.3204 24.6379 18.4626ZM55.4629 18.4626H73.7879C73.8454 18.3201 73.8934 18.174 73.9316 18.0251C74.2004 17.0501 74.2129 15.8689 74.2129 15.3376C74.2129 12.8512 73.2252 10.4667 71.467 8.70852C69.7089 6.95037 67.3243 5.96265 64.8379 5.96265C62.3515 5.96265 59.9669 6.95037 58.2088 8.70852C56.4506 10.4667 55.4629 12.8512 55.4629 15.3376V18.4626ZM5.46289 24.7126V37.2126H42.9629V24.7126H5.46289ZM55.4629 24.7126V37.2126H92.9629V24.7126H55.4629ZM86.7129 43.4626H55.4629V93.4626H83.5879C84.4167 93.4626 85.2115 93.1334 85.7976 92.5474C86.3837 91.9613 86.7129 91.1665 86.7129 90.3376V43.4626ZM42.9629 93.4626V43.4626H11.7129V90.3376C11.7129 91.1665 12.0421 91.9613 12.6282 92.5474C13.2142 93.1334 14.0091 93.4626 14.8379 93.4626H42.9629Z\",\"fill\":\"white\"}));\n}\n\nGift.defaultProps = {\"width\":\"100\",\"height\":\"100\",\"viewBox\":\"0 0 100 100\",\"fill\":\"none\"};\n\nmodule.exports = Gift;\n\nGift.default = Gift;\n"],"names":["GenIcon","module","exports","props","_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","dispose","ref","Spinner","heightClass","title","text","borderBottom","borderTop","babylon","textTranslate","setTextTranslate","Border","ContentContainer","toUpperCase","ShareButton","_ref2","url","media","children","href","target","FaFacebookF","size","FaTwitter","FaGooglePlusG","FaPinterestP","FaLinkedinIn","PostFooter","GiftImg","markdownRemark","frontmatter","html","wordCount","words","currentUrl","useLocation","date","keywords","minutes","Math","floor","readingTime","Banner","itemScope","itemType","itemProp","Clock","dangerouslySetInnerHTML","__html","map","hashtag","key","toLowerCase","ShareButtons","LocalBusinessMetadata","Head","createElement","defaultProps","default","Gift"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-templates-projects-tsx-75dd824378dedee3ee1b.js b/component---src-pages-templates-projects-tsx-75dd824378dedee3ee1b.js new file mode 100644 index 00000000..24f483fe --- /dev/null +++ b/component---src-pages-templates-projects-tsx-75dd824378dedee3ee1b.js @@ -0,0 +1,2 @@ +(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[650],{1929:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var l=n(7294),a=n(4471),r=n.n(a),s=n(1164);var c=e=>{let{className:t}=e;return l.createElement("div",{className:"flex justify-center items-center h-full w-full "+t},l.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var o=()=>{const{0:e,1:t}=(0,l.useState)(!1),a=(0,l.useRef)(!0),r=(0,l.useRef)(null);return(0,l.useEffect)((()=>{if(!a.current||!r.current||"undefined"==typeof window)return;a.current=!1;const e=new Worker(new URL(n.p+n.u(475),n.b),{type:void 0});e.onmessage=e=>{let{data:n}=e;"ready"===n&&t(!0)};const l=r.current;l.width=l.clientWidth,l.height=l.clientHeight;const s=l.transferControlToOffscreen();e.postMessage({canvas:s},[s]);const c=()=>{e.postMessage({width:l.clientWidth,height:l.clientHeight})};window.addEventListener("resize",c);const o=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};l.addEventListener("wheel",o);const i=t=>{e.postMessage({x:t.movementX,y:t.movementY})};l.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",i),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",i)),{once:!0})}));let m;return l.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const n=t.touches[0];t.preventDefault();const l={x:n.screenX,y:n.screenY};m=t=>{const{newX:n,newY:a}=((t,n)=>{const l=t.touches[0];return e.postMessage({x:l.screenX-n.x,y:l.screenY-n.y}),{newX:l.screenX,newY:l.screenY}})(t,l);l.x=n,l.y=a},window.addEventListener("touchmove",m),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",m)}))})),()=>{window&&(window.removeEventListener("resize",c),window.removeEventListener("mousemove",i),window.removeEventListener("touchmove",m),l&&l.removeEventListener("wheel",o),e.terminate())}}),[]),l.createElement("div",{className:"h-full w-full relative"},l.createElement("canvas",{ref:r,className:"bg-main-100 h-160 w-full flex items-center justify-center cursor-pointer"}),e?null:l.createElement(c,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var i=e=>{let{heightClass:t="min-h-160",title:n,text:a,className:c,borderBottom:i,borderTop:m,babylon:u}=e;const{0:d,1:f}=(0,l.useState)("translate-y-full");return(0,l.useEffect)((()=>{f("translate-y-0")}),[]),l.createElement("div",{className:"w-full flex items-center bg-main-100 relative overflow-hidden px-6 "+t+" "+c},m?l.createElement(r(),{className:"absolute top-0 left-0 right-0 w-full"}):null,l.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center text-secondary-100 flex-grow"},l.createElement("div",{className:"flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full lg:w-1/2 bg-main-100"},l.createElement("h2",{className:"overflow-hidden mb-8 w-full"},l.createElement("span",{className:"inline-block font-['Rubik_Glitch'] text-5xl sm:text-6xl w-full text-center lg:text-start transition-all duration-1000 "+d},n.toUpperCase())),l.createElement("p",{className:"overflow-hidden w-full"},l.createElement("span",{className:"inline-block w-full text-3xl sm:text-4xl font-light text-center lg:text-start transition-all duration-1000 "+d},a.toUpperCase()))),u?l.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full flex"},l.createElement(o,null)):null),i?l.createElement(r(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},4568:function(e,t,n){"use strict";var l=n(7294),a=n(1883),r=n(1434);t.Z=e=>{let{section:t,pagesQuantity:n,currentPage:s,className:c}=e;const o=Array.from({length:n},((e,t)=>t+1)),i=s+1;return l.createElement("div",{className:"my-16 flex justify-between w-full "+c},s1?o.map((e=>l.createElement(a.Link,{key:"pagination-link-"+e,to:"/"+t+"/page/"+e},l.createElement(r.Z,{size:"large",variant:e===s?"dark":"light",border:e!==s,className:"mx-[-1px]"},e)))):null))}},3997:function(e,t,n){"use strict";n.r(t),n.d(t,{Head:function(){return o}});var l=n(7294),a=n(1929),r=n(1164),s=n(6745),c=n(4568);t.default=e=>{let{data:t,pageContext:n}=e;const o=t.allMarkdownRemark.nodes,{currentPage:i,pagesQuantity:m}=n;return l.createElement(l.Fragment,null,l.createElement(a.Z,{heightClass:"h-136",title:"CodeCave projects",text:"Our super amazing projects",borderBottom:!0}),l.createElement(r.Z,{className:"flex-col items-center p-6 md:p-12"},l.createElement("div",{className:"flex flex-wrap w-full justify-center py-14"},o?o.map((e=>l.createElement(s.Z,{key:e.id,project:e,theme:"dark",className:"basis-full md:basis-3/4 lg:basis-2/5 my-10 md:m-12"}))):null),m>1?l.createElement(c.Z,{section:"projects",pagesQuantity:m,currentPage:i}):null))};const o=()=>l.createElement("title",null,"CodeCave Projects")},4471:function(e,t,n){var l=n(7294);function a(e){return l.createElement("svg",e,[l.createElement("line",{width:"800",height:"8",stroke:"white",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),l.createElement("line",{width:"800",height:"8",stroke:"black",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}a.defaultProps={height:"8"},e.exports=a,a.default=a}}]); +//# sourceMappingURL=component---src-pages-templates-projects-tsx-75dd824378dedee3ee1b.js.map \ No newline at end of file diff --git a/component---src-pages-templates-projects-tsx-75dd824378dedee3ee1b.js.map b/component---src-pages-templates-projects-tsx-75dd824378dedee3ee1b.js.map new file mode 100644 index 00000000..03edf59a --- /dev/null +++ b/component---src-pages-templates-projects-tsx-75dd824378dedee3ee1b.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---src-pages-templates-projects-tsx-75dd824378dedee3ee1b.js","mappings":"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","sources":["webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/common/pagination.tsx","webpack://code-cave/./src/pagesTemplates/projects.tsx","webpack://code-cave/./src/assets/common/border.svg"],"sourcesContent":["import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler);\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler);\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\"touchstart\", (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler);\n window.addEventListener(\"touchend\", () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n });\n });\n\n // UNMOUNT handler\n return () => {\n if (!window) return;\n\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.terminate();\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\nconst Banner = ({\n heightClass = \"min-h-160\",\n title,\n text,\n className,\n borderBottom,\n borderTop,\n babylon,\n}: {\n heightClass?: string;\n title: string;\n text: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n babylon?: boolean;\n}) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n
\n

\n \n {title.toUpperCase()}\n \n

\n

\n \n {text.toUpperCase()}\n \n

\n
\n {babylon ? (\n
\n \n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React from \"react\";\n\nimport { Link } from \"gatsby\";\n\nimport Button from \"./button\";\n\nconst Pagination = ({\n section,\n pagesQuantity,\n currentPage,\n className,\n}: {\n section: \"projects\" | \"blog\";\n pagesQuantity: number;\n currentPage: number;\n className?: string;\n}) => {\n const pages = Array.from({ length: pagesQuantity }, (_, i) => i + 1);\n const nextPage = currentPage + 1;\n\n return (\n
\n {currentPage < pagesQuantity ? (\n \n \n \n ) : null}\n\n \n
\n );\n};\n\nexport default Pagination;\n","import React from \"react\";\n\nimport { HeadFC, PageProps } from \"gatsby\";\nimport { graphql } from \"gatsby\";\n\nimport { IProjectsPageContext, IProjectsPageData } from \"../types/project.type\";\n\nimport Banner from \"../components/common/banner\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport ProjectPreview from \"../components/projects/projectPreview\";\nimport Pagination from \"../components/common/pagination\";\n\nconst Projects = ({\n data,\n pageContext,\n}: PageProps) => {\n const projects = data.allMarkdownRemark.nodes;\n const { currentPage, pagesQuantity } = pageContext;\n\n return (\n <>\n \n \n
\n {projects\n ? projects.map((project) => (\n \n ))\n : null}\n
\n {pagesQuantity > 1 ? (\n \n ) : null}\n
\n \n );\n};\n\nexport default Projects;\n\nexport const Head: HeadFC = () => CodeCave Projects;\n\nexport const query = graphql`\n query ($skip: Int!, $limit: Int!) {\n allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"projects\" } } }\n sort: { frontmatter: { date: DESC } }\n limit: $limit\n skip: $skip\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"MMM DD, YYYY\")\n title\n text\n stack\n cover {\n childImageSharp {\n gatsbyImageData(\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n width: 600\n )\n }\n }\n }\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"white\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"black\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n"],"names":["_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","terminate","ref","Spinner","heightClass","title","text","borderBottom","borderTop","babylon","textTranslate","setTextTranslate","Border","ContentContainer","toUpperCase","section","pagesQuantity","currentPage","pages","Array","from","_","i","nextPage","Link","to","Button","size","variant","map","page","key","border","pageContext","projects","allMarkdownRemark","nodes","Banner","project","ProjectPreview","id","theme","Pagination","Head","props","createElement","defaultProps","module","exports","default"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-templates-projects-tsx-bc2345c3e66bde0622dc.js b/component---src-pages-templates-projects-tsx-bc2345c3e66bde0622dc.js deleted file mode 100644 index 88a85990..00000000 --- a/component---src-pages-templates-projects-tsx-bc2345c3e66bde0622dc.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[650],{1929:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var l=n(7294),a=n(4471),r=n.n(a),s=n(1164);var o=e=>{let{className:t}=e;return l.createElement("div",{className:"flex justify-center items-center h-full w-full "+t},l.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var c=()=>{const{0:e,1:t}=(0,l.useState)(!1),a=(0,l.useRef)(!0),r=(0,l.useRef)(null);return(0,l.useEffect)((()=>{if(!a.current||!r.current||"undefined"==typeof window)return;a.current=!1;const e=new Worker(new URL(n.p+n.u(475),n.b),{type:void 0});e.onmessage=e=>{let{data:n}=e;"ready"===n&&t(!0)};const l=r.current;l.width=l.clientWidth,l.height=l.clientHeight;const s=l.transferControlToOffscreen();e.postMessage({canvas:s},[s]);const o=()=>{e.postMessage({width:l.clientWidth,height:l.clientHeight})};window.addEventListener("resize",o);const c=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};l.addEventListener("wheel",c);const i=t=>{e.postMessage({x:t.movementX,y:t.movementY})};l.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",i),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",i)),{once:!0})}));let m;return l.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const n=t.touches[0];t.preventDefault();const l={x:n.screenX,y:n.screenY};m=t=>{const{newX:n,newY:a}=((t,n)=>{const l=t.touches[0];return e.postMessage({x:l.screenX-n.x,y:l.screenY-n.y}),{newX:l.screenX,newY:l.screenY}})(t,l);l.x=n,l.y=a},window.addEventListener("touchmove",m),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",m)}))})),()=>{window&&(window.removeEventListener("resize",o),window.removeEventListener("mousemove",i),window.removeEventListener("touchmove",m)),l&&l.removeEventListener("wheel",c),e.postMessage({dispose:!0})}}),[]),l.createElement("div",{className:"h-full w-full relative"},l.createElement("canvas",{ref:r,className:"bg-main-100 h-160 w-full flex items-center justify-center cursor-pointer"}),e?null:l.createElement(o,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var i=e=>{let{heightClass:t="min-h-160",title:n,text:a,className:o,borderBottom:i,borderTop:m,babylon:u}=e;const{0:d,1:f}=(0,l.useState)("translate-y-full");return(0,l.useEffect)((()=>{f("translate-y-0")}),[]),l.createElement("div",{className:"w-full flex items-center bg-main-100 relative overflow-hidden px-6 "+t+" "+o},m?l.createElement(r(),{className:"absolute top-0 left-0 right-0 w-full"}):null,l.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center text-secondary-100 flex-grow"},l.createElement("div",{className:"flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full lg:w-1/2 bg-main-100"},l.createElement("h2",{className:"overflow-hidden mb-8 w-full"},l.createElement("span",{className:"inline-block font-['Rubik_Glitch'] text-5xl sm:text-6xl w-full text-center lg:text-start transition-all duration-1000 "+d},n.toUpperCase())),l.createElement("p",{className:"overflow-hidden w-full"},l.createElement("span",{className:"inline-block w-full text-3xl sm:text-4xl font-light text-center lg:text-start transition-all duration-1000 "+d},a.toUpperCase()))),u?l.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full flex"},l.createElement(c,null)):null),i?l.createElement(r(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},4568:function(e,t,n){"use strict";var l=n(7294),a=n(1883),r=n(1434);t.Z=e=>{let{section:t,pagesQuantity:n,currentPage:s,className:o}=e;const c=Array.from({length:n},((e,t)=>t+1)),i=s+1;return l.createElement("div",{className:"my-16 flex justify-between w-full "+o},s1?c.map((e=>l.createElement(a.Link,{key:"pagination-link-"+e,to:"/"+t+"/page/"+e},l.createElement(r.Z,{size:"large",variant:e===s?"dark":"light",border:e!==s,className:"mx-[-1px]"},e)))):null))}},3997:function(e,t,n){"use strict";n.r(t),n.d(t,{Head:function(){return c}});var l=n(7294),a=n(1929),r=n(1164),s=n(6745),o=n(4568);t.default=e=>{let{data:t,pageContext:n}=e;const c=t.allMarkdownRemark.nodes,{currentPage:i,pagesQuantity:m}=n;return l.createElement(l.Fragment,null,l.createElement(a.Z,{heightClass:"h-136",title:"CodeCave projects",text:"Our super amazing projects",borderBottom:!0}),l.createElement(r.Z,{className:"flex-col items-center p-6 md:p-12"},l.createElement("div",{className:"flex flex-wrap w-full justify-center py-14"},c?c.map((e=>l.createElement(s.Z,{key:e.id,project:e,theme:"dark",className:"basis-full md:basis-3/4 lg:basis-2/5 my-10 md:m-12"}))):null),m>1?l.createElement(o.Z,{section:"projects",pagesQuantity:m,currentPage:i}):null))};const c=()=>l.createElement("title",null,"CodeCave Projects")},4471:function(e,t,n){var l=n(7294);function a(e){return l.createElement("svg",e,[l.createElement("line",{width:"800",height:"8",stroke:"white",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),l.createElement("line",{width:"800",height:"8",stroke:"black",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}a.defaultProps={height:"8"},e.exports=a,a.default=a}}]); -//# sourceMappingURL=component---src-pages-templates-projects-tsx-bc2345c3e66bde0622dc.js.map \ No newline at end of file diff --git a/component---src-pages-templates-projects-tsx-bc2345c3e66bde0622dc.js.map b/component---src-pages-templates-projects-tsx-bc2345c3e66bde0622dc.js.map deleted file mode 100644 index 574721eb..00000000 --- a/component---src-pages-templates-projects-tsx-bc2345c3e66bde0622dc.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---src-pages-templates-projects-tsx-bc2345c3e66bde0622dc.js","mappings":"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","sources":["webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/common/pagination.tsx","webpack://code-cave/./src/pagesTemplates/projects.tsx","webpack://code-cave/./src/assets/common/border.svg"],"sourcesContent":["import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler);\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler);\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\"touchstart\", (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler);\n window.addEventListener(\"touchend\", () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n });\n });\n\n // UNMOUNT handler\n return () => {\n if (window) {\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n }\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.postMessage({ dispose: true });\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\nconst Banner = ({\n heightClass = \"min-h-160\",\n title,\n text,\n className,\n borderBottom,\n borderTop,\n babylon,\n}: {\n heightClass?: string;\n title: string;\n text: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n babylon?: boolean;\n}) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n
\n

\n \n {title.toUpperCase()}\n \n

\n

\n \n {text.toUpperCase()}\n \n

\n
\n {babylon ? (\n
\n \n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React from \"react\";\n\nimport { Link } from \"gatsby\";\n\nimport Button from \"./button\";\n\nconst Pagination = ({\n section,\n pagesQuantity,\n currentPage,\n className,\n}: {\n section: \"projects\" | \"blog\";\n pagesQuantity: number;\n currentPage: number;\n className?: string;\n}) => {\n const pages = Array.from({ length: pagesQuantity }, (_, i) => i + 1);\n const nextPage = currentPage + 1;\n\n return (\n
\n {currentPage < pagesQuantity ? (\n \n \n \n ) : null}\n\n \n
\n );\n};\n\nexport default Pagination;\n","import React from \"react\";\n\nimport { HeadFC, PageProps } from \"gatsby\";\nimport { graphql } from \"gatsby\";\n\nimport { IProjectsPageContext, IProjectsPageData } from \"../types/project.type\";\n\nimport Banner from \"../components/common/banner\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport ProjectPreview from \"../components/projects/projectPreview\";\nimport Pagination from \"../components/common/pagination\";\n\nconst Projects = ({\n data,\n pageContext,\n}: PageProps) => {\n const projects = data.allMarkdownRemark.nodes;\n const { currentPage, pagesQuantity } = pageContext;\n\n return (\n <>\n \n \n
\n {projects\n ? projects.map((project) => (\n \n ))\n : null}\n
\n {pagesQuantity > 1 ? (\n \n ) : null}\n
\n \n );\n};\n\nexport default Projects;\n\nexport const Head: HeadFC = () => CodeCave Projects;\n\nexport const query = graphql`\n query ($skip: Int!, $limit: Int!) {\n allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"projects\" } } }\n sort: { frontmatter: { date: DESC } }\n limit: $limit\n skip: $skip\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"MMM DD, YYYY\")\n title\n text\n stack\n cover {\n childImageSharp {\n gatsbyImageData(\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n width: 600\n )\n }\n }\n }\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"white\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"black\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n"],"names":["_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","dispose","ref","Spinner","heightClass","title","text","borderBottom","borderTop","babylon","textTranslate","setTextTranslate","Border","ContentContainer","toUpperCase","section","pagesQuantity","currentPage","pages","Array","from","_","i","nextPage","Link","to","Button","size","variant","map","page","key","border","pageContext","projects","allMarkdownRemark","nodes","Banner","project","ProjectPreview","id","theme","Pagination","Head","props","createElement","defaultProps","module","exports","default"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-workflow-tsx-66c85385336912fb7c37.js b/component---src-pages-workflow-tsx-66c85385336912fb7c37.js deleted file mode 100644 index 313248ac..00000000 --- a/component---src-pages-workflow-tsx-66c85385336912fb7c37.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[311],{1929:function(e,t,l){"use strict";l.d(t,{Z:function(){return i}});var n=l(7294),r=l(4471),a=l.n(r),s=l(1164);var o=e=>{let{className:t}=e;return n.createElement("div",{className:"flex justify-center items-center h-full w-full "+t},n.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),n.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var c=()=>{const{0:e,1:t}=(0,n.useState)(!1),r=(0,n.useRef)(!0),a=(0,n.useRef)(null);return(0,n.useEffect)((()=>{if(!r.current||!a.current||"undefined"==typeof window)return;r.current=!1;const e=new Worker(new URL(l.p+l.u(475),l.b),{type:void 0});e.onmessage=e=>{let{data:l}=e;"ready"===l&&t(!0)};const n=a.current;n.width=n.clientWidth,n.height=n.clientHeight;const s=n.transferControlToOffscreen();e.postMessage({canvas:s},[s]);const o=()=>{e.postMessage({width:n.clientWidth,height:n.clientHeight})};window.addEventListener("resize",o);const c=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};n.addEventListener("wheel",c);const i=t=>{e.postMessage({x:t.movementX,y:t.movementY})};n.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",i),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",i)),{once:!0})}));let m;return n.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const l=t.touches[0];t.preventDefault();const n={x:l.screenX,y:l.screenY};m=t=>{const{newX:l,newY:r}=((t,l)=>{const n=t.touches[0];return e.postMessage({x:n.screenX-l.x,y:n.screenY-l.y}),{newX:n.screenX,newY:n.screenY}})(t,n);n.x=l,n.y=r},window.addEventListener("touchmove",m),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",m)}))})),()=>{window&&(window.removeEventListener("resize",o),window.removeEventListener("mousemove",i),window.removeEventListener("touchmove",m)),n&&n.removeEventListener("wheel",c),e.postMessage({dispose:!0})}}),[]),n.createElement("div",{className:"h-full w-full relative"},n.createElement("canvas",{ref:a,className:"bg-main-100 h-160 w-full flex items-center justify-center cursor-pointer"}),e?null:n.createElement(o,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var i=e=>{let{heightClass:t="min-h-160",title:l,text:r,className:o,borderBottom:i,borderTop:m,babylon:d}=e;const{0:u,1:f}=(0,n.useState)("translate-y-full");return(0,n.useEffect)((()=>{f("translate-y-0")}),[]),n.createElement("div",{className:"w-full flex items-center bg-main-100 relative overflow-hidden px-6 "+t+" "+o},m?n.createElement(a(),{className:"absolute top-0 left-0 right-0 w-full"}):null,n.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center text-secondary-100 flex-grow"},n.createElement("div",{className:"flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full lg:w-1/2 bg-main-100"},n.createElement("h2",{className:"overflow-hidden mb-8 w-full"},n.createElement("span",{className:"inline-block font-['Rubik_Glitch'] text-5xl sm:text-6xl w-full text-center lg:text-start transition-all duration-1000 "+u},l.toUpperCase())),n.createElement("p",{className:"overflow-hidden w-full"},n.createElement("span",{className:"inline-block w-full text-3xl sm:text-4xl font-light text-center lg:text-start transition-all duration-1000 "+u},r.toUpperCase()))),d?n.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full flex"},n.createElement(c,null)):null),i?n.createElement(a(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},216:function(e,t,l){"use strict";var n=l(7294),r=l(1883),a=l(1164);t.Z=e=>{let{section:t,title:l,linkTitle:s,className:o,fullWidth:c,children:i}=e;return n.createElement("section",{className:"w-full py-48 px-6 "+o},n.createElement(a.Z,{className:"flex-col items-center",fullWidth:c},n.createElement("div",{className:"flex justify-between w-full items-center pb-10 md:pb-16"},n.createElement("h3",{className:"text-4xl md:text-5xl font-black w-full max-w-7xl mx-auto pr-8"},l.toUpperCase()),t?n.createElement(r.Link,{to:"/"+t,className:"text-end text-2xl md:text-3xl text-secondary-10 hover:text-secondary-100 font-normal cursor-pointer whitespace-nowrap"},s?s.toUpperCase():"SEE MORE"," →"):null),i))}},2891:function(e,t,l){"use strict";l.r(t),l.d(t,{Head:function(){return h},default:function(){return w}});var n=l(7294),r=l(1883),a=l(1929),s=l(1164),o=l(4799),c=l.n(o);var i=e=>{let{step:t,scroll:l,stepNumber:r,className:a}=e;const s=(0,n.useRef)(null),{0:o,1:i}=(0,n.useState)("w-[100%]");(0,n.useEffect)((()=>{if(!s.current||!window)return;const e=s.current.getBoundingClientRect().bottom;window.innerHeight>e&&i("w-0")}),[l]);const{html:m,frontmatter:{title:d,image:{publicURL:u}}}=t;return n.createElement("div",{className:"workflow-step relative md:w-1/2 flex flex-row items-center h-min my-20 first:mt-36 md:-my-2 md:first:mt-0 md:last:mb-0 text-secondary-100 z-10 md:z-0 "+a,ref:s},n.createElement("div",{className:"hidden md:block cover absolute -right-6 -top-2 -bottom-2 z-10 bg-secondary-100 transition-all duration-1000 "+o}),n.createElement("p",{className:"step-number absolute rounded-full h-12 w-12 flex items-center justify-center bg-main-100 text-secondary-100 font-extrabold text-2xl -translate-x-1/2 -translate-y-[120%] md:translate-x-full z-30 top-0 md:top-auto left-1/2 md:left-auto md:translate-y-0"},r),n.createElement(c(),{className:"hidden md:block basis-1/6"}),n.createElement("div",{className:"md:basis-5/6 flex flex-row justify-around h-min rounded-2xl p-10 bg-main-100 text-secondary-100"},n.createElement("img",{src:u,alt:d+" logo",className:"basis-1/6 mr-7 invert"}),n.createElement("div",{className:"flex flex-col pb-4 basis-4/6"},n.createElement("h4",{className:"font-extrabold text-2xl pb-6"},d),n.createElement("div",{className:"text-xl",dangerouslySetInnerHTML:{__html:m}}))))},m=l(216);var d=e=>{let{reason:{frontmatter:{title:t},html:l},className:r}=e;return n.createElement("div",{className:"why-us-card relative flex flex-col basis-5/12 text-secondary-100 p-10 cursor-pointer "+r},n.createElement("h6",{className:"text-center w-full text-2xl font-bold pb-6"},t),n.createElement("div",{className:"text-xl",dangerouslySetInnerHTML:{__html:l}}),n.createElement("div",{className:"line w-1 h-0 bg-secondary-100 absolute top-1/2 left-0 -translate-y-1/2 transition-all duration-500"}))};var u=()=>{var e,t;const l=(0,r.useStaticQuery)(f);let a=null!=l&&null!==(e=l.allMarkdownRemark)&&void 0!==e&&null!==(t=e.nodes)&&void 0!==t&&t.length?l.allMarkdownRemark.nodes:null;return n.createElement(n.Fragment,null,a?n.createElement(m.Z,{title:"why us",className:"bg-main-100 text-secondary-100 py-32"},n.createElement("div",{className:"flex flex-wrap flex-col sm:flex-row justify-around items-stretch"},a.map((e=>n.createElement(d,{key:e.id,reason:e}))))):null)};const f="2239467241";var w=()=>{var e,t;const l=(0,n.useRef)(!0),{0:o,1:c}=(0,n.useState)(!1),m=()=>{c((e=>!e))};(0,n.useEffect)((()=>{if(l.current&&window)return l.current=!1,window.addEventListener("scroll",m),()=>window.removeEventListener("scroll",m)}),[]);const d=(0,r.useStaticQuery)(x);let f=null!=d&&null!==(e=d.allMarkdownRemark)&&void 0!==e&&null!==(t=e.nodes)&&void 0!==t&&t.length?d.allMarkdownRemark.nodes:null;return n.createElement(n.Fragment,null,n.createElement(a.Z,{heightClass:"h-136",title:"how & why",text:"solid reasons to choose us to go through app dev process"}),n.createElement("div",{className:"bg-secondary-100"},n.createElement(s.Z,{className:"flex-col items-start p-6 md:py-24 relative transition-all duration-1000"},f?f.map(((e,t)=>n.createElement(i,{key:e.id,step:e,className:"md:even:translate-x-full md:odd:flex-row-reverse md:-ms-6 md:odd:ms-6",scroll:o,stepNumber:t+1}))):null,n.createElement("div",{className:"absolute left-1/2 top-0 bottom-0 border-r-8 border-solid border main-100 -translate-x-1/2"})),n.createElement(u,null)))};const h=()=>n.createElement("title",null,"CodeCave Workflow"),x="4195958887"},4471:function(e,t,l){var n=l(7294);function r(e){return n.createElement("svg",e,[n.createElement("line",{width:"800",height:"8",stroke:"white",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),n.createElement("line",{width:"800",height:"8",stroke:"black",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}r.defaultProps={height:"8"},e.exports=r,r.default=r},4799:function(e,t,l){var n=l(7294);function r(e){return n.createElement("svg",e,n.createElement("line",{width:"800",height:"4",stroke:"black",strokeWidth:"4",x1:"0",x2:"100%",y1:"2",y2:"2"}))}r.defaultProps={height:"4"},e.exports=r,r.default=r}}]); -//# sourceMappingURL=component---src-pages-workflow-tsx-66c85385336912fb7c37.js.map \ No newline at end of file diff --git a/component---src-pages-workflow-tsx-66c85385336912fb7c37.js.map b/component---src-pages-workflow-tsx-66c85385336912fb7c37.js.map deleted file mode 100644 index a565e676..00000000 --- a/component---src-pages-workflow-tsx-66c85385336912fb7c37.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---src-pages-workflow-tsx-66c85385336912fb7c37.js","mappings":"sLA2BA,MAzBgBA,IAA4C,IAA3C,UAAEC,GAAmCD,EACpD,OACEE,EAAAA,cAAA,OACED,UAAS,kDAAoDA,GAE7DC,EAAAA,cAAA,OACE,cAAY,OACZD,UAAU,8EACVE,QAAQ,cACRC,KAAK,OACLC,MAAM,8BAENH,EAAAA,cAAA,QACEI,EAAE,+WACFF,KAAK,iBAEPF,EAAAA,cAAA,QACEI,EAAE,glBACFF,KAAK,iBAGL,ECmHV,MAtIgBG,KACd,MAAM,EAACC,EAAe,EAACC,IAAqBC,EAAAA,EAAAA,WAAkB,GACxDC,GAAYC,EAAAA,EAAAA,SAAgB,GAC5BC,GAAYD,EAAAA,EAAAA,QAA0B,MAsH5C,OApHAE,EAAAA,EAAAA,YAAU,KACR,IACGH,EAAUI,UACVF,EAAUE,SACM,oBAAVC,OAEP,OAEFL,EAAUI,SAAU,EAGpB,MAAME,EAAgB,IAAIC,OACxB,IAAIC,IAAI,kBACR,CACEC,UAAM,IAGVH,EAAcI,UAAYrB,IAAe,IAAd,KAAEsB,GAAMtB,EACpB,UAATsB,GAAkBb,GAAkB,EAAK,EAI/C,MAAMc,EAASV,EAAUE,QACzBQ,EAAOC,MAAQD,EAAOE,YACtBF,EAAOG,OAASH,EAAOI,aAEvB,MAAMC,EAAkBL,EAAOM,6BAC/BZ,EAAca,YAAY,CAAEP,OAAQK,GAAmB,CAACA,IAGxD,MAAMG,EAAkBA,KACtBd,EAAca,YAAY,CACxBN,MAAOD,EAAOE,YACdC,OAAQH,EAAOI,cACf,EAEJX,OAAOgB,iBAAiB,SAAUD,GAGlC,MAAME,EAAkBC,IACtBA,EAAEC,iBACFlB,EAAca,YAAY,CAAEM,MAAOF,EAAEG,QAAS,EAEhDd,EAAOS,iBAAiB,QAASC,GAGjC,MAAMK,EAAsBJ,IAC1BjB,EAAca,YAAY,CACxBS,EAAGL,EAAEM,UACLC,EAAGP,EAAEQ,WACL,EAEJnB,EAAOS,iBAAiB,aAAcE,IACpCA,EAAEC,iBACFnB,OAAOgB,iBAAiB,YAAaM,GACrCtB,OAAOgB,iBACL,WACA,IAAMhB,OAAO2B,oBAAoB,YAAaL,IAC9C,CAAEM,MAAM,GACT,IAmBH,IAAIC,EAyBJ,OAxBAtB,EAAOS,iBAAiB,cAAeE,IACrC,GAAyB,IAArBA,EAAEY,QAAQC,OAAc,OAE5B,MAAMC,EAAad,EAAEY,QAAQ,GAE7BZ,EAAEC,iBACF,MAAMc,EAAiB,CACrBV,EAAGS,EAAWE,QACdT,EAAGO,EAAWG,SAGhBN,EAAsBX,IACpB,MAAM,KAAEkB,EAAI,KAAEC,GA5BaC,EAC7BpB,EACAe,KAEA,MAAMM,EAAQrB,EAAEY,QAAQ,GAMxB,OALA7B,EAAca,YAAY,CACxBS,EAAGgB,EAAML,QAAUD,EAAeV,EAClCE,EAAGc,EAAMJ,QAAUF,EAAeR,IAG7B,CACLW,KAAMG,EAAML,QACZG,KAAME,EAAMJ,QACb,EAewBG,CAAuBpB,EAAGe,GACjDA,EAAeV,EAAIa,EACnBH,EAAeR,EAAIY,CAAI,EAGzBrC,OAAOgB,iBAAiB,YAAaa,GACrC7B,OAAOgB,iBAAiB,YAAY,KAClChB,OAAO2B,oBAAoB,YAAaE,EAAmB,GAC3D,IAIG,KACD7B,SACFA,OAAO2B,oBAAoB,SAAUZ,GACrCf,OAAO2B,oBAAoB,YAAaL,GACxCtB,OAAO2B,oBAAoB,YAAaE,IAEtCtB,GACFA,EAAOoB,oBAAoB,QAASV,GAEtChB,EAAca,YAAY,CAAE0B,SAAS,GAAO,CAC7C,GACA,IAGDtD,EAAAA,cAAA,OAAKD,UAAS,0BACZC,EAAAA,cAAA,UACEuD,IAAK5C,EACLZ,UAAS,6EAETO,EAEE,KADFN,EAAAA,cAACwD,EAAO,CAACzD,UAAU,gDAEjB,EChEV,MA/DeD,IAgBR,IAhBS,YACd2D,EAAc,YAAW,MACzBC,EAAK,KACLC,EAAI,UACJ5D,EAAS,aACT6D,EAAY,UACZC,EAAS,QACTC,GASDhE,EACC,MAAM,EAACiE,EAAc,EAACC,IAAoBxD,EAAAA,EAAAA,UAExC,oBAKF,OAJAI,EAAAA,EAAAA,YAAU,KACRoD,EAAiB,gBAAgB,GAChC,IAGDhE,EAAAA,cAAA,OACED,UAAS,sEAAwE0D,EAAW,IAAI1D,GAE/F8D,EACC7D,EAAAA,cAACiE,IAAM,CAAClE,UAAU,yCAChB,KACJC,EAAAA,cAACkE,EAAAA,EAAgB,CACfnE,UAAS,4FAETC,EAAAA,cAAA,OAAKD,UAAU,wHACbC,EAAAA,cAAA,MAAID,UAAS,+BACXC,EAAAA,cAAA,QACED,UAAS,yHAA2HgE,GAEnIL,EAAMS,gBAGXnE,EAAAA,cAAA,KAAGD,UAAS,0BACVC,EAAAA,cAAA,QACED,UAAS,8GAAgHgE,GAExHJ,EAAKQ,iBAIXL,EACC9D,EAAAA,cAAA,OAAKD,UAAU,mCACbC,EAAAA,cAACK,EAAO,OAER,MAELuD,EACC5D,EAAAA,cAACiE,IAAM,CAAClE,UAAU,4CAChB,KACA,C,qEC3BV,IAlCwBD,IAAA,IAAC,QACvBsE,EAAO,MACPV,EAAK,UACLW,EAAS,UACTtE,EAAS,UACTuE,EAAS,SACTC,GAOAzE,EAAA,OACAE,EAAAA,cAAA,WAASD,UAAS,qBAAuBA,GACvCC,EAAAA,cAACkE,EAAAA,EAAgB,CAACnE,UAAU,wBAAwBuE,UAAWA,GAC7DtE,EAAAA,cAAA,OAAKD,UAAU,2DACbC,EAAAA,cAAA,MAAID,UAAU,iEACX2D,EAAMS,eAERC,EACCpE,EAAAA,cAACwE,EAAAA,KAAI,CACHC,GAAE,IAAML,EACRrE,UAAU,yHAETsE,EAAYA,EAAUF,cAAgB,WAAW,MAElD,MAELI,GAEK,C,0KC+BZ,MA7DqBzE,IAUd,IAVe,KACpB4E,EAAI,OACJC,EAAM,WACNC,EAAU,UACV7E,GAMDD,EACC,MAAM+E,GAAMnE,EAAAA,EAAAA,QAAuB,OAC7B,EAACoE,EAAW,EAACC,IAAiBvE,EAAAA,EAAAA,UAA6B,aAEjEI,EAAAA,EAAAA,YAAU,KACR,IAAKiE,EAAIhE,UAAYC,OAAQ,OAC7B,MAAMkE,EAAYH,EAAIhE,QAAQoE,wBAAwBC,OAElDpE,OAAOqE,YAAcH,GAAWD,EAAc,MAAM,GACvD,CAACJ,IAEJ,MAAM,KACJS,EACAC,aAAa,MACX3B,EACA4B,OAASC,UAAWC,KAEpBd,EAEJ,OACE1E,EAAAA,cAAA,OACED,UAAS,yJAA2JA,EACpKwD,IAAKsB,GAEL7E,EAAAA,cAAA,OACED,UAAS,+GAAiH+E,IAE5H9E,EAAAA,cAAA,KAAGD,UAAU,8PACV6E,GAEH5E,EAAAA,cAACyF,IAAI,CAAC1F,UAAU,8BAChBC,EAAAA,cAAA,OACED,UAAS,mGAETC,EAAAA,cAAA,OACE0F,IAAKF,EACLG,IAAQjC,EAAK,QACb3D,UAAU,0BAEZC,EAAAA,cAAA,OAAKD,UAAU,gCACbC,EAAAA,cAAA,MAAID,UAAU,gCAAgC2D,GAC9C1D,EAAAA,cAAA,OACED,UAAS,UACT6F,wBAAyB,CAAEC,OAAQT,OAIrC,E,SCpCV,MAvBoBtF,IASb,IARLgG,QACET,aAAa,MAAE3B,GAAO,KACtB0B,GACD,UACDrF,GAIDD,EACC,OACEE,EAAAA,cAAA,OACED,UAAS,wFAA0FA,GAEnGC,EAAAA,cAAA,MAAID,UAAU,8CAA8C2D,GAC5D1D,EAAAA,cAAA,OAAKD,UAAS,UAAa6F,wBAAyB,CAAEC,OAAQT,KAC9DpF,EAAAA,cAAA,OACED,UAAS,uGAEP,ECWV,MA1BqBgG,KAAO,IAADC,EAAAC,EACzB,MAAMC,GAAYC,EAAAA,EAAAA,gBAAeC,GACjC,IAAIC,EACFH,SAA4B,QAAnBF,EAATE,EAAWI,yBAAiB,IAAAN,GAAO,QAAPC,EAA5BD,EAA8BO,aAAK,IAAAN,GAAnCA,EAAqCpD,OACjCqD,EAAUI,kBAAkBC,MAC5B,KAGN,OACEvG,EAAAA,cAAAA,EAAAA,SAAA,KACGqG,EACCrG,EAAAA,cAACwG,EAAAA,EAAe,CACd9C,MAAM,SACN3D,UAAU,wCAEVC,EAAAA,cAAA,OAAKD,UAAU,oEACZsG,EAAaI,KAAKX,GACjB9F,EAAAA,cAAC0G,EAAW,CAACC,IAAKb,EAAOc,GAAId,OAAQA,QAIzC,KACH,EAMP,MAAMM,EAAK,aC4BX,MApDiBS,KAAM,IAAAC,EAAAC,EACrB,MAAMtG,GAAYC,EAAAA,EAAAA,SAAgB,IAC5B,EAACiE,EAAM,EAAEqC,IAAaxG,EAAAA,EAAAA,WAAkB,GAExCyG,EAAgBA,KACpBD,GAAWrC,IAAYA,GAAO,GAGhC/D,EAAAA,EAAAA,YAAU,KACR,GAAKH,EAAUI,SAAYC,OAK3B,OAJAL,EAAUI,SAAU,EAEpBC,OAAOgB,iBAAiB,SAAUmF,GAE3B,IAAMnG,OAAO2B,oBAAoB,SAAUwE,EAAc,GAC/D,IAEH,MAAMC,GAAoBf,EAAAA,EAAAA,gBAAeC,GACzC,IAAIe,EACFD,SAAoC,QAAnBJ,EAAjBI,EAAmBZ,yBAAiB,IAAAQ,GAAO,QAAPC,EAApCD,EAAsCP,aAAK,IAAAQ,GAA3CA,EAA6ClE,OACzCqE,EAAkBZ,kBAAkBC,MACpC,KAGN,OACEvG,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACoH,EAAAA,EAAM,CACL3D,YAAY,QACZC,MAAM,YACNC,KAAK,6DAEP3D,EAAAA,cAAA,OAAKD,UAAU,oBACbC,EAAAA,cAACkE,EAAAA,EAAgB,CAACnE,UAAU,2EACzBoH,EACGA,EAAcV,KAAI,CAAC/B,EAAM2C,IACvBrH,EAAAA,cAACsH,EAAY,CACXX,IAAKjC,EAAKkC,GACVlC,KAAMA,EACN3E,UAAU,wEACV4E,OAAQA,EACRC,WAAYyC,EAAI,MAGpB,KACJrH,EAAAA,cAAA,OAAKD,UAAU,+FAEjBC,EAAAA,cAAC+F,EAAY,OAEd,EAMA,MAAMwB,EAAeA,IAAMvH,EAAAA,cAAA,aAAO,qBAEnCoG,EAAQ,Y,uBCpEd,IAAIpG,EAAQ,EAAQ,MAEpB,SAASiE,EAAQuD,GACb,OAAOxH,EAAMyH,cAAc,MAAMD,EAAM,CAACxH,EAAMyH,cAAc,OAAO,CAAC,MAAQ,MAAM,OAAS,IAAI,OAAS,QAAQ,YAAc,IAAI,gBAAkB,MAAM,GAAK,IAAI,GAAK,OAAO,GAAK,IAAI,GAAK,IAAI,IAAM,IAAIzH,EAAMyH,cAAc,OAAO,CAAC,MAAQ,MAAM,OAAS,IAAI,OAAS,QAAQ,YAAc,IAAI,gBAAkB,MAAM,GAAK,IAAI,GAAK,OAAO,GAAK,IAAI,GAAK,IAAI,IAAM,KAC9W,CAEAxD,EAAOyD,aAAe,CAAC,OAAS,KAEhCC,EAAOC,QAAU3D,EAEjBA,EAAO4D,QAAU5D,C,uBCVjB,IAAIjE,EAAQ,EAAQ,MAEpB,SAASyF,EAAM+B,GACX,OAAOxH,EAAMyH,cAAc,MAAMD,EAAMxH,EAAMyH,cAAc,OAAO,CAAC,MAAQ,MAAM,OAAS,IAAI,OAAS,QAAQ,YAAc,IAAI,GAAK,IAAI,GAAK,OAAO,GAAK,IAAI,GAAK,MACxK,CAEAhC,EAAKiC,aAAe,CAAC,OAAS,KAE9BC,EAAOC,QAAUnC,EAEjBA,EAAKoC,QAAUpC,C","sources":["webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/common/templateSection.tsx","webpack://code-cave/./src/components/workflow/workflowStep.tsx","webpack://code-cave/./src/components/whyUs/whyUsReason.tsx","webpack://code-cave/./src/components/whyUs/whyUsSection.tsx","webpack://code-cave/./src/pages/workflow.tsx","webpack://code-cave/./src/assets/common/border.svg","webpack://code-cave/./src/assets/workflow/bond.svg"],"sourcesContent":["import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler);\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler);\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\"touchstart\", (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler);\n window.addEventListener(\"touchend\", () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n });\n });\n\n // UNMOUNT handler\n return () => {\n if (window) {\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n }\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.postMessage({ dispose: true });\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\nconst Banner = ({\n heightClass = \"min-h-160\",\n title,\n text,\n className,\n borderBottom,\n borderTop,\n babylon,\n}: {\n heightClass?: string;\n title: string;\n text: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n babylon?: boolean;\n}) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n
\n

\n \n {title.toUpperCase()}\n \n

\n

\n \n {text.toUpperCase()}\n \n

\n
\n {babylon ? (\n
\n \n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React, { PropsWithChildren } from \"react\";\nimport { Link } from \"gatsby\";\n\nimport ContentContainer from \"./contentContainer\";\n\nconst TemplateSection = ({\n section,\n title,\n linkTitle,\n className,\n fullWidth,\n children,\n}: PropsWithChildren<{\n title: string;\n linkTitle?: string;\n section?: string;\n className?: string;\n fullWidth?: boolean;\n}>) => (\n
\n \n
\n

\n {title.toUpperCase()}\n

\n {section ? (\n \n {linkTitle ? linkTitle.toUpperCase() : \"SEE MORE\"} →\n \n ) : null}\n
\n {children}\n
\n
\n);\n\nexport default TemplateSection;\n","import React, { useEffect, useState, useRef } from \"react\";\n\nimport { IWorkflowStep } from \"../../types/workflow.type\";\n\nimport Bond from \"../../assets/workflow/bond.svg\";\n\nconst WorkflowStep = ({\n step,\n scroll,\n stepNumber,\n className,\n}: {\n step: IWorkflowStep;\n scroll: boolean;\n stepNumber: number;\n className?: string;\n}) => {\n const div = useRef(null);\n const [coverWidth, setCoverWidth] = useState<\"w-[100%]\" | \"w-0\">(\"w-[100%]\");\n\n useEffect(() => {\n if (!div.current || !window) return;\n const divBottom = div.current.getBoundingClientRect().bottom;\n\n if (window.innerHeight > divBottom) setCoverWidth(\"w-0\");\n }, [scroll]);\n\n const {\n html,\n frontmatter: {\n title,\n image: { publicURL: imageURL },\n },\n } = step;\n\n return (\n \n \n

\n {stepNumber}\n

\n \n \n \n
\n

{title}

\n \n
\n \n \n );\n};\n\nexport default WorkflowStep;\n","import React from \"react\";\n\nimport { IWhyUsReason } from \"../../types/whyUs.type\";\n\nconst WhyUsReason = ({\n reason: {\n frontmatter: { title },\n html,\n },\n className,\n}: {\n reason: IWhyUsReason;\n className?: string;\n}) => {\n return (\n \n
{title}
\n
\n \n
\n );\n};\n\nexport default WhyUsReason;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\nimport { IWhyUsReason } from \"../../types/whyUs.type\";\n\nimport TemplateSection from \"../common/templateSection\";\nimport WhyUsReason from \"./whyUsReason\";\n\nconst WhyUsSection = () => {\n const whyUsData = useStaticQuery(query);\n let whyUsReasons = (\n whyUsData?.allMarkdownRemark?.nodes?.length\n ? whyUsData.allMarkdownRemark.nodes\n : null\n ) as IWhyUsReason[] | null;\n\n return (\n <>\n {whyUsReasons ? (\n \n
\n {whyUsReasons.map((reason) => (\n \n ))}\n
\n \n ) : null}\n \n );\n};\n\nexport default WhyUsSection;\n\nconst query = graphql`\n query {\n allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"whyUs\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n id\n html\n frontmatter {\n title\n }\n }\n }\n }\n`;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport { HeadFC, useStaticQuery } from \"gatsby\";\nimport { graphql } from \"gatsby\";\n\nimport { IWorkflowStep } from \"../types/workflow.type\";\n\nimport Banner from \"../components/common/banner\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport WorkflowStep from \"../components/workflow/workflowStep\";\nimport WhyUsSection from \"../components/whyUs/whyUsSection\";\n\nconst Workflow = () => {\n const isInitial = useRef(true);\n const [scroll, setScroll] = useState(false);\n\n const scrollHandler = () => {\n setScroll((scroll) => !scroll);\n };\n\n useEffect(() => {\n if (!isInitial.current || !window) return;\n isInitial.current = false;\n\n window.addEventListener(\"scroll\", scrollHandler);\n\n return () => window.removeEventListener(\"scroll\", scrollHandler);\n }, []);\n\n const workflowStepsData = useStaticQuery(query);\n let workflowSteps = (\n workflowStepsData?.allMarkdownRemark?.nodes?.length\n ? workflowStepsData.allMarkdownRemark.nodes\n : null\n ) as IWorkflowStep[] | null;\n\n return (\n <>\n \n
\n \n {workflowSteps\n ? workflowSteps.map((step, i) => (\n \n ))\n : null}\n
\n \n \n
\n \n );\n};\n\nexport default Workflow;\n\nexport const Head: HeadFC = () => CodeCave Workflow;\n\nconst query = graphql`\n query {\n allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"workflow\" } } }\n sort: { frontmatter: { step: ASC } }\n ) {\n nodes {\n id\n html\n frontmatter {\n title\n image {\n publicURL\n }\n }\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"white\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"black\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n","var React = require('react');\n\nfunction Bond (props) {\n return React.createElement(\"svg\",props,React.createElement(\"line\",{\"width\":\"800\",\"height\":\"4\",\"stroke\":\"black\",\"strokeWidth\":\"4\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"2\",\"y2\":\"2\"}));\n}\n\nBond.defaultProps = {\"height\":\"4\"};\n\nmodule.exports = Bond;\n\nBond.default = Bond;\n"],"names":["_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","dispose","ref","Spinner","heightClass","title","text","borderBottom","borderTop","babylon","textTranslate","setTextTranslate","Border","ContentContainer","toUpperCase","section","linkTitle","fullWidth","children","Link","to","step","scroll","stepNumber","div","coverWidth","setCoverWidth","divBottom","getBoundingClientRect","bottom","innerHeight","html","frontmatter","image","publicURL","imageURL","Bond","src","alt","dangerouslySetInnerHTML","__html","reason","WhyUsSection","_whyUsData$allMarkdow","_whyUsData$allMarkdow2","whyUsData","useStaticQuery","query","whyUsReasons","allMarkdownRemark","nodes","TemplateSection","map","WhyUsReason","key","id","Workflow","_workflowStepsData$al","_workflowStepsData$al2","setScroll","scrollHandler","workflowStepsData","workflowSteps","Banner","i","WorkflowStep","Head","props","createElement","defaultProps","module","exports","default"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-workflow-tsx-71ff73d9d1233d63de8e.js b/component---src-pages-workflow-tsx-71ff73d9d1233d63de8e.js new file mode 100644 index 00000000..6cc8bf26 --- /dev/null +++ b/component---src-pages-workflow-tsx-71ff73d9d1233d63de8e.js @@ -0,0 +1,2 @@ +(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[311],{1929:function(e,t,l){"use strict";l.d(t,{Z:function(){return i}});var n=l(7294),r=l(4471),a=l.n(r),s=l(1164);var o=e=>{let{className:t}=e;return n.createElement("div",{className:"flex justify-center items-center h-full w-full "+t},n.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),n.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var c=()=>{const{0:e,1:t}=(0,n.useState)(!1),r=(0,n.useRef)(!0),a=(0,n.useRef)(null);return(0,n.useEffect)((()=>{if(!r.current||!a.current||"undefined"==typeof window)return;r.current=!1;const e=new Worker(new URL(l.p+l.u(475),l.b),{type:void 0});e.onmessage=e=>{let{data:l}=e;"ready"===l&&t(!0)};const n=a.current;n.width=n.clientWidth,n.height=n.clientHeight;const s=n.transferControlToOffscreen();e.postMessage({canvas:s},[s]);const o=()=>{e.postMessage({width:n.clientWidth,height:n.clientHeight})};window.addEventListener("resize",o);const c=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};n.addEventListener("wheel",c);const i=t=>{e.postMessage({x:t.movementX,y:t.movementY})};n.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",i),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",i)),{once:!0})}));let m;return n.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const l=t.touches[0];t.preventDefault();const n={x:l.screenX,y:l.screenY};m=t=>{const{newX:l,newY:r}=((t,l)=>{const n=t.touches[0];return e.postMessage({x:n.screenX-l.x,y:n.screenY-l.y}),{newX:n.screenX,newY:n.screenY}})(t,n);n.x=l,n.y=r},window.addEventListener("touchmove",m),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",m)}))})),()=>{window&&(window.removeEventListener("resize",o),window.removeEventListener("mousemove",i),window.removeEventListener("touchmove",m),n&&n.removeEventListener("wheel",c),e.terminate())}}),[]),n.createElement("div",{className:"h-full w-full relative"},n.createElement("canvas",{ref:a,className:"bg-main-100 h-160 w-full flex items-center justify-center cursor-pointer"}),e?null:n.createElement(o,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var i=e=>{let{heightClass:t="min-h-160",title:l,text:r,className:o,borderBottom:i,borderTop:m,babylon:d}=e;const{0:u,1:f}=(0,n.useState)("translate-y-full");return(0,n.useEffect)((()=>{f("translate-y-0")}),[]),n.createElement("div",{className:"w-full flex items-center bg-main-100 relative overflow-hidden px-6 "+t+" "+o},m?n.createElement(a(),{className:"absolute top-0 left-0 right-0 w-full"}):null,n.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center text-secondary-100 flex-grow"},n.createElement("div",{className:"flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full lg:w-1/2 bg-main-100"},n.createElement("h2",{className:"overflow-hidden mb-8 w-full"},n.createElement("span",{className:"inline-block font-['Rubik_Glitch'] text-5xl sm:text-6xl w-full text-center lg:text-start transition-all duration-1000 "+u},l.toUpperCase())),n.createElement("p",{className:"overflow-hidden w-full"},n.createElement("span",{className:"inline-block w-full text-3xl sm:text-4xl font-light text-center lg:text-start transition-all duration-1000 "+u},r.toUpperCase()))),d?n.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full flex"},n.createElement(c,null)):null),i?n.createElement(a(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},216:function(e,t,l){"use strict";var n=l(7294),r=l(1883),a=l(1164);t.Z=e=>{let{section:t,title:l,linkTitle:s,className:o,fullWidth:c,children:i}=e;return n.createElement("section",{className:"w-full py-48 px-6 "+o},n.createElement(a.Z,{className:"flex-col items-center",fullWidth:c},n.createElement("div",{className:"flex justify-between w-full items-center pb-10 md:pb-16"},n.createElement("h3",{className:"text-4xl md:text-5xl font-black w-full max-w-7xl mx-auto pr-8"},l.toUpperCase()),t?n.createElement(r.Link,{to:"/"+t,className:"text-end text-2xl md:text-3xl text-secondary-10 hover:text-secondary-100 font-normal cursor-pointer whitespace-nowrap"},s?s.toUpperCase():"SEE MORE"," →"):null),i))}},2891:function(e,t,l){"use strict";l.r(t),l.d(t,{Head:function(){return h},default:function(){return w}});var n=l(7294),r=l(1883),a=l(1929),s=l(1164),o=l(4799),c=l.n(o);var i=e=>{let{step:t,scroll:l,stepNumber:r,className:a}=e;const s=(0,n.useRef)(null),{0:o,1:i}=(0,n.useState)("w-[100%]");(0,n.useEffect)((()=>{if(!s.current||!window)return;const e=s.current.getBoundingClientRect().bottom;window.innerHeight>e&&i("w-0")}),[l]);const{html:m,frontmatter:{title:d,image:{publicURL:u}}}=t;return n.createElement("div",{className:"workflow-step relative md:w-1/2 flex flex-row items-center h-min my-20 first:mt-36 md:-my-2 md:first:mt-0 md:last:mb-0 text-secondary-100 z-10 md:z-0 "+a,ref:s},n.createElement("div",{className:"hidden md:block cover absolute -right-6 -top-2 -bottom-2 z-10 bg-secondary-100 transition-all duration-1000 "+o}),n.createElement("p",{className:"step-number absolute rounded-full h-12 w-12 flex items-center justify-center bg-main-100 text-secondary-100 font-extrabold text-2xl -translate-x-1/2 -translate-y-[120%] md:translate-x-full z-30 top-0 md:top-auto left-1/2 md:left-auto md:translate-y-0"},r),n.createElement(c(),{className:"hidden md:block basis-1/6"}),n.createElement("div",{className:"md:basis-5/6 flex flex-row justify-around h-min rounded-2xl p-10 bg-main-100 text-secondary-100"},n.createElement("img",{src:u,alt:d+" logo",className:"basis-1/6 mr-7 invert"}),n.createElement("div",{className:"flex flex-col pb-4 basis-4/6"},n.createElement("h4",{className:"font-extrabold text-2xl pb-6"},d),n.createElement("div",{className:"text-xl",dangerouslySetInnerHTML:{__html:m}}))))},m=l(216);var d=e=>{let{reason:{frontmatter:{title:t},html:l},className:r}=e;return n.createElement("div",{className:"why-us-card relative flex flex-col basis-5/12 text-secondary-100 p-10 cursor-pointer "+r},n.createElement("h6",{className:"text-center w-full text-2xl font-bold pb-6"},t),n.createElement("div",{className:"text-xl",dangerouslySetInnerHTML:{__html:l}}),n.createElement("div",{className:"line w-1 h-0 bg-secondary-100 absolute top-1/2 left-0 -translate-y-1/2 transition-all duration-500"}))};var u=()=>{var e,t;const l=(0,r.useStaticQuery)(f);let a=null!=l&&null!==(e=l.allMarkdownRemark)&&void 0!==e&&null!==(t=e.nodes)&&void 0!==t&&t.length?l.allMarkdownRemark.nodes:null;return n.createElement(n.Fragment,null,a?n.createElement(m.Z,{title:"why us",className:"bg-main-100 text-secondary-100 py-32"},n.createElement("div",{className:"flex flex-wrap flex-col sm:flex-row justify-around items-stretch"},a.map((e=>n.createElement(d,{key:e.id,reason:e}))))):null)};const f="2239467241";var w=()=>{var e,t;const l=(0,n.useRef)(!0),{0:o,1:c}=(0,n.useState)(!1),m=()=>{c((e=>!e))};(0,n.useEffect)((()=>{if(l.current&&window)return l.current=!1,window.addEventListener("scroll",m),()=>window.removeEventListener("scroll",m)}),[]);const d=(0,r.useStaticQuery)(x);let f=null!=d&&null!==(e=d.allMarkdownRemark)&&void 0!==e&&null!==(t=e.nodes)&&void 0!==t&&t.length?d.allMarkdownRemark.nodes:null;return n.createElement(n.Fragment,null,n.createElement(a.Z,{heightClass:"h-136",title:"how & why",text:"solid reasons to choose us to go through app dev process"}),n.createElement("div",{className:"bg-secondary-100"},n.createElement(s.Z,{className:"flex-col items-start p-6 md:py-24 relative transition-all duration-1000"},f?f.map(((e,t)=>n.createElement(i,{key:e.id,step:e,className:"md:even:translate-x-full md:odd:flex-row-reverse md:-ms-6 md:odd:ms-6",scroll:o,stepNumber:t+1}))):null,n.createElement("div",{className:"absolute left-1/2 top-0 bottom-0 border-r-8 border-solid border main-100 -translate-x-1/2"})),n.createElement(u,null)))};const h=()=>n.createElement("title",null,"CodeCave Workflow"),x="4195958887"},4471:function(e,t,l){var n=l(7294);function r(e){return n.createElement("svg",e,[n.createElement("line",{width:"800",height:"8",stroke:"white",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),n.createElement("line",{width:"800",height:"8",stroke:"black",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}r.defaultProps={height:"8"},e.exports=r,r.default=r},4799:function(e,t,l){var n=l(7294);function r(e){return n.createElement("svg",e,n.createElement("line",{width:"800",height:"4",stroke:"black",strokeWidth:"4",x1:"0",x2:"100%",y1:"2",y2:"2"}))}r.defaultProps={height:"4"},e.exports=r,r.default=r}}]); +//# sourceMappingURL=component---src-pages-workflow-tsx-71ff73d9d1233d63de8e.js.map \ No newline at end of file diff --git a/component---src-pages-workflow-tsx-71ff73d9d1233d63de8e.js.map b/component---src-pages-workflow-tsx-71ff73d9d1233d63de8e.js.map new file mode 100644 index 00000000..4012201d --- /dev/null +++ b/component---src-pages-workflow-tsx-71ff73d9d1233d63de8e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---src-pages-workflow-tsx-71ff73d9d1233d63de8e.js","mappings":"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","sources":["webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/common/templateSection.tsx","webpack://code-cave/./src/components/workflow/workflowStep.tsx","webpack://code-cave/./src/components/whyUs/whyUsReason.tsx","webpack://code-cave/./src/components/whyUs/whyUsSection.tsx","webpack://code-cave/./src/pages/workflow.tsx","webpack://code-cave/./src/assets/common/border.svg","webpack://code-cave/./src/assets/workflow/bond.svg"],"sourcesContent":["import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n
\n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler);\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler);\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\"touchstart\", (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler);\n window.addEventListener(\"touchend\", () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n });\n });\n\n // UNMOUNT handler\n return () => {\n if (!window) return;\n\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.terminate();\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\nconst Banner = ({\n heightClass = \"min-h-160\",\n title,\n text,\n className,\n borderBottom,\n borderTop,\n babylon,\n}: {\n heightClass?: string;\n title: string;\n text: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n babylon?: boolean;\n}) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n
\n

\n \n {title.toUpperCase()}\n \n

\n

\n \n {text.toUpperCase()}\n \n

\n
\n {babylon ? (\n
\n \n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React, { PropsWithChildren } from \"react\";\nimport { Link } from \"gatsby\";\n\nimport ContentContainer from \"./contentContainer\";\n\nconst TemplateSection = ({\n section,\n title,\n linkTitle,\n className,\n fullWidth,\n children,\n}: PropsWithChildren<{\n title: string;\n linkTitle?: string;\n section?: string;\n className?: string;\n fullWidth?: boolean;\n}>) => (\n
\n \n
\n

\n {title.toUpperCase()}\n

\n {section ? (\n \n {linkTitle ? linkTitle.toUpperCase() : \"SEE MORE\"} →\n \n ) : null}\n
\n {children}\n
\n
\n);\n\nexport default TemplateSection;\n","import React, { useEffect, useState, useRef } from \"react\";\n\nimport { IWorkflowStep } from \"../../types/workflow.type\";\n\nimport Bond from \"../../assets/workflow/bond.svg\";\n\nconst WorkflowStep = ({\n step,\n scroll,\n stepNumber,\n className,\n}: {\n step: IWorkflowStep;\n scroll: boolean;\n stepNumber: number;\n className?: string;\n}) => {\n const div = useRef(null);\n const [coverWidth, setCoverWidth] = useState<\"w-[100%]\" | \"w-0\">(\"w-[100%]\");\n\n useEffect(() => {\n if (!div.current || !window) return;\n const divBottom = div.current.getBoundingClientRect().bottom;\n\n if (window.innerHeight > divBottom) setCoverWidth(\"w-0\");\n }, [scroll]);\n\n const {\n html,\n frontmatter: {\n title,\n image: { publicURL: imageURL },\n },\n } = step;\n\n return (\n \n \n

\n {stepNumber}\n

\n \n \n \n
\n

{title}

\n \n
\n \n \n );\n};\n\nexport default WorkflowStep;\n","import React from \"react\";\n\nimport { IWhyUsReason } from \"../../types/whyUs.type\";\n\nconst WhyUsReason = ({\n reason: {\n frontmatter: { title },\n html,\n },\n className,\n}: {\n reason: IWhyUsReason;\n className?: string;\n}) => {\n return (\n \n
{title}
\n
\n \n
\n );\n};\n\nexport default WhyUsReason;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\nimport { IWhyUsReason } from \"../../types/whyUs.type\";\n\nimport TemplateSection from \"../common/templateSection\";\nimport WhyUsReason from \"./whyUsReason\";\n\nconst WhyUsSection = () => {\n const whyUsData = useStaticQuery(query);\n let whyUsReasons = (\n whyUsData?.allMarkdownRemark?.nodes?.length\n ? whyUsData.allMarkdownRemark.nodes\n : null\n ) as IWhyUsReason[] | null;\n\n return (\n <>\n {whyUsReasons ? (\n \n
\n {whyUsReasons.map((reason) => (\n \n ))}\n
\n \n ) : null}\n \n );\n};\n\nexport default WhyUsSection;\n\nconst query = graphql`\n query {\n allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"whyUs\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n id\n html\n frontmatter {\n title\n }\n }\n }\n }\n`;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport { HeadFC, useStaticQuery } from \"gatsby\";\nimport { graphql } from \"gatsby\";\n\nimport { IWorkflowStep } from \"../types/workflow.type\";\n\nimport Banner from \"../components/common/banner\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport WorkflowStep from \"../components/workflow/workflowStep\";\nimport WhyUsSection from \"../components/whyUs/whyUsSection\";\n\nconst Workflow = () => {\n const isInitial = useRef(true);\n const [scroll, setScroll] = useState(false);\n\n const scrollHandler = () => {\n setScroll((scroll) => !scroll);\n };\n\n useEffect(() => {\n if (!isInitial.current || !window) return;\n isInitial.current = false;\n\n window.addEventListener(\"scroll\", scrollHandler);\n\n return () => window.removeEventListener(\"scroll\", scrollHandler);\n }, []);\n\n const workflowStepsData = useStaticQuery(query);\n let workflowSteps = (\n workflowStepsData?.allMarkdownRemark?.nodes?.length\n ? workflowStepsData.allMarkdownRemark.nodes\n : null\n ) as IWorkflowStep[] | null;\n\n return (\n <>\n \n
\n \n {workflowSteps\n ? workflowSteps.map((step, i) => (\n \n ))\n : null}\n
\n \n \n
\n \n );\n};\n\nexport default Workflow;\n\nexport const Head: HeadFC = () => CodeCave Workflow;\n\nconst query = graphql`\n query {\n allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"workflow\" } } }\n sort: { frontmatter: { step: ASC } }\n ) {\n nodes {\n id\n html\n frontmatter {\n title\n image {\n publicURL\n }\n }\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"white\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"black\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n","var React = require('react');\n\nfunction Bond (props) {\n return React.createElement(\"svg\",props,React.createElement(\"line\",{\"width\":\"800\",\"height\":\"4\",\"stroke\":\"black\",\"strokeWidth\":\"4\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"2\",\"y2\":\"2\"}));\n}\n\nBond.defaultProps = {\"height\":\"4\"};\n\nmodule.exports = Bond;\n\nBond.default = Bond;\n"],"names":["_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","terminate","ref","Spinner","heightClass","title","text","borderBottom","borderTop","babylon","textTranslate","setTextTranslate","Border","ContentContainer","toUpperCase","section","linkTitle","fullWidth","children","Link","to","step","scroll","stepNumber","div","coverWidth","setCoverWidth","divBottom","getBoundingClientRect","bottom","innerHeight","html","frontmatter","image","publicURL","imageURL","Bond","src","alt","dangerouslySetInnerHTML","__html","reason","WhyUsSection","_whyUsData$allMarkdow","_whyUsData$allMarkdow2","whyUsData","useStaticQuery","query","whyUsReasons","allMarkdownRemark","nodes","TemplateSection","map","WhyUsReason","key","id","Workflow","_workflowStepsData$al","_workflowStepsData$al2","setScroll","scrollHandler","workflowStepsData","workflowSteps","Banner","i","WorkflowStep","Head","props","createElement","defaultProps","module","exports","default"],"sourceRoot":""} \ No newline at end of file diff --git a/index.html b/index.html index 2f5abdb5..e5964af6 100644 --- a/index.html +++ b/index.html @@ -3,14 +3,14 @@ ! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1440px){.container{max-width:1440px}}@media (min-width:1900px){.container{max-width:1900px}}@media (min-width:2200px){.container{max-width:2200px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-y-0{bottom:0;top:0}.-bottom-2{bottom:-.5rem}.-right-6{right:-1.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-\[5\%\]{bottom:5%}.left-0{left:0}.left-1\/2{left:50%}.left-6{left:1.5rem}.right-0{right:0}.right-6{right:1.5rem}.right-\[2\%\]{right:2%}.top-0{top:0}.top-1\/2{top:50%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[1\]{z-index:1}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-0{margin-left:0;margin-right:0}.mx-12{margin-left:3rem;margin-right:3rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-\[-1px\]{margin-left:-1px;margin-right:-1px}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-bottom:2.5rem;margin-top:2.5rem}.my-16{margin-bottom:4rem;margin-top:4rem}.my-20{margin-bottom:5rem;margin-top:5rem}.mb-12{margin-bottom:3rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-6{margin-right:1.5rem}.mr-7{margin-right:1.75rem}.mt-16{margin-top:4rem}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-0{height:0}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-136{height:34rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-160{height:40rem}.h-2\/3{height:66.666667%}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-32{height:8rem}.h-36{height:9rem}.h-8{height:2rem}.h-96{height:24rem}.h-full{height:100%}.h-min{height:-moz-min-content;height:min-content}.min-h-160{min-height:40rem}.min-h-96{min-height:24rem}.min-h-\[8\.5rem\]{min-height:8.5rem}.w-0{width:0}.w-1{width:.25rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2\/3{width:66.666667%}.w-32{width:8rem}.w-40{width:10rem}.w-56{width:14rem}.w-64{width:16rem}.w-8{width:2rem}.w-\[100\%\]{width:100%}.w-\[352px\]{width:352px}.w-\[85\%\]{width:85%}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-10{min-width:2.5rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.basis-1\/2{flex-basis:50%}.basis-1\/3{flex-basis:33.333333%}.basis-1\/4{flex-basis:25%}.basis-1\/5{flex-basis:20%}.basis-1\/6{flex-basis:16.666667%}.basis-4\/6{flex-basis:66.666667%}.basis-5\/12{flex-basis:41.666667%}.basis-\[48\%\]{flex-basis:48%}.basis-full{flex-basis:100%}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-\[120\%\]{--tw-translate-y:-120%}.-translate-y-\[120\%\],.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-full{--tw-translate-y:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.columns-1{-moz-columns:1;column-count:1}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.content-center{align-content:center}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[3px\]{border-width:3px}.border-b-2{border-bottom-width:2px}.border-b-4,.border-b-\[4px\]{border-bottom-width:4px}.border-r-8{border-right-width:8px}.border-t-4{border-top-width:4px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-main-10{--tw-border-opacity:1;border-color:rgb(143 143 143/var(--tw-border-opacity))}.border-main-100{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}.border-secondary-100{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-secondary-30{--tw-border-opacity:1;border-color:rgb(231 231 231/var(--tw-border-opacity))}.bg-main-100{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-secondary-10{--tw-bg-opacity:1;background-color:rgb(209 209 209/var(--tw-bg-opacity))}.bg-secondary-100{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-secondary-70{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.fill-main-100{fill:#000}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-14{padding-bottom:3.5rem;padding-top:3.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-32{padding-bottom:8rem;padding-top:8rem}.py-48{padding-bottom:12rem;padding-top:12rem}.pb-10{padding-bottom:2.5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-9{padding-bottom:2.25rem}.pl-4{padding-left:1rem}.pr-11{padding-right:2.75rem}.pr-16{padding-right:4rem}.pr-8{padding-right:2rem}.pt-14{padding-top:3.5rem}.pt-2{padding-top:.5rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-end{text-align:end}.font-\[\'Rubik_Glitch\'\]{font-family:Rubik Glitch}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-7{line-height:1.75rem}.leading-\[52px\]{line-height:52px}.text-main-10{--tw-text-opacity:1;color:rgb(143 143 143/var(--tw-text-opacity))}.text-main-100{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-main-70{--tw-text-opacity:1;color:rgb(61 61 61/var(--tw-text-opacity))}.text-secondary-10{--tw-text-opacity:1;color:rgb(209 209 209/var(--tw-text-opacity))}.text-secondary-100{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-secondary-30{--tw-text-opacity:1;color:rgb(231 231 231/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-main-100{--tw-shadow-color:#000;--tw-shadow:var(--tw-shadow-colored)}.brightness-0{--tw-brightness:brightness(0)}.brightness-0,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-linear{transition-timing-function:linear}.after\:h-1:after{content:var(--tw-content);height:.25rem}.after\:h-1\.5:after{content:var(--tw-content);height:.375rem}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:bg-main-10:after{--tw-bg-opacity:1;background-color:rgb(143 143 143/var(--tw-bg-opacity));content:var(--tw-content)}.after\:bg-main-100:after{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));content:var(--tw-content)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:0}.first\:mt-36:first-child{margin-top:9rem}.hover\:bg-main-100:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.hover\:bg-main-70:hover{--tw-bg-opacity:1;background-color:rgb(61 61 61/var(--tw-bg-opacity))}.hover\:bg-secondary-100:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:bg-secondary-30:hover{--tw-bg-opacity:1;background-color:rgb(231 231 231/var(--tw-bg-opacity))}.hover\:bg-secondary-70:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:text-main-10:hover{--tw-text-opacity:1;color:rgb(143 143 143/var(--tw-text-opacity))}.hover\:text-secondary-10:hover{--tw-text-opacity:1;color:rgb(209 209 209/var(--tw-text-opacity))}.hover\:text-secondary-100:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:outline-main-100:hover{outline-color:#000}.hover\:outline-secondary-100:hover{outline-color:#fff}.hover\:invert:hover{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.disabled\:opacity-30:disabled{opacity:.3}@media (prefers-color-scheme:dark){.dark\:text-secondary-10{--tw-text-opacity:1;color:rgb(209 209 209/var(--tw-text-opacity))}}@media (min-width:640px){.sm\:mb-0{margin-bottom:0}.sm\:mt-0{margin-top:0}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:basis-2\/5{flex-basis:40%}.sm\:basis-3\/5{flex-basis:60%}.sm\:basis-5\/6{flex-basis:83.333333%}.sm\:flex-row{flex-direction:row}.sm\:items-stretch{align-items:stretch}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:pb-10{padding-bottom:2.5rem}.sm\:text-start{text-align:start}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:last\:hidden:last-child{display:none}}@media (min-width:768px){.md\:left-auto{left:auto}.md\:top-auto{top:auto}.md\:z-0{z-index:0}.md\:m-12{margin:3rem}.md\:-my-2{margin-bottom:-.5rem;margin-top:-.5rem}.md\:mx-3{margin-left:.75rem;margin-right:.75rem}.md\:-ms-6{margin-inline-start:-1.5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:w-1\/2{width:50%}.md\:w-\[400px\]{width:400px}.md\:basis-1\/3{flex-basis:33.333333%}.md\:basis-1\/4{flex-basis:25%}.md\:basis-3\/4{flex-basis:75%}.md\:basis-4\/6{flex-basis:66.666667%}.md\:basis-5\/6{flex-basis:83.333333%}.md\:basis-\[31\%\]{flex-basis:31%}.md\:translate-x-full{--tw-translate-x:100%}.md\:translate-x-full,.md\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:translate-y-0{--tw-translate-y:0px}.md\:columns-2{-moz-columns:2;column-count:2}.md\:flex-row{flex-direction:row}.md\:p-12{padding:3rem}.md\:px-40{padding-left:10rem;padding-right:10rem}.md\:px-7{padding-left:1.75rem;padding-right:1.75rem}.md\:py-24{padding-bottom:6rem;padding-top:6rem}.md\:pb-0{padding-bottom:0}.md\:pb-10{padding-bottom:2.5rem}.md\:pb-16{padding-bottom:4rem}.md\:pt-10{padding-top:2.5rem}.md\:text-start{text-align:start}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:leading-10{line-height:2.5rem}.md\:first\:mt-0:first-child{margin-top:0}.md\:last\:mb-0:last-child{margin-bottom:0}.md\:last\:flex:last-child{display:flex}.md\:odd\:ms-6:nth-child(odd){-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.md\:odd\:flex-row-reverse:nth-child(odd){flex-direction:row-reverse}.md\:even\:translate-x-full:nth-child(2n){--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-full{height:100%}.lg\:w-1\/2{width:50%}.lg\:basis-1\/2{flex-basis:50%}.lg\:basis-2\/5{flex-basis:40%}.lg\:basis-4\/6{flex-basis:66.666667%}.lg\:flex-row{flex-direction:row}.lg\:justify-between{justify-content:space-between}.lg\:py-0{padding-bottom:0;padding-top:0}.lg\:text-start{text-align:start}}@media (min-width:1280px){.xl\:w-\[480px\]{width:480px}.xl\:basis-1\/3{flex-basis:33.333333%}.xl\:basis-2\/3{flex-basis:66.666667%}.xl\:basis-2\/5{flex-basis:40%}}@media (min-width:1900px){.\33xl\:w-\[576px\]{width:576px}.\33xl\:basis-1\/3{flex-basis:33.333333%}}@media (min-width:2200px){.\34xl\:basis-1\/4{flex-basis:25%}}*{border:0;margin:0;padding:0}*,:after,:before{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}:active,:focus,a:active,a:focus{outline:none}aside,footer,header,nav{display:block}body,html{-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-size:100%;font-size:14px;line-height:1;min-height:100vh}button,input,textarea{font-family:inherit}input::-ms-clear{display:none}button{cursor:pointer}button::-moz-focus-inner{border:0;padding:0}a,a:hover,a:visited{text-decoration:none}ul li{list-style:none}img{vertical-align:top}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:400}*{font-family:Urbanist,Helvetica,Arial,sans-serif}div.single-post h3{font-size:1.875rem;font-weight:600;line-height:2.25rem;padding-bottom:2rem}div.single-post p{padding-bottom:3rem;text-align:justify;text-indent:2.5rem}div.single-post h4,div.single-post p{font-size:1.5rem;font-weight:500;line-height:2rem}div.single-post ul{padding-bottom:3rem;padding-left:1rem}div.single-post ul li{list-style-position:inside;list-style-type:disc}div.single-post ol{padding-bottom:.5rem;padding-left:1rem}div.single-post ol li{list-style-position:inside;list-style-type:decimal}div.single-post span.gatsby-resp-image-wrapper{margin:1.5rem!important;width:100%!important}div.single-post span.gatsby-resp-image-wrapper:nth-child(odd){float:left!important;margin-left:0!important}div.single-post span.gatsby-resp-image-wrapper:nth-child(2n){float:right!important;margin-right:0!important}@media (min-width:1024px){div.single-post span.gatsby-resp-image-wrapper{margin:3.5rem!important;width:50%!important}}div.single-post img{border-radius:1rem}div.single-post pre{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity));font-size:1rem;line-height:1rem;padding:1.5rem;white-space:pre-wrap}div.service-preview{background:linear-gradient(#000 0 0) padding-box,linear-gradient(90deg,#fff 0 0) border-box}div.service-preview:hover{background:#000}div.service-preview p{padding-top:1.75rem}.gradient-border{background:linear-gradient(#fff 0 0) padding-box,linear-gradient(90deg,#fff,#000 50%,#fff) border-box}div.team-member:hover div.line{width:100%}div.applied-tech:hover div.line{height:100%}div.review-body p{padding-top:1.25rem}div.review-body p:first-child{padding-top:0}div.workflow-step:nth-child(odd) div.cover{left:-1.5rem}div.workflow-step:nth-child(2n) p.step-number{z-index:30}@media (min-width:768px){div.workflow-step:nth-child(2n) p.step-number{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}div.why-us-card p{text-align:justify}div.why-us-card:hover div.line{height:100%}CodeCave

OUTSTANDING OUTSOURCING

THE BEST DEVELOPERS EVER

AR

CAD ADDINS

PLM

QUALITY ASSURANCE

3D

ETL

WEB DEVELOPMENT

UX/UI

MOBILE APP

CLOUD & DEVOPS

OUR PROJECTS

SEE MORE
The most expensive web-app ever

THE MOST EXPENSIVE WEB-APP EVER

Some regular app 4

SOME REGULAR APP 4

Some regular app

SOME REGULAR APP

OUR CLIENTS' TESTIMONIALS

As a service company we wanted to create a website that would sum up all of our experiences gathered over the past 30 years.

At the same time we wanted it to be dynamic, with a possibility to add new information over time, as we know that only dynamism makes a website more interesting to its visitors.

-

We contacted CODECAVE, because we had a chance to collaborate with their CEO when he worked in an Italian IT company. Yaroslav guided us through all the stages of website creation, providing us a complete support. We would like to express our satisfaction with the service and the outcome.

During our collaboration CodеCave have proven themselves to be a reliable and responsible company, which quickly and qualitatively solves all the tasks assigned to them.

-

We had a very tight deadlines, however CodeCave team have managed to create a bleeding edge web presentation for us. In the process they always paid great attention all our needs.

Codecave helped us to migrate from our old internal system to the new ones, writing documentation that we will re-use in the future and assuring no lack of service in the interim for our customers.

Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source.

-

Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.

As a service company we wanted to create a website that would sum up all of our experiences gathered over the past 30 years.

+

We contacted CODECAVE, because we had a chance to collaborate with their CEO when he worked in an Italian IT company. Yaroslav guided us through all the stages of website creation, providing us a complete support. We would like to express our satisfaction with the service and the outcome.

Codecave helped us to migrate from our old internal system to the new ones, writing documentation that we will re-use in the future and assuring no lack of service in the interim for our customers.

During our collaboration CodеCave have proven themselves to be a reliable and responsible company, which quickly and qualitatively solves all the tasks assigned to them.

+

We had a very tight deadlines, however CodeCave team have managed to create a bleeding edge web presentation for us. In the process they always paid great attention all our needs.

Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source.

+

Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.

Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.

As a service company we wanted to create a website that would sum up all of our experiences gathered over the past 30 years.

At the same time we wanted it to be dynamic, with a possibility to add new information over time, as we know that only dynamism makes a website more interesting to its visitors.

-

We contacted CODECAVE, because we had a chance to collaborate with their CEO when he worked in an Italian IT company. Yaroslav guided us through all the stages of website creation, providing us a complete support. We would like to express our satisfaction with the service and the outcome.

Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.

+

We contacted CODECAVE, because we had a chance to collaborate with their CEO when he worked in an Italian IT company. Yaroslav guided us through all the stages of website creation, providing us a complete support. We would like to express our satisfaction with the service and the outcome.

- \ No newline at end of file + \ No newline at end of file diff --git a/page-data/app-data.json b/page-data/app-data.json index 73616f86..447ac0ac 100644 --- a/page-data/app-data.json +++ b/page-data/app-data.json @@ -1 +1 @@ -{"webpackCompilationHash":"2552ca4b597845d70de8"} +{"webpackCompilationHash":"2282541953a94831106d"} diff --git a/page-data/sq/d/2239467241.json b/page-data/sq/d/2239467241.json index fa6818b2..062df0a4 100644 --- a/page-data/sq/d/2239467241.json +++ b/page-data/sq/d/2239467241.json @@ -1 +1 @@ -{"data":{"allMarkdownRemark":{"nodes":[{"id":"2d985b87-b996-5cfb-bdf4-25a1e458b3a2","html":"

We striving for the best achievable quality in our work

","frontmatter":{"title":"Quality"}},{"id":"2267702a-ac78-50a7-b1dc-d48a26e66393","html":"

We communicate honestly and openly to build trust and respect in a relationships with our customers

","frontmatter":{"title":"Relationships"}},{"id":"a3ae3b63-f33b-5e89-a28e-cf79db87b261","html":"

We foster a work environment that inspires professionals to continuously improve products throughout it's lifecycle

","frontmatter":{"title":"Improvements"}},{"id":"4d2e689a-c34e-5fd8-9e86-828cc229a339","html":"

We're ready to face new challenges at any stage of the project

","frontmatter":{"title":"Flexibility"}},{"id":"43703b5d-380d-5e6b-8af6-6ed8d57a3dcc","html":"

We care for all the projects as if they were our own

","frontmatter":{"title":"Responsibility"}},{"id":"babce37e-d880-5888-a1a9-35e9aee7d02d","html":"

We continuously track the latest development trends and are always prepared to apply advanced technologies

","frontmatter":{"title":"Advancement"}}]}}} \ No newline at end of file +{"data":{"allMarkdownRemark":{"nodes":[{"id":"e8012364-43de-52f3-892f-0c48dc213cb5","html":"

No surprises! We are consistent and have many time-tested techniques at our disposal

","frontmatter":{"title":"Consistency and standards"}},{"id":"2267702a-ac78-50a7-b1dc-d48a26e66393","html":"

The relationship with our customer is transparent. Mutual trust and straightforward communication are the key

","frontmatter":{"title":"Relationships"}},{"id":"6d9d08c0-3002-5e48-b9dd-1705e49ec55c","html":"

We know how to assemble the perfect team to protect you from paying extra

","frontmatter":{"title":"Team efficiency = cost efficiency"}},{"id":"4d2e689a-c34e-5fd8-9e86-828cc229a339","html":"

We're ready to face new challenges at any stage of the project

","frontmatter":{"title":"Flexibility"}},{"id":"43703b5d-380d-5e6b-8af6-6ed8d57a3dcc","html":"

Our light and clear coding helps us to escape unbreakable loops of re-development

","frontmatter":{"title":"Responsible development"}},{"id":"babce37e-d880-5888-a1a9-35e9aee7d02d","html":"

We're constantly keeping an eye on tech advancements and possible ways to implement it in our work

","frontmatter":{"title":"Curious minds"}}]}}} \ No newline at end of file diff --git a/page-data/sq/d/687265830.json b/page-data/sq/d/687265830.json index 4478fcab..2cdb8c40 100644 --- a/page-data/sq/d/687265830.json +++ b/page-data/sq/d/687265830.json @@ -1 +1 @@ -{"data":{"allMarkdownRemark":{"nodes":[{"id":"34868568-9b89-5a5c-8ddc-1324153ab835","html":"

As a service company we wanted to create a website that would sum up all of our experiences gathered over the past 30 years.

\n

At the same time we wanted it to be dynamic, with a possibility to add new information over time, as we know that only dynamism makes a website more interesting to its visitors.

\n

We contacted CODECAVE, because we had a chance to collaborate with their CEO when he worked in an Italian IT company. Yaroslav guided us through all the stages of website creation, providing us a complete support. We would like to express our satisfaction with the service and the outcome.

","frontmatter":{"company":"Prima Consulting d.o.o.","location":"Čajetina, Serbia","person":"Roberto Assi","position":"CEO","image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAQDAQL/xAAXAQADAQAAAAAAAAAAAAAAAAACAwQB/9oADAMBAAIQAxAAAAHWSmMGWPCZnJCpWA0f/8QAGxAAAgIDAQAAAAAAAAAAAAAAAQIAAxESIzL/2gAIAQEAAQUCR0UXsmR5Q7LbNpVgi0cxcwH/xAAZEQABBQAAAAAAAAAAAAAAAAAAARARMUH/2gAIAQMBAT8BSiTG/8QAFhEAAwAAAAAAAAAAAAAAAAAAABAh/9oACAECAQE/ASv/xAAcEAACAgIDAAAAAAAAAAAAAAAAAREhAkEQMXH/2gAIAQEABj8CTyKdiIHPc8Oh5bk0/Uf/xAAbEAEAAwEAAwAAAAAAAAAAAAABABEhMUFRYf/aAAgBAQABPyFEdeZyMOQjtK6XDoUoz1tRwcMgwhi2Q/MoIOK+2k//2gAMAwEAAgADAAAAENfPfv/EABgRAAMBAQAAAAAAAAAAAAAAAAABETFB/9oACAEDAQE/EE4JHsrP/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAERMf/aAAgBAgEBPxC0aoWoiP/EABwQAQEBAQACAwAAAAAAAAAAAAERACExkYHR8P/aAAgBAQABPxCBO0KTGIlVQSOtKYe2KE0fJ0xaCRSyuCEqAJ8Ywu5GPE+8VVSlbD8Z4wnAPtv/2Q=="},"images":{"fallback":{"src":"/static/925f87351999aef81e93dfc5e7e378cb/f41fb/avatar.jpg","srcSet":"/static/925f87351999aef81e93dfc5e7e378cb/80e21/avatar.jpg 28w,\n/static/925f87351999aef81e93dfc5e7e378cb/2c33f/avatar.jpg 56w,\n/static/925f87351999aef81e93dfc5e7e378cb/f41fb/avatar.jpg 112w,\n/static/925f87351999aef81e93dfc5e7e378cb/0e51d/avatar.jpg 224w","sizes":"(min-width: 112px) 112px, 100vw"},"sources":[{"srcSet":"/static/925f87351999aef81e93dfc5e7e378cb/ee3b4/avatar.avif 28w,\n/static/925f87351999aef81e93dfc5e7e378cb/4175e/avatar.avif 56w,\n/static/925f87351999aef81e93dfc5e7e378cb/2110b/avatar.avif 112w,\n/static/925f87351999aef81e93dfc5e7e378cb/2898f/avatar.avif 224w","type":"image/avif","sizes":"(min-width: 112px) 112px, 100vw"},{"srcSet":"/static/925f87351999aef81e93dfc5e7e378cb/629a0/avatar.webp 28w,\n/static/925f87351999aef81e93dfc5e7e378cb/f8744/avatar.webp 56w,\n/static/925f87351999aef81e93dfc5e7e378cb/65bf6/avatar.webp 112w,\n/static/925f87351999aef81e93dfc5e7e378cb/f42a0/avatar.webp 224w","type":"image/webp","sizes":"(min-width: 112px) 112px, 100vw"}]},"width":112,"height":112}}}}},{"id":"07793b04-f229-5c7b-91cb-1a34ea754692","html":"

During our collaboration CodеCave have proven themselves to be a reliable and responsible company, which quickly and qualitatively solves all the tasks assigned to them.

\n

We had a very tight deadlines, however CodeCave team have managed to create a bleeding edge web presentation for us. In the process they always paid great attention all our needs.

","frontmatter":{"company":"Soytex LLC","location":"Dobele, Latvia","person":"SIA \"Agrolats Group\"","position":"CEO","image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAMBBP/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME/9oADAMBAAIQAxAAAAHhvO+fXyNRbAAf/8QAGxAAAQUBAQAAAAAAAAAAAAAAAQACAxASITH/2gAIAQEAAQUCHTLG1lDCOHo+3//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABwQAQACAQUAAAAAAAAAAAAAAAEAEQIQEiAhkf/aAAgBAQAGPwIIbcr07XyXYcf/xAAdEAEAAQQDAQAAAAAAAAAAAAABEQAhMVEQIEFh/9oACAEBAAE/IT9RiryCzkjHBgJnRS0hdBFAEDJ49P/aAAwDAQACAAMAAAAQ9PDD/8QAFhEBAQEAAAAAAAAAAAAAAAAAASAh/9oACAEDAQE/EF0j/8QAFREBAQAAAAAAAAAAAAAAAAAAIEH/2gAIAQIBAT8Qg//EAB4QAQEAAQMFAAAAAAAAAAAAAAERABAhUSBBcZGx/9oACAEBAAE/EK4yVcVmMNlC7BR9t0khXeg93CqGEBt37i+MkaVOQ56P/9k="},"images":{"fallback":{"src":"/static/e695f1a48d28625cbba253860b1a47de/f41fb/avatar.jpg","srcSet":"/static/e695f1a48d28625cbba253860b1a47de/80e21/avatar.jpg 28w,\n/static/e695f1a48d28625cbba253860b1a47de/2c33f/avatar.jpg 56w,\n/static/e695f1a48d28625cbba253860b1a47de/f41fb/avatar.jpg 112w","sizes":"(min-width: 112px) 112px, 100vw"},"sources":[{"srcSet":"/static/e695f1a48d28625cbba253860b1a47de/ee3b4/avatar.avif 28w,\n/static/e695f1a48d28625cbba253860b1a47de/4175e/avatar.avif 56w,\n/static/e695f1a48d28625cbba253860b1a47de/2110b/avatar.avif 112w","type":"image/avif","sizes":"(min-width: 112px) 112px, 100vw"},{"srcSet":"/static/e695f1a48d28625cbba253860b1a47de/629a0/avatar.webp 28w,\n/static/e695f1a48d28625cbba253860b1a47de/f8744/avatar.webp 56w,\n/static/e695f1a48d28625cbba253860b1a47de/65bf6/avatar.webp 112w","type":"image/webp","sizes":"(min-width: 112px) 112px, 100vw"}]},"width":112,"height":112}}}}},{"id":"9ef2a36b-7e13-55f3-84e7-524f0f5d4692","html":"

Codecave helped us to migrate from our old internal system to the new ones, writing documentation that we will re-use in the future and assuring no lack of service in the interim for our customers.

","frontmatter":{"company":"Specifi Europe Srl","location":"Venezia, Italy","person":"Fabio Tantaro","position":"General Manger","image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAQCBQb/xAAWAQEBAQAAAAAAAAAAAAAAAAACAQD/2gAMAwEAAhADEAAAAaIL4yu6KPG7MtCn/8QAGhAAAwEBAQEAAAAAAAAAAAAAAQIDBAARM//aAAgBAQABBQLZoaZJrnYH0blHALXlACvR3LfKd6TX/8QAFhEBAQEAAAAAAAAAAAAAAAAAARAR/9oACAEDAQE/AQMhP//EABURAQEAAAAAAAAAAAAAAAAAAAEQ/9oACAECAQE/AWM//8QAHBAAAgIDAQEAAAAAAAAAAAAAAAECERIxQSED/9oACAEBAAY/Aowht9FPPK9lkfo+Mw1ehJaLnJsXnSoy8P/EABsQAAMAAwEBAAAAAAAAAAAAAAABESExQVFh/9oACAEBAAE/IcWJnxnqZA9KkbyWJp9ILTob4aECiLMP1kXhNjDNtD//2gAMAwEAAgADAAAAEOfwQf/EABYRAQEBAAAAAAAAAAAAAAAAAAEQMf/aAAgBAwEBPxBiWYZ//8QAFxEBAQEBAAAAAAAAAAAAAAAAARARMf/aAAgBAgEBPxBImTon/8QAHRABAAICAwEBAAAAAAAAAAAAAQARITFRYXGBof/aAAgBAQABPxCjIt2BousHMXugCKJ3CO0Q+w/W4i8eRIhKtKcv5EDwsl4CiAinTiPDRGi0gocEtUsos15P/9k="},"images":{"fallback":{"src":"/static/0aa0acaae4a05477269e4460fe099907/f41fb/avatar.jpg","srcSet":"/static/0aa0acaae4a05477269e4460fe099907/80e21/avatar.jpg 28w,\n/static/0aa0acaae4a05477269e4460fe099907/2c33f/avatar.jpg 56w,\n/static/0aa0acaae4a05477269e4460fe099907/f41fb/avatar.jpg 112w,\n/static/0aa0acaae4a05477269e4460fe099907/0e51d/avatar.jpg 224w","sizes":"(min-width: 112px) 112px, 100vw"},"sources":[{"srcSet":"/static/0aa0acaae4a05477269e4460fe099907/ee3b4/avatar.avif 28w,\n/static/0aa0acaae4a05477269e4460fe099907/4175e/avatar.avif 56w,\n/static/0aa0acaae4a05477269e4460fe099907/2110b/avatar.avif 112w,\n/static/0aa0acaae4a05477269e4460fe099907/2898f/avatar.avif 224w","type":"image/avif","sizes":"(min-width: 112px) 112px, 100vw"},{"srcSet":"/static/0aa0acaae4a05477269e4460fe099907/629a0/avatar.webp 28w,\n/static/0aa0acaae4a05477269e4460fe099907/f8744/avatar.webp 56w,\n/static/0aa0acaae4a05477269e4460fe099907/65bf6/avatar.webp 112w,\n/static/0aa0acaae4a05477269e4460fe099907/f42a0/avatar.webp 224w","type":"image/webp","sizes":"(min-width: 112px) 112px, 100vw"}]},"width":112,"height":112}}}}},{"id":"5e0b0b30-7c59-5069-845c-34009bdf9a12","html":"

Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source.

\n

Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, \"Lorem ipsum dolor sit amet..\", comes from a line in section 1.10.32.

","frontmatter":{"company":"Google","location":"USA, Washington D.C.","person":"Ivanov P.A.","position":"CEO","image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAQBBf/EABUBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAHmXRqnVJP/xAAbEAACAgMBAAAAAAAAAAAAAAABAgMSAAQjIf/aAAgBAQABBQJl61QwmmbB72IjV/P/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAIAQIBAT8BjH//xAAcEAACAgIDAAAAAAAAAAAAAAAAAQIyIjFBUXH/2gAIAQEABj8CceiuhYsco8npU//EABoQAAIDAQEAAAAAAAAAAAAAAAABESExQVH/2gAIAQEAAT8hvnuhyu9RqKPBwW6iElW+znRn/9oADAMBAAIAAwAAABCEH//EABcRAQEBAQAAAAAAAAAAAAAAAAEAETH/2gAIAQMBAT8QTlrf/8QAFhEBAQEAAAAAAAAAAAAAAAAAAREA/9oACAECAQE/EFBunf/EABsQAQADAAMBAAAAAAAAAAAAAAEAESExQWFR/9oACAEBAAE/ENvWwV4xaUWWoIffGburdtnLHXQAvHTbi8Dn3lGsWgALpRP/2Q=="},"images":{"fallback":{"src":"/static/1653698f8fcf780cc3340eb9b946a2fc/a4582/avatar.jpg","srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/fc2b0/avatar.jpg 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/d4afa/avatar.jpg 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/a4582/avatar.jpg 150w","sizes":"(min-width: 150px) 150px, 100vw"},"sources":[{"srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/8d237/avatar.avif 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/2683f/avatar.avif 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/2a822/avatar.avif 150w","type":"image/avif","sizes":"(min-width: 150px) 150px, 100vw"},{"srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/9a1a2/avatar.webp 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/e0f0e/avatar.webp 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/b8b26/avatar.webp 150w","type":"image/webp","sizes":"(min-width: 150px) 150px, 100vw"}]},"width":150,"height":112.00000000000001}}}}},{"id":"69ef07d9-2e55-59e2-aeb7-af3c0fe1f12b","html":"

As a service company we wanted to create a website that would sum up all of our experiences gathered over the past 30 years.

\n

At the same time we wanted it to be dynamic, with a possibility to add new information over time, as we know that only dynamism makes a website more interesting to its visitors.

\n

We contacted CODECAVE, because we had a chance to collaborate with their CEO when he worked in an Italian IT company. Yaroslav guided us through all the stages of website creation, providing us a complete support. We would like to express our satisfaction with the service and the outcome.

","frontmatter":{"company":"Google","location":"USA, Washington D.C.","person":"Ivanov P.A.","position":"CEO","image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAQBBf/EABUBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAHmXRqnVJP/xAAbEAACAgMBAAAAAAAAAAAAAAABAgMSAAQjIf/aAAgBAQABBQJl61QwmmbB72IjV/P/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAIAQIBAT8BjH//xAAcEAACAgIDAAAAAAAAAAAAAAAAAQIyIjFBUXH/2gAIAQEABj8CceiuhYsco8npU//EABoQAAIDAQEAAAAAAAAAAAAAAAABESExQVH/2gAIAQEAAT8hvnuhyu9RqKPBwW6iElW+znRn/9oADAMBAAIAAwAAABCEH//EABcRAQEBAQAAAAAAAAAAAAAAAAEAETH/2gAIAQMBAT8QTlrf/8QAFhEBAQEAAAAAAAAAAAAAAAAAAREA/9oACAECAQE/EFBunf/EABsQAQADAAMBAAAAAAAAAAAAAAEAESExQWFR/9oACAEBAAE/ENvWwV4xaUWWoIffGburdtnLHXQAvHTbi8Dn3lGsWgALpRP/2Q=="},"images":{"fallback":{"src":"/static/1653698f8fcf780cc3340eb9b946a2fc/a4582/avatar.jpg","srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/fc2b0/avatar.jpg 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/d4afa/avatar.jpg 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/a4582/avatar.jpg 150w","sizes":"(min-width: 150px) 150px, 100vw"},"sources":[{"srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/8d237/avatar.avif 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/2683f/avatar.avif 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/2a822/avatar.avif 150w","type":"image/avif","sizes":"(min-width: 150px) 150px, 100vw"},{"srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/9a1a2/avatar.webp 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/e0f0e/avatar.webp 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/b8b26/avatar.webp 150w","type":"image/webp","sizes":"(min-width: 150px) 150px, 100vw"}]},"width":150,"height":112.00000000000001}}}}},{"id":"64c88e92-d833-580c-9746-78f9cbe7b770","html":"

Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, \"Lorem ipsum dolor sit amet..\", comes from a line in section 1.10.32.

","frontmatter":{"company":"Google","location":"USA, Washington D.C.","person":"Ivanov P.A.","position":"CEO","image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAQBBf/EABUBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAHmXRqnVJP/xAAbEAACAgMBAAAAAAAAAAAAAAABAgMSAAQjIf/aAAgBAQABBQJl61QwmmbB72IjV/P/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAIAQIBAT8BjH//xAAcEAACAgIDAAAAAAAAAAAAAAAAAQIyIjFBUXH/2gAIAQEABj8CceiuhYsco8npU//EABoQAAIDAQEAAAAAAAAAAAAAAAABESExQVH/2gAIAQEAAT8hvnuhyu9RqKPBwW6iElW+znRn/9oADAMBAAIAAwAAABCEH//EABcRAQEBAQAAAAAAAAAAAAAAAAEAETH/2gAIAQMBAT8QTlrf/8QAFhEBAQEAAAAAAAAAAAAAAAAAAREA/9oACAECAQE/EFBunf/EABsQAQADAAMBAAAAAAAAAAAAAAEAESExQWFR/9oACAEBAAE/ENvWwV4xaUWWoIffGburdtnLHXQAvHTbi8Dn3lGsWgALpRP/2Q=="},"images":{"fallback":{"src":"/static/1653698f8fcf780cc3340eb9b946a2fc/a4582/avatar.jpg","srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/fc2b0/avatar.jpg 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/d4afa/avatar.jpg 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/a4582/avatar.jpg 150w","sizes":"(min-width: 150px) 150px, 100vw"},"sources":[{"srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/8d237/avatar.avif 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/2683f/avatar.avif 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/2a822/avatar.avif 150w","type":"image/avif","sizes":"(min-width: 150px) 150px, 100vw"},{"srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/9a1a2/avatar.webp 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/e0f0e/avatar.webp 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/b8b26/avatar.webp 150w","type":"image/webp","sizes":"(min-width: 150px) 150px, 100vw"}]},"width":150,"height":112.00000000000001}}}}}]}}} \ No newline at end of file +{"data":{"allMarkdownRemark":{"nodes":[{"id":"34868568-9b89-5a5c-8ddc-1324153ab835","html":"

As a service company we wanted to create a website that would sum up all of our experiences gathered over the past 30 years.

\n

At the same time we wanted it to be dynamic, with a possibility to add new information over time, as we know that only dynamism makes a website more interesting to its visitors.

\n

We contacted CODECAVE, because we had a chance to collaborate with their CEO when he worked in an Italian IT company. Yaroslav guided us through all the stages of website creation, providing us a complete support. We would like to express our satisfaction with the service and the outcome.

","frontmatter":{"company":"Prima Consulting d.o.o.","location":"Čajetina, Serbia","person":"Roberto Assi","position":"CEO","image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAQDAQL/xAAXAQADAQAAAAAAAAAAAAAAAAACAwQB/9oADAMBAAIQAxAAAAHWSmMGWPCZnJCpWA0f/8QAGxAAAgIDAQAAAAAAAAAAAAAAAQIAAxESIzL/2gAIAQEAAQUCR0UXsmR5Q7LbNpVgi0cxcwH/xAAZEQABBQAAAAAAAAAAAAAAAAAAARARMUH/2gAIAQMBAT8BSiTG/8QAFhEAAwAAAAAAAAAAAAAAAAAAABAh/9oACAECAQE/ASv/xAAcEAACAgIDAAAAAAAAAAAAAAAAAREhAkEQMXH/2gAIAQEABj8CTyKdiIHPc8Oh5bk0/Uf/xAAbEAEAAwEAAwAAAAAAAAAAAAABABEhMUFRYf/aAAgBAQABPyFEdeZyMOQjtK6XDoUoz1tRwcMgwhi2Q/MoIOK+2k//2gAMAwEAAgADAAAAENfPfv/EABgRAAMBAQAAAAAAAAAAAAAAAAABETFB/9oACAEDAQE/EE4JHsrP/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAERMf/aAAgBAgEBPxC0aoWoiP/EABwQAQEBAQACAwAAAAAAAAAAAAERACExkYHR8P/aAAgBAQABPxCBO0KTGIlVQSOtKYe2KE0fJ0xaCRSyuCEqAJ8Ywu5GPE+8VVSlbD8Z4wnAPtv/2Q=="},"images":{"fallback":{"src":"/static/925f87351999aef81e93dfc5e7e378cb/f41fb/avatar.jpg","srcSet":"/static/925f87351999aef81e93dfc5e7e378cb/80e21/avatar.jpg 28w,\n/static/925f87351999aef81e93dfc5e7e378cb/2c33f/avatar.jpg 56w,\n/static/925f87351999aef81e93dfc5e7e378cb/f41fb/avatar.jpg 112w,\n/static/925f87351999aef81e93dfc5e7e378cb/0e51d/avatar.jpg 224w","sizes":"(min-width: 112px) 112px, 100vw"},"sources":[{"srcSet":"/static/925f87351999aef81e93dfc5e7e378cb/ee3b4/avatar.avif 28w,\n/static/925f87351999aef81e93dfc5e7e378cb/4175e/avatar.avif 56w,\n/static/925f87351999aef81e93dfc5e7e378cb/2110b/avatar.avif 112w,\n/static/925f87351999aef81e93dfc5e7e378cb/2898f/avatar.avif 224w","type":"image/avif","sizes":"(min-width: 112px) 112px, 100vw"},{"srcSet":"/static/925f87351999aef81e93dfc5e7e378cb/629a0/avatar.webp 28w,\n/static/925f87351999aef81e93dfc5e7e378cb/f8744/avatar.webp 56w,\n/static/925f87351999aef81e93dfc5e7e378cb/65bf6/avatar.webp 112w,\n/static/925f87351999aef81e93dfc5e7e378cb/f42a0/avatar.webp 224w","type":"image/webp","sizes":"(min-width: 112px) 112px, 100vw"}]},"width":112,"height":112}}}}},{"id":"9ef2a36b-7e13-55f3-84e7-524f0f5d4692","html":"

Codecave helped us to migrate from our old internal system to the new ones, writing documentation that we will re-use in the future and assuring no lack of service in the interim for our customers.

","frontmatter":{"company":"Specifi Europe Srl","location":"Venezia, Italy","person":"Fabio Tantaro","position":"General Manger","image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAQCBQb/xAAWAQEBAQAAAAAAAAAAAAAAAAACAQD/2gAMAwEAAhADEAAAAaIL4yu6KPG7MtCn/8QAGhAAAwEBAQEAAAAAAAAAAAAAAQIDBAARM//aAAgBAQABBQLZoaZJrnYH0blHALXlACvR3LfKd6TX/8QAFhEBAQEAAAAAAAAAAAAAAAAAARAR/9oACAEDAQE/AQMhP//EABURAQEAAAAAAAAAAAAAAAAAAAEQ/9oACAECAQE/AWM//8QAHBAAAgIDAQEAAAAAAAAAAAAAAAECERIxQSED/9oACAEBAAY/Aowht9FPPK9lkfo+Mw1ehJaLnJsXnSoy8P/EABsQAAMAAwEBAAAAAAAAAAAAAAABESExQVFh/9oACAEBAAE/IcWJnxnqZA9KkbyWJp9ILTob4aECiLMP1kXhNjDNtD//2gAMAwEAAgADAAAAEOfwQf/EABYRAQEBAAAAAAAAAAAAAAAAAAEQMf/aAAgBAwEBPxBiWYZ//8QAFxEBAQEBAAAAAAAAAAAAAAAAARARMf/aAAgBAgEBPxBImTon/8QAHRABAAICAwEBAAAAAAAAAAAAAQARITFRYXGBof/aAAgBAQABPxCjIt2BousHMXugCKJ3CO0Q+w/W4i8eRIhKtKcv5EDwsl4CiAinTiPDRGi0gocEtUsos15P/9k="},"images":{"fallback":{"src":"/static/0aa0acaae4a05477269e4460fe099907/f41fb/avatar.jpg","srcSet":"/static/0aa0acaae4a05477269e4460fe099907/80e21/avatar.jpg 28w,\n/static/0aa0acaae4a05477269e4460fe099907/2c33f/avatar.jpg 56w,\n/static/0aa0acaae4a05477269e4460fe099907/f41fb/avatar.jpg 112w,\n/static/0aa0acaae4a05477269e4460fe099907/0e51d/avatar.jpg 224w","sizes":"(min-width: 112px) 112px, 100vw"},"sources":[{"srcSet":"/static/0aa0acaae4a05477269e4460fe099907/ee3b4/avatar.avif 28w,\n/static/0aa0acaae4a05477269e4460fe099907/4175e/avatar.avif 56w,\n/static/0aa0acaae4a05477269e4460fe099907/2110b/avatar.avif 112w,\n/static/0aa0acaae4a05477269e4460fe099907/2898f/avatar.avif 224w","type":"image/avif","sizes":"(min-width: 112px) 112px, 100vw"},{"srcSet":"/static/0aa0acaae4a05477269e4460fe099907/629a0/avatar.webp 28w,\n/static/0aa0acaae4a05477269e4460fe099907/f8744/avatar.webp 56w,\n/static/0aa0acaae4a05477269e4460fe099907/65bf6/avatar.webp 112w,\n/static/0aa0acaae4a05477269e4460fe099907/f42a0/avatar.webp 224w","type":"image/webp","sizes":"(min-width: 112px) 112px, 100vw"}]},"width":112,"height":112}}}}},{"id":"07793b04-f229-5c7b-91cb-1a34ea754692","html":"

During our collaboration CodеCave have proven themselves to be a reliable and responsible company, which quickly and qualitatively solves all the tasks assigned to them.

\n

We had a very tight deadlines, however CodeCave team have managed to create a bleeding edge web presentation for us. In the process they always paid great attention all our needs.

","frontmatter":{"company":"Soytex LLC","location":"Dobele, Latvia","person":"SIA \"Agrolats Group\"","position":"CEO","image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAMBBP/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME/9oADAMBAAIQAxAAAAHhvO+fXyNRbAAf/8QAGxAAAQUBAQAAAAAAAAAAAAAAAQACAxASITH/2gAIAQEAAQUCHTLG1lDCOHo+3//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABwQAQACAQUAAAAAAAAAAAAAAAEAEQIQEiAhkf/aAAgBAQAGPwIIbcr07XyXYcf/xAAdEAEAAQQDAQAAAAAAAAAAAAABEQAhMVEQIEFh/9oACAEBAAE/IT9RiryCzkjHBgJnRS0hdBFAEDJ49P/aAAwDAQACAAMAAAAQ9PDD/8QAFhEBAQEAAAAAAAAAAAAAAAAAASAh/9oACAEDAQE/EF0j/8QAFREBAQAAAAAAAAAAAAAAAAAAIEH/2gAIAQIBAT8Qg//EAB4QAQEAAQMFAAAAAAAAAAAAAAERABAhUSBBcZGx/9oACAEBAAE/EK4yVcVmMNlC7BR9t0khXeg93CqGEBt37i+MkaVOQ56P/9k="},"images":{"fallback":{"src":"/static/e695f1a48d28625cbba253860b1a47de/f41fb/avatar.jpg","srcSet":"/static/e695f1a48d28625cbba253860b1a47de/80e21/avatar.jpg 28w,\n/static/e695f1a48d28625cbba253860b1a47de/2c33f/avatar.jpg 56w,\n/static/e695f1a48d28625cbba253860b1a47de/f41fb/avatar.jpg 112w","sizes":"(min-width: 112px) 112px, 100vw"},"sources":[{"srcSet":"/static/e695f1a48d28625cbba253860b1a47de/ee3b4/avatar.avif 28w,\n/static/e695f1a48d28625cbba253860b1a47de/4175e/avatar.avif 56w,\n/static/e695f1a48d28625cbba253860b1a47de/2110b/avatar.avif 112w","type":"image/avif","sizes":"(min-width: 112px) 112px, 100vw"},{"srcSet":"/static/e695f1a48d28625cbba253860b1a47de/629a0/avatar.webp 28w,\n/static/e695f1a48d28625cbba253860b1a47de/f8744/avatar.webp 56w,\n/static/e695f1a48d28625cbba253860b1a47de/65bf6/avatar.webp 112w","type":"image/webp","sizes":"(min-width: 112px) 112px, 100vw"}]},"width":112,"height":112}}}}},{"id":"5e0b0b30-7c59-5069-845c-34009bdf9a12","html":"

Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source.

\n

Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, \"Lorem ipsum dolor sit amet..\", comes from a line in section 1.10.32.

","frontmatter":{"company":"Google","location":"USA, Washington D.C.","person":"Ivanov P.A.","position":"CEO","image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAQBBf/EABUBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAHmXRqnVJP/xAAbEAACAgMBAAAAAAAAAAAAAAABAgMSAAQjIf/aAAgBAQABBQJl61QwmmbB72IjV/P/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAIAQIBAT8BjH//xAAcEAACAgIDAAAAAAAAAAAAAAAAAQIyIjFBUXH/2gAIAQEABj8CceiuhYsco8npU//EABoQAAIDAQEAAAAAAAAAAAAAAAABESExQVH/2gAIAQEAAT8hvnuhyu9RqKPBwW6iElW+znRn/9oADAMBAAIAAwAAABCEH//EABcRAQEBAQAAAAAAAAAAAAAAAAEAETH/2gAIAQMBAT8QTlrf/8QAFhEBAQEAAAAAAAAAAAAAAAAAAREA/9oACAECAQE/EFBunf/EABsQAQADAAMBAAAAAAAAAAAAAAEAESExQWFR/9oACAEBAAE/ENvWwV4xaUWWoIffGburdtnLHXQAvHTbi8Dn3lGsWgALpRP/2Q=="},"images":{"fallback":{"src":"/static/1653698f8fcf780cc3340eb9b946a2fc/a4582/avatar.jpg","srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/fc2b0/avatar.jpg 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/d4afa/avatar.jpg 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/a4582/avatar.jpg 150w","sizes":"(min-width: 150px) 150px, 100vw"},"sources":[{"srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/8d237/avatar.avif 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/2683f/avatar.avif 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/2a822/avatar.avif 150w","type":"image/avif","sizes":"(min-width: 150px) 150px, 100vw"},{"srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/9a1a2/avatar.webp 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/e0f0e/avatar.webp 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/b8b26/avatar.webp 150w","type":"image/webp","sizes":"(min-width: 150px) 150px, 100vw"}]},"width":150,"height":112.00000000000001}}}}},{"id":"64c88e92-d833-580c-9746-78f9cbe7b770","html":"

Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, \"Lorem ipsum dolor sit amet..\", comes from a line in section 1.10.32.

","frontmatter":{"company":"Google","location":"USA, Washington D.C.","person":"Ivanov P.A.","position":"CEO","image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAQBBf/EABUBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAHmXRqnVJP/xAAbEAACAgMBAAAAAAAAAAAAAAABAgMSAAQjIf/aAAgBAQABBQJl61QwmmbB72IjV/P/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAIAQIBAT8BjH//xAAcEAACAgIDAAAAAAAAAAAAAAAAAQIyIjFBUXH/2gAIAQEABj8CceiuhYsco8npU//EABoQAAIDAQEAAAAAAAAAAAAAAAABESExQVH/2gAIAQEAAT8hvnuhyu9RqKPBwW6iElW+znRn/9oADAMBAAIAAwAAABCEH//EABcRAQEBAQAAAAAAAAAAAAAAAAEAETH/2gAIAQMBAT8QTlrf/8QAFhEBAQEAAAAAAAAAAAAAAAAAAREA/9oACAECAQE/EFBunf/EABsQAQADAAMBAAAAAAAAAAAAAAEAESExQWFR/9oACAEBAAE/ENvWwV4xaUWWoIffGburdtnLHXQAvHTbi8Dn3lGsWgALpRP/2Q=="},"images":{"fallback":{"src":"/static/1653698f8fcf780cc3340eb9b946a2fc/a4582/avatar.jpg","srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/fc2b0/avatar.jpg 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/d4afa/avatar.jpg 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/a4582/avatar.jpg 150w","sizes":"(min-width: 150px) 150px, 100vw"},"sources":[{"srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/8d237/avatar.avif 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/2683f/avatar.avif 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/2a822/avatar.avif 150w","type":"image/avif","sizes":"(min-width: 150px) 150px, 100vw"},{"srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/9a1a2/avatar.webp 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/e0f0e/avatar.webp 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/b8b26/avatar.webp 150w","type":"image/webp","sizes":"(min-width: 150px) 150px, 100vw"}]},"width":150,"height":112.00000000000001}}}}},{"id":"69ef07d9-2e55-59e2-aeb7-af3c0fe1f12b","html":"

As a service company we wanted to create a website that would sum up all of our experiences gathered over the past 30 years.

\n

At the same time we wanted it to be dynamic, with a possibility to add new information over time, as we know that only dynamism makes a website more interesting to its visitors.

\n

We contacted CODECAVE, because we had a chance to collaborate with their CEO when he worked in an Italian IT company. Yaroslav guided us through all the stages of website creation, providing us a complete support. We would like to express our satisfaction with the service and the outcome.

","frontmatter":{"company":"Google","location":"USA, Washington D.C.","person":"Ivanov P.A.","position":"CEO","image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAQBBf/EABUBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAHmXRqnVJP/xAAbEAACAgMBAAAAAAAAAAAAAAABAgMSAAQjIf/aAAgBAQABBQJl61QwmmbB72IjV/P/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAIAQIBAT8BjH//xAAcEAACAgIDAAAAAAAAAAAAAAAAAQIyIjFBUXH/2gAIAQEABj8CceiuhYsco8npU//EABoQAAIDAQEAAAAAAAAAAAAAAAABESExQVH/2gAIAQEAAT8hvnuhyu9RqKPBwW6iElW+znRn/9oADAMBAAIAAwAAABCEH//EABcRAQEBAQAAAAAAAAAAAAAAAAEAETH/2gAIAQMBAT8QTlrf/8QAFhEBAQEAAAAAAAAAAAAAAAAAAREA/9oACAECAQE/EFBunf/EABsQAQADAAMBAAAAAAAAAAAAAAEAESExQWFR/9oACAEBAAE/ENvWwV4xaUWWoIffGburdtnLHXQAvHTbi8Dn3lGsWgALpRP/2Q=="},"images":{"fallback":{"src":"/static/1653698f8fcf780cc3340eb9b946a2fc/a4582/avatar.jpg","srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/fc2b0/avatar.jpg 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/d4afa/avatar.jpg 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/a4582/avatar.jpg 150w","sizes":"(min-width: 150px) 150px, 100vw"},"sources":[{"srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/8d237/avatar.avif 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/2683f/avatar.avif 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/2a822/avatar.avif 150w","type":"image/avif","sizes":"(min-width: 150px) 150px, 100vw"},{"srcSet":"/static/1653698f8fcf780cc3340eb9b946a2fc/9a1a2/avatar.webp 38w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/e0f0e/avatar.webp 75w,\n/static/1653698f8fcf780cc3340eb9b946a2fc/b8b26/avatar.webp 150w","type":"image/webp","sizes":"(min-width: 150px) 150px, 100vw"}]},"width":150,"height":112.00000000000001}}}}}]}}} \ No newline at end of file diff --git a/projects/2df68c09-ccd8-5c98-8c7b-df6ed596ab7b/index.html b/projects/2df68c09-ccd8-5c98-8c7b-df6ed596ab7b/index.html index e3865e36..7072ab47 100644 --- a/projects/2df68c09-ccd8-5c98-8c7b-df6ed596ab7b/index.html +++ b/projects/2df68c09-ccd8-5c98-8c7b-df6ed596ab7b/index.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/444bdbbc-cac8-564e-99a5-aef7520a42fb/index.html b/projects/444bdbbc-cac8-564e-99a5-aef7520a42fb/index.html index d134526c..dc7428a4 100644 --- a/projects/444bdbbc-cac8-564e-99a5-aef7520a42fb/index.html +++ b/projects/444bdbbc-cac8-564e-99a5-aef7520a42fb/index.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/641cda9e-7e00-5704-9d96-9c89f2b1b76f/index.html b/projects/641cda9e-7e00-5704-9d96-9c89f2b1b76f/index.html index 64729767..5ceae294 100644 --- a/projects/641cda9e-7e00-5704-9d96-9c89f2b1b76f/index.html +++ b/projects/641cda9e-7e00-5704-9d96-9c89f2b1b76f/index.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/bcb90cf1-0e2a-5f23-a891-0c2ed8948cbc/index.html b/projects/bcb90cf1-0e2a-5f23-a891-0c2ed8948cbc/index.html index e15b917d..22083e2f 100644 --- a/projects/bcb90cf1-0e2a-5f23-a891-0c2ed8948cbc/index.html +++ b/projects/bcb90cf1-0e2a-5f23-a891-0c2ed8948cbc/index.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/index.html b/projects/index.html index 9bdd3505..8c4a0399 100644 --- a/projects/index.html +++ b/projects/index.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/page/1/index.html b/projects/page/1/index.html index 98538010..7b84fa89 100644 --- a/projects/page/1/index.html +++ b/projects/page/1/index.html @@ -5,6 +5,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/services/index.html b/services/index.html index 6b36d908..5b012b69 100644 --- a/services/index.html +++ b/services/index.html @@ -9,6 +9,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/webpack-runtime-462cd70edcbbeae08639.js b/webpack-runtime-462cd70edcbbeae08639.js new file mode 100644 index 00000000..fcb51dd8 --- /dev/null +++ b/webpack-runtime-462cd70edcbbeae08639.js @@ -0,0 +1,2 @@ +!function(){"use strict";var e,t,n,r,o,c={},a={};function f(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}};return c[e](n,n.exports,f),n.exports}f.m=c,e=[],f.O=function(t,n,r,o){if(!n){var c=1/0;for(s=0;s=o)&&Object.keys(f.O).every((function(e){return f.O[e](n[u])}))?n.splice(u--,1):(a=!1,o0&&e[s-1][2]>o;s--)e[s]=e[s-1];e[s]=[n,r,o]},f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);f.r(o);var c={};t=t||[null,n({}),n([]),n(n)];for(var a=2&r&&e;"object"==typeof a&&!~t.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((function(t){c[t]=function(){return e[t]}}));return c.default=function(){return e},f.d(o,c),o},f.d=function(e,t){for(var n in t)f.o(t,n)&&!f.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce((function(t,n){return f.f[n](e,t),t}),[]))},f.u=function(e){return({147:"component---src-pages-templates-project-tsx",218:"component---src-pages-404-tsx",255:"3a56c59e0e6796de92370eeb161aeff352abc670",311:"component---src-pages-workflow-tsx",354:"component---src-pages-templates-post-tsx",517:"6bc48222ba83afa56babedfa3f8ecf0aa4bc5b28",650:"component---src-pages-templates-projects-tsx",691:"component---src-pages-index-tsx",858:"component---src-pages-services-tsx",926:"component---src-pages-templates-blog-tsx"}[e]||e)+"-"+{147:"808e529df29d8bdea686",218:"985104a1d001afc81f25",255:"dfc379729c8f684736a7",311:"71ff73d9d1233d63de8e",354:"7f7e2c93fcb41ce4f82f",475:"bd06cc7edfc322d83276",517:"a5360fdffd7950e5762f",650:"75dd824378dedee3ee1b",691:"51c4d6c78f0455be8e64",731:"9eed37b9b450ac75eb5a",843:"82fd7f798c0dd9a6f67b",858:"004b5c906bc78a1f96ae",926:"2739ab3251f03f4eb07f"}[e]+".js"},f.miniCssF=function(e){return"styles.2277176ca8a8c85c6711.css"},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="code-cave:",f.l=function(e,t,n,c){if(r[e])r[e].push(t);else{var a,u;if(void 0!==n)for(var i=document.getElementsByTagName("script"),s=0;s 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"code-cave:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"147\":\"component---src-pages-templates-project-tsx\",\"218\":\"component---src-pages-404-tsx\",\"255\":\"3a56c59e0e6796de92370eeb161aeff352abc670\",\"311\":\"component---src-pages-workflow-tsx\",\"354\":\"component---src-pages-templates-post-tsx\",\"517\":\"6bc48222ba83afa56babedfa3f8ecf0aa4bc5b28\",\"650\":\"component---src-pages-templates-projects-tsx\",\"691\":\"component---src-pages-index-tsx\",\"858\":\"component---src-pages-services-tsx\",\"926\":\"component---src-pages-templates-blog-tsx\"}[chunkId] || chunkId) + \"-\" + {\"147\":\"808e529df29d8bdea686\",\"218\":\"985104a1d001afc81f25\",\"255\":\"dfc379729c8f684736a7\",\"311\":\"66c85385336912fb7c37\",\"354\":\"f2b5783ab45f7133a802\",\"475\":\"bd06cc7edfc322d83276\",\"517\":\"a5360fdffd7950e5762f\",\"650\":\"bc2345c3e66bde0622dc\",\"691\":\"8f11132d55ccda45c143\",\"731\":\"9eed37b9b450ac75eb5a\",\"843\":\"82fd7f798c0dd9a6f67b\",\"858\":\"ad089d9c65e0d5421453\",\"926\":\"3e928f3e8cb34f3b7e4c\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"2277176ca8a8c85c6711\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkcode_cave\"] = self[\"webpackChunkcode_cave\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","__proto__","t","value","mode","this","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","prop","prototype","hasOwnProperty","call","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","p","b","baseURI","self","location","href","installedChunks","installedChunkData","test","promise","resolve","reject","error","Error","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","id","chunkLoadingGlobal"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"webpack-runtime-462cd70edcbbeae08639.js","mappings":"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","sources":["webpack://code-cave/webpack/runtime/chunk loaded","webpack://code-cave/webpack/runtime/create fake namespace object","webpack://code-cave/webpack/runtime/load script","webpack://code-cave/webpack/bootstrap","webpack://code-cave/webpack/runtime/compat get default export","webpack://code-cave/webpack/runtime/define property getters","webpack://code-cave/webpack/runtime/ensure chunk","webpack://code-cave/webpack/runtime/get javascript chunk filename","webpack://code-cave/webpack/runtime/get mini-css chunk filename","webpack://code-cave/webpack/runtime/global","webpack://code-cave/webpack/runtime/hasOwnProperty shorthand","webpack://code-cave/webpack/runtime/make namespace object","webpack://code-cave/webpack/runtime/publicPath","webpack://code-cave/webpack/runtime/jsonp chunk loading"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"code-cave:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"147\":\"component---src-pages-templates-project-tsx\",\"218\":\"component---src-pages-404-tsx\",\"255\":\"3a56c59e0e6796de92370eeb161aeff352abc670\",\"311\":\"component---src-pages-workflow-tsx\",\"354\":\"component---src-pages-templates-post-tsx\",\"517\":\"6bc48222ba83afa56babedfa3f8ecf0aa4bc5b28\",\"650\":\"component---src-pages-templates-projects-tsx\",\"691\":\"component---src-pages-index-tsx\",\"858\":\"component---src-pages-services-tsx\",\"926\":\"component---src-pages-templates-blog-tsx\"}[chunkId] || chunkId) + \"-\" + {\"147\":\"808e529df29d8bdea686\",\"218\":\"985104a1d001afc81f25\",\"255\":\"dfc379729c8f684736a7\",\"311\":\"71ff73d9d1233d63de8e\",\"354\":\"7f7e2c93fcb41ce4f82f\",\"475\":\"bd06cc7edfc322d83276\",\"517\":\"a5360fdffd7950e5762f\",\"650\":\"75dd824378dedee3ee1b\",\"691\":\"51c4d6c78f0455be8e64\",\"731\":\"9eed37b9b450ac75eb5a\",\"843\":\"82fd7f798c0dd9a6f67b\",\"858\":\"004b5c906bc78a1f96ae\",\"926\":\"2739ab3251f03f4eb07f\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"2277176ca8a8c85c6711\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkcode_cave\"] = self[\"webpackChunkcode_cave\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","__proto__","t","value","mode","this","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","prop","prototype","hasOwnProperty","call","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","p","b","baseURI","self","location","href","installedChunks","installedChunkData","test","promise","resolve","reject","error","Error","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","id","chunkLoadingGlobal"],"sourceRoot":""} \ No newline at end of file diff --git a/webpack-runtime-9d58aaf54df1d848a0ab.js b/webpack-runtime-9d58aaf54df1d848a0ab.js deleted file mode 100644 index 8e2ecc69..00000000 --- a/webpack-runtime-9d58aaf54df1d848a0ab.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(){"use strict";var e,t,n,r,o,c={},a={};function u(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}};return c[e](n,n.exports,u),n.exports}u.m=c,e=[],u.O=function(t,n,r,o){if(!n){var c=1/0;for(s=0;s=o)&&Object.keys(u.O).every((function(e){return u.O[e](n[f])}))?n.splice(f--,1):(a=!1,o0&&e[s-1][2]>o;s--)e[s]=e[s-1];e[s]=[n,r,o]},u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},u.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);u.r(o);var c={};t=t||[null,n({}),n([]),n(n)];for(var a=2&r&&e;"object"==typeof a&&!~t.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((function(t){c[t]=function(){return e[t]}}));return c.default=function(){return e},u.d(o,c),o},u.d=function(e,t){for(var n in t)u.o(t,n)&&!u.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},u.f={},u.e=function(e){return Promise.all(Object.keys(u.f).reduce((function(t,n){return u.f[n](e,t),t}),[]))},u.u=function(e){return({147:"component---src-pages-templates-project-tsx",218:"component---src-pages-404-tsx",255:"3a56c59e0e6796de92370eeb161aeff352abc670",311:"component---src-pages-workflow-tsx",354:"component---src-pages-templates-post-tsx",517:"6bc48222ba83afa56babedfa3f8ecf0aa4bc5b28",650:"component---src-pages-templates-projects-tsx",691:"component---src-pages-index-tsx",858:"component---src-pages-services-tsx",926:"component---src-pages-templates-blog-tsx"}[e]||e)+"-"+{147:"808e529df29d8bdea686",218:"985104a1d001afc81f25",255:"dfc379729c8f684736a7",311:"66c85385336912fb7c37",354:"f2b5783ab45f7133a802",475:"bd06cc7edfc322d83276",517:"a5360fdffd7950e5762f",650:"bc2345c3e66bde0622dc",691:"8f11132d55ccda45c143",731:"9eed37b9b450ac75eb5a",843:"82fd7f798c0dd9a6f67b",858:"ad089d9c65e0d5421453",926:"3e928f3e8cb34f3b7e4c"}[e]+".js"},u.miniCssF=function(e){return"styles.2277176ca8a8c85c6711.css"},u.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="code-cave:",u.l=function(e,t,n,c){if(r[e])r[e].push(t);else{var a,f;if(void 0!==n)for(var i=document.getElementsByTagName("script"),s=0;sCodeCave Workflow

HOW & WHY

SOLID REASONS TO CHOOSE US TO GO THROUGH APP DEV PROCESS

1

Discovering logo

Discovering

Tell us more about your business on a discovery call. We’ll discuss your project requirements, success criteria, timescale, budget and required skill sets to see if we can help.

2

Brainstorming logo

Brainstorming

Using first-step information we'll take a deep dive into your target audience, needs and challenges of your business, customers, and desired technology.

3

Defining logo

Defining

We’ll quickly define your project roadmap, select the right tools and technologies. We’ll assemble your team and assign you a PM.

4

Proposition logo

Proposition

Complete solution for your project will be proposed as soon as possible. Every effort will be made to reach an agreement on all issues.

5

Development logo

Development

Once we have a contract, development process starts immediately. Our high skilled team definitelly will meet all the project's goals and wrap it in a reliable easily maintained solution.

6

Launch logo

Launch

Congratulations! Successfully released product and non-broken deadlines are irrefutable evidence of your right desicion to choose CodeCave as your partner.

7

Maintenance logo

Maintenance

The product won't be abandoned, we'll provide you long term maintenance support. And that's the main reason why we're highly intrested in clear code, agile and scalable solution.

WHY US

Quality

We striving for the best achievable quality in our work

Relationships

We communicate honestly and openly to build trust and respect in a relationships with our customers

Improvements

We foster a work environment that inspires professionals to continuously improve products throughout it's lifecycle

Flexibility

We're ready to face new challenges at any stage of the project

Responsibility

We care for all the projects as if they were our own

Advancement

We continuously track the latest development trends and are always prepared to apply advanced technologies

+*/*,:after,:before{border:0 solid}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1440px){.container{max-width:1440px}}@media (min-width:1900px){.container{max-width:1900px}}@media (min-width:2200px){.container{max-width:2200px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-y-0{bottom:0;top:0}.-bottom-2{bottom:-.5rem}.-right-6{right:-1.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-\[5\%\]{bottom:5%}.left-0{left:0}.left-1\/2{left:50%}.left-6{left:1.5rem}.right-0{right:0}.right-6{right:1.5rem}.right-\[2\%\]{right:2%}.top-0{top:0}.top-1\/2{top:50%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[1\]{z-index:1}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-0{margin-left:0;margin-right:0}.mx-12{margin-left:3rem;margin-right:3rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-\[-1px\]{margin-left:-1px;margin-right:-1px}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-bottom:2.5rem;margin-top:2.5rem}.my-16{margin-bottom:4rem;margin-top:4rem}.my-20{margin-bottom:5rem;margin-top:5rem}.mb-12{margin-bottom:3rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-6{margin-right:1.5rem}.mr-7{margin-right:1.75rem}.mt-16{margin-top:4rem}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-0{height:0}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-136{height:34rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-160{height:40rem}.h-2\/3{height:66.666667%}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-32{height:8rem}.h-36{height:9rem}.h-8{height:2rem}.h-96{height:24rem}.h-full{height:100%}.h-min{height:-moz-min-content;height:min-content}.min-h-160{min-height:40rem}.min-h-96{min-height:24rem}.min-h-\[8\.5rem\]{min-height:8.5rem}.w-0{width:0}.w-1{width:.25rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2\/3{width:66.666667%}.w-32{width:8rem}.w-40{width:10rem}.w-56{width:14rem}.w-64{width:16rem}.w-8{width:2rem}.w-\[100\%\]{width:100%}.w-\[352px\]{width:352px}.w-\[85\%\]{width:85%}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-10{min-width:2.5rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.basis-1\/2{flex-basis:50%}.basis-1\/3{flex-basis:33.333333%}.basis-1\/4{flex-basis:25%}.basis-1\/5{flex-basis:20%}.basis-1\/6{flex-basis:16.666667%}.basis-4\/6{flex-basis:66.666667%}.basis-5\/12{flex-basis:41.666667%}.basis-\[48\%\]{flex-basis:48%}.basis-full{flex-basis:100%}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-\[120\%\]{--tw-translate-y:-120%}.-translate-y-\[120\%\],.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-full{--tw-translate-y:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.columns-1{-moz-columns:1;column-count:1}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.content-center{align-content:center}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[3px\]{border-width:3px}.border-b-2{border-bottom-width:2px}.border-b-4,.border-b-\[4px\]{border-bottom-width:4px}.border-r-8{border-right-width:8px}.border-t-4{border-top-width:4px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-main-10{--tw-border-opacity:1;border-color:rgb(143 143 143/var(--tw-border-opacity))}.border-main-100{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}.border-secondary-100{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-secondary-30{--tw-border-opacity:1;border-color:rgb(231 231 231/var(--tw-border-opacity))}.bg-main-100{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-secondary-10{--tw-bg-opacity:1;background-color:rgb(209 209 209/var(--tw-bg-opacity))}.bg-secondary-100{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-secondary-70{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.fill-main-100{fill:#000}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-14{padding-bottom:3.5rem;padding-top:3.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-32{padding-bottom:8rem;padding-top:8rem}.py-48{padding-bottom:12rem;padding-top:12rem}.pb-10{padding-bottom:2.5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-9{padding-bottom:2.25rem}.pl-4{padding-left:1rem}.pr-11{padding-right:2.75rem}.pr-16{padding-right:4rem}.pr-8{padding-right:2rem}.pt-14{padding-top:3.5rem}.pt-2{padding-top:.5rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-end{text-align:end}.font-\[\'Rubik_Glitch\'\]{font-family:Rubik Glitch}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-7{line-height:1.75rem}.leading-\[52px\]{line-height:52px}.text-main-10{--tw-text-opacity:1;color:rgb(143 143 143/var(--tw-text-opacity))}.text-main-100{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-main-70{--tw-text-opacity:1;color:rgb(61 61 61/var(--tw-text-opacity))}.text-secondary-10{--tw-text-opacity:1;color:rgb(209 209 209/var(--tw-text-opacity))}.text-secondary-100{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-secondary-30{--tw-text-opacity:1;color:rgb(231 231 231/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-main-100{--tw-shadow-color:#000;--tw-shadow:var(--tw-shadow-colored)}.brightness-0{--tw-brightness:brightness(0)}.brightness-0,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-linear{transition-timing-function:linear}.after\:h-1:after{content:var(--tw-content);height:.25rem}.after\:h-1\.5:after{content:var(--tw-content);height:.375rem}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:bg-main-10:after{--tw-bg-opacity:1;background-color:rgb(143 143 143/var(--tw-bg-opacity));content:var(--tw-content)}.after\:bg-main-100:after{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));content:var(--tw-content)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:0}.first\:mt-36:first-child{margin-top:9rem}.hover\:bg-main-100:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.hover\:bg-main-70:hover{--tw-bg-opacity:1;background-color:rgb(61 61 61/var(--tw-bg-opacity))}.hover\:bg-secondary-100:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:bg-secondary-30:hover{--tw-bg-opacity:1;background-color:rgb(231 231 231/var(--tw-bg-opacity))}.hover\:bg-secondary-70:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:text-main-10:hover{--tw-text-opacity:1;color:rgb(143 143 143/var(--tw-text-opacity))}.hover\:text-secondary-10:hover{--tw-text-opacity:1;color:rgb(209 209 209/var(--tw-text-opacity))}.hover\:text-secondary-100:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:outline-main-100:hover{outline-color:#000}.hover\:outline-secondary-100:hover{outline-color:#fff}.hover\:invert:hover{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.disabled\:opacity-30:disabled{opacity:.3}@media (prefers-color-scheme:dark){.dark\:text-secondary-10{--tw-text-opacity:1;color:rgb(209 209 209/var(--tw-text-opacity))}}@media (min-width:640px){.sm\:mb-0{margin-bottom:0}.sm\:mt-0{margin-top:0}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:basis-2\/5{flex-basis:40%}.sm\:basis-3\/5{flex-basis:60%}.sm\:basis-5\/6{flex-basis:83.333333%}.sm\:flex-row{flex-direction:row}.sm\:items-stretch{align-items:stretch}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:pb-10{padding-bottom:2.5rem}.sm\:text-start{text-align:start}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:last\:hidden:last-child{display:none}}@media (min-width:768px){.md\:left-auto{left:auto}.md\:top-auto{top:auto}.md\:z-0{z-index:0}.md\:m-12{margin:3rem}.md\:-my-2{margin-bottom:-.5rem;margin-top:-.5rem}.md\:mx-3{margin-left:.75rem;margin-right:.75rem}.md\:-ms-6{margin-inline-start:-1.5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:w-1\/2{width:50%}.md\:w-\[400px\]{width:400px}.md\:basis-1\/3{flex-basis:33.333333%}.md\:basis-1\/4{flex-basis:25%}.md\:basis-3\/4{flex-basis:75%}.md\:basis-4\/6{flex-basis:66.666667%}.md\:basis-5\/6{flex-basis:83.333333%}.md\:basis-\[31\%\]{flex-basis:31%}.md\:translate-x-full{--tw-translate-x:100%}.md\:translate-x-full,.md\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:translate-y-0{--tw-translate-y:0px}.md\:columns-2{-moz-columns:2;column-count:2}.md\:flex-row{flex-direction:row}.md\:p-12{padding:3rem}.md\:px-40{padding-left:10rem;padding-right:10rem}.md\:px-7{padding-left:1.75rem;padding-right:1.75rem}.md\:py-24{padding-bottom:6rem;padding-top:6rem}.md\:pb-0{padding-bottom:0}.md\:pb-10{padding-bottom:2.5rem}.md\:pb-16{padding-bottom:4rem}.md\:pt-10{padding-top:2.5rem}.md\:text-start{text-align:start}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:leading-10{line-height:2.5rem}.md\:first\:mt-0:first-child{margin-top:0}.md\:last\:mb-0:last-child{margin-bottom:0}.md\:last\:flex:last-child{display:flex}.md\:odd\:ms-6:nth-child(odd){-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.md\:odd\:flex-row-reverse:nth-child(odd){flex-direction:row-reverse}.md\:even\:translate-x-full:nth-child(2n){--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-full{height:100%}.lg\:w-1\/2{width:50%}.lg\:basis-1\/2{flex-basis:50%}.lg\:basis-2\/5{flex-basis:40%}.lg\:basis-4\/6{flex-basis:66.666667%}.lg\:flex-row{flex-direction:row}.lg\:justify-between{justify-content:space-between}.lg\:py-0{padding-bottom:0;padding-top:0}.lg\:text-start{text-align:start}}@media (min-width:1280px){.xl\:w-\[480px\]{width:480px}.xl\:basis-1\/3{flex-basis:33.333333%}.xl\:basis-2\/3{flex-basis:66.666667%}.xl\:basis-2\/5{flex-basis:40%}}@media (min-width:1900px){.\33xl\:w-\[576px\]{width:576px}.\33xl\:basis-1\/3{flex-basis:33.333333%}}@media (min-width:2200px){.\34xl\:basis-1\/4{flex-basis:25%}}*{border:0;margin:0;padding:0}*,:after,:before{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}:active,:focus,a:active,a:focus{outline:none}aside,footer,header,nav{display:block}body,html{-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-size:100%;font-size:14px;line-height:1;min-height:100vh}button,input,textarea{font-family:inherit}input::-ms-clear{display:none}button{cursor:pointer}button::-moz-focus-inner{border:0;padding:0}a,a:hover,a:visited{text-decoration:none}ul li{list-style:none}img{vertical-align:top}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:400}*{font-family:Urbanist,Helvetica,Arial,sans-serif}div.single-post h3{font-size:1.875rem;font-weight:600;line-height:2.25rem;padding-bottom:2rem}div.single-post p{padding-bottom:3rem;text-align:justify;text-indent:2.5rem}div.single-post h4,div.single-post p{font-size:1.5rem;font-weight:500;line-height:2rem}div.single-post ul{padding-bottom:3rem;padding-left:1rem}div.single-post ul li{list-style-position:inside;list-style-type:disc}div.single-post ol{padding-bottom:.5rem;padding-left:1rem}div.single-post ol li{list-style-position:inside;list-style-type:decimal}div.single-post span.gatsby-resp-image-wrapper{margin:1.5rem!important;width:100%!important}div.single-post span.gatsby-resp-image-wrapper:nth-child(odd){float:left!important;margin-left:0!important}div.single-post span.gatsby-resp-image-wrapper:nth-child(2n){float:right!important;margin-right:0!important}@media (min-width:1024px){div.single-post span.gatsby-resp-image-wrapper{margin:3.5rem!important;width:50%!important}}div.single-post img{border-radius:1rem}div.single-post pre{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity));font-size:1rem;line-height:1rem;padding:1.5rem;white-space:pre-wrap}div.service-preview{background:linear-gradient(#000 0 0) padding-box,linear-gradient(90deg,#fff 0 0) border-box}div.service-preview:hover{background:#000}div.service-preview p{padding-top:1.75rem}.gradient-border{background:linear-gradient(#fff 0 0) padding-box,linear-gradient(90deg,#fff,#000 50%,#fff) border-box}div.team-member:hover div.line{width:100%}div.applied-tech:hover div.line{height:100%}div.review-body p{padding-top:1.25rem}div.review-body p:first-child{padding-top:0}div.workflow-step:nth-child(odd) div.cover{left:-1.5rem}div.workflow-step:nth-child(2n) p.step-number{z-index:30}@media (min-width:768px){div.workflow-step:nth-child(2n) p.step-number{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}div.why-us-card p{text-align:justify}div.why-us-card:hover div.line{height:100%}CodeCave Workflow

HOW & WHY

SOLID REASONS TO CHOOSE US TO GO THROUGH APP DEV PROCESS

1

Discovering logo

Discovering

Tell us more about your business on a discovery call. We’ll discuss your project requirements, success criteria, timescale, budget and required skill sets to see if we can help.

2

Brainstorming logo

Brainstorming

Using first-step information we'll take a deep dive into your target audience, needs and challenges of your business, customers, and desired technology.

3

Defining logo

Defining

We’ll quickly define your project roadmap, select the right tools and technologies. We’ll assemble your team and assign you a PM.

4

Proposition logo

Proposition

Complete solution for your project will be proposed as soon as possible. Every effort will be made to reach an agreement on all issues.

5

Development logo

Development

Once we have a contract, development process starts immediately. Our high skilled team definitelly will meet all the project's goals and wrap it in a reliable easily maintained solution.

6

Launch logo

Launch

Congratulations! Successfully released product and non-broken deadlines are irrefutable evidence of your right desicion to choose CodeCave as your partner.

7

Maintenance logo

Maintenance

The product won't be abandoned, we'll provide you long term maintenance support. And that's the main reason why we're highly intrested in clear code, agile and scalable solution.

WHY US

Consistency and standards

No surprises! We are consistent and have many time-tested techniques at our disposal

Relationships

The relationship with our customer is transparent. Mutual trust and straightforward communication are the key

Team efficiency = cost efficiency

We know how to assemble the perfect team to protect you from paying extra

Flexibility

We're ready to face new challenges at any stage of the project

Responsible development

Our light and clear coding helps us to escape unbreakable loops of re-development

Curious minds

We're constantly keeping an eye on tech advancements and possible ways to implement it in our work

- \ No newline at end of file + \ No newline at end of file