1(self.webpackChunkcamargofolio2024=self.webpackChunkcamargofolio2024||[]).push([[771],{5:e=>{var t={};t.updateMetaTags=function(e){var t=e.title,r=e.description,n=e.keywords,o=e.image,i=void 0===o?"":o;document.title=t,[{attr:"property",value:"og:title",content:t},{attr:"property",value:"og:image",content:i},{attr:"name",value:"twitter:title",content:t},{attr:"name",value:"description",content:r},{attr:"name",value:"twitter:description",content:r},{attr:"name",value:"twitter:card",content:"summary_large_image"},{attr:"name",value:"twitter:image",content:i},{attr:"name",value:"keywords",content:n}].forEach((function(e){return function(e,t,r){var n=document.querySelector("meta[".concat(e,'="').concat(t,'"]'));n?n.setAttribute("content",r):function(e,t,r){var n=document.createElement("meta");n.setAttribute(e,t),n.setAttribute("content",r),document.head.appendChild(n)}(e,t,r)}(e.attr,e.value,e.content)}))},e.exports=t},62:(e,t,r)=>{"use strict";r.d(t,{Y:()=>v});var n=r(705),o=r(865),i=r(848);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t,r){var n;return n=function(e,t){if("object"!=c(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==c(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l.apply(this,arguments)}var f=function(e){var t=l({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(e),e));return(0,i.jsxs)("svg",s(s({xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 40 40"},t),{},{children:[(0,i.jsx)("path",{fill:"#282C34",d:"M30,40H10C4.5,40,0,35.5,0,30V10C0,4.5,4.5,0,10,0h20c5.5,0,10,4.5,10,10v20C40,35.5,35.5,40,30,40z"}),(0,i.jsx)("path",{fill:"#333333",d:"M30,0H10C4.5,0,0,4.5,0,10h40C40,4.5,35.5,0,30,0z"}),(0,i.jsx)("circle",{fill:"#FD4040",cx:"8",cy:"5",r:"1.6"}),(0,i.jsx)("circle",{fill:"#FDB502",cx:"13.4",cy:"5",r:"1.6"}),(0,i.jsx)("circle",{fill:"#02AC56",cx:"18.8",cy:"5",r:"1.6"}),(0,i.jsx)("rect",{fill:"#74AAFF",x:"6.4",y:"16.4",width:"0.8",height:"6.4"})]}))};const p={"en-US":{intro:'A JavaScript library that simulates an editor and a terminal to demo some code in action. It snagged "Product of the Day" on Product Hunt, and 3k+ stars on GitHub.',details:"The library is built with vanilla JavaScript and fully tested using Jest. Its source code is open.",demo_some_code:"Demo some code"},"pt-BR":{intro:'Biblioteca JavaScript que simula um editor e um terminal para demonstrar algum código em ação. Conquistou "Product of the Day" no Product Hunt e 3k+ estrelas no GitHub.',details:"ConstruÃda em Vanilla JavaScript e testada integralmente com Jest. Seu código fonte é aberto.",demo_some_code:"Codar uma demo"}};function b(e){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},b(e)}function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
1t%2?y(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(e,t,r){var n;return n=function(e,t){if("object"!=b(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=b(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==b(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var v=function(e){var t=(0,n.Bd)(p).t;return(0,i.jsx)(o.U,m(m({image:(0,i.jsx)(f,{role:"presentation"}),title:"Glorious Demo",details:(0,i.jsx)("p",{children:t("details")}),actionHref:"https://gdemo.compilorama.com",actionText:t("demo_some_code"),year:"2018"},e),{},{children:(0,i.jsx)("p",{children:t("intro")})}))}},396:(e,t,r)=>{"use strict";r.d(t,{S:()=>O});var n=r(268),o=r.n(n),i=r(540),c=r(848),a=function(){var e="© 2005-".concat((new Date).getFullYear()," Rafael Camargo");return(0,c.jsx)("div",{className:"p-footer",children:(0,c.jsx)("p",{children:e})})};var s=r(714),u=r(5),l=r.n(u),f={scrollTop:function(){setTimeout((function(){return window.scroll({top:0,left:0,behavior:"smooth"})}),50)}};const p=f;function b(e){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},b(e)}var y=["children"],m=["metaTitle","metaDescription","metaKeywords","metaImage"];function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){j(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function j(e,t,r){var n;return n=function(e,t){if("object"!=b(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=b(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==b(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var O=function(e){var t=e.children,r=g(e,y),n=r.metaTitle,u=r.metaDescription,f=r.metaKeywords,b=r.metaImage,d=g(r,m);return(0,i.useEffect)((function(){var e;l().updateMetaTags({title:n,description:u,keywords:f,image:b&&(e=b,"".concat(o().APP_BASE_URL,"/assets/images/").concat(e))})}),[n,u,f,b]),(0,i.useEffect)((function(){document.dispatchEvent(new Event(s.VIEW_RENDERED))}),[]),(0,i.useEffect)((function(){return p.scrollTop()}),[]),(0,c.jsxs)("article",v(v({},d),{},{children:[t,(0,c.jsx)(a,{})]}))}},714:e=>{e.exports={VIEW_RENDERED:"portfolioViewRendered"}},759:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(705),o=r(621),i=r(865),c=r(848);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
1t%2?s(Object(r),!0).forEach((function(t){l(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t,r){var n;return n=function(e,t){if("object"!=a(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==a(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},f.apply(this,arguments)}var p=function(e){var t=f({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(e),e));return(0,c.jsxs)("svg",u(u({xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 40 40"},t),{},{children:[(0,c.jsx)("path",{fill:"#F83338",d:"M30,40H10C4.5,40,0,35.5,0,30V10C0,4.5,4.5,0,10,0h20c5.5,0,10,4.5,10,10v20C40,35.5,35.5,40,30,40z"}),(0,c.jsx)("path",{fill:"#FFFFFF",d:"M34.9,17.9c-0.2-0.3-0.6-0.4-1-0.5c-0.2,0-0.4,0-0.4,0l-1.2,0.2c-1.9,0.4-3.4,0.6-4.5,0.6 c0.7-1.7,1.1-3.2,1.1-4.6c0-1.2-0.3-2-0.8-2.7c-0.5-0.6-1.2-0.9-2.1-0.9c-1,0-1.9,0.3-2.6,0.9c-0.8,0.6-1.4,1.4-1.8,2.3 c-0.4,0.9-0.7,1.9-0.7,2.9c0,1.1,0.2,2.1,0.7,3.1c0.3,0.6,0.6,1.1,1.1,1.5c-2,2.7-4.1,4.8-5.4,5.9c-1-5.6-0.6-6.6-0.6-10.1 c0-0.8-0.2-1.4-0.5-1.7c-0.4-0.3-0.9-0.5-1.7-0.5c-1,0-1.8,0.2-2.3,0.6c-0.5,0.4-0.8,1.1-0.8,2c0,0-0.6,8.6,1.8,12.7 c0.6,1.1,2.1,1.5,3.2,1.4c1-0.1,2-0.3,2.8-0.9c1.7-1.3,4.2-4.1,6.4-7.8c1,0.3,2.1,0.4,3.2,0.4c1.5,0,3-0.2,4.4-0.6 c0.7-0.2,1.2-0.6,1.6-1.1c0.4-0.5,0.5-1.2,0.5-2.2C35.2,18.6,35.1,18.2,34.9,17.9z M23.2,14.6c0.5,0,0.9,0.2,1.2,0.5 c0.3,0.3,0.5,0.8,0.5,1.4c0,0.7-0.2,1.3-0.6,1.9c-0.5,0-0.9-0.2-1.2-0.5c-0.3-0.3-0.5-0.8-0.5-1.4C22.6,15.8,22.8,15.1,23.2,14.6z"})]}))};const b={"en-US":{intro:"Veedgee scans several ticket sites and lists the best events happening in southern Brazil.",details:"This project was built on top of technologies like Serverless NodeJS, Serverless Postgres, React, Supertest and Testing Library. Its website is a PWA and works offline. The source code of Workers, API and Website are all open.",discover_some_fun:"Discover some fun"},"pt-BR":{intro:"Veedgee varre diversos sites de venda de ingresso, e lista os melhores eventos acontecendo no sul do Brasil.",details:"ConstruÃdo com tecnologias como Serverless NodeJS, Serverless Postgres, React, Supertest e Testing Library. Seu website é um PWA com suporte offline. O código fonte dos Workers, API e Website são abertos.",discover_some_fun:"Buscar diversão"}};function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach((function(t){v(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function v(e,t,r){var n;return n=function(e,t){if("object"!=y(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=y(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==y(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var j=function(e){var t=(0,n.Bd)(b).t,r=(0,o.j)().veedgeeUrl;return(0,c.jsx)(i.U,d(d({image:(0,c.jsx)(p,{role:"presentation"}),title:"Veedgee",details:(0,c.jsx)("p",{children:t("details")}),actionHref:r,actionText:t("discover_some_fun"),year:"2024"},e),{},{children:(0,c.jsx)("p",{children:t("intro")})}))}},865:(e,t,r)=>{"use strict";r.d(t,{U:()=>g});var n=r(705),o=r(43),i=r(848);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
1t%2?a(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t,r){var n;return n=function(e,t){if("object"!=c(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==c(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var l=function(e){return(0,i.jsxs)(o.I,s(s({},e),{},{name:"archive",children:[(0,i.jsx)("polyline",{"data-pstroke":!0,points:"23.6,19.1 20,22.7 16.4,19.1"}),(0,i.jsx)("line",{"data-pstroke":!0,x1:"20",y1:"22.7",x2:"20",y2:"13.1"}),(0,i.jsx)("polyline",{"data-pstroke":!0,points:"27.5,20.5 27.5,26.9 12.5,26.9 12.5,20.5 "})]}))};function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function y(e,t,r){var n;return n=function(e,t){if("object"!=f(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==f(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var m=function(e){return(0,i.jsxs)(o.I,b(b({},e),{},{name:"arrow",children:[(0,i.jsx)("polyline",{"data-pstroke":!0,points:"21,13.8 26.6,19.5 21,25.2 "}),(0,i.jsx)("line",{"data-pstroke":!0,x1:"26.6",y1:"19.5",x2:"11.6",y2:"19.5"})]}))},d=r(89),v=r(342);const j={"en-US":{archived:"Archived"},"pt-BR":{archived:"Arquivado"}};r.e(657).then(r.bind(r,273));var g=function(e){var t,r=e.image,o=e.title,c=e.titleLevel,a=e.details,s=e.actionHref,u=e.actionText,l=e.year,f=e.full,p=e.badge,b=e.archived,y=e.className,m=e.children,d=(0,n.Bd)(j).t,v=c||"h2";return(0,i.jsxs)("div",{className:(t=y,["p-project-card",t].filter((function(e){return!!e})).join(" ")),children:[(0,i.jsxs)("div",{className:"p-project-card-header",children:[(0,i.jsxs)("div",{className:"p-project-card-header-main",children:[(0,i.jsx)("div",{className:"p-project-card-image-wrapper",children:r}),(0,i.jsx)(v,{className:"p-project-card-heading",children:o})]}),(0,i.jsxs)("div",{className:"p-project-card-heading-details",children:[h(p),w(b,d("archived")),O(f,l)]})]}),m,f&&P(a,s,u)]})};function O(e,t){return e&&(0,i.jsx)("div",{className:"p-project-card-header-helper",children:(0,i.jsx)("div",{className:"p-project-card-year",children:t})})}function h(e){return e&&(0,i.jsx)("div",{className:"p-project-card-header-badge",children:e})}function w(e,t){return e&&(0,i.jsxs)("div",{className:"p-project-card-header-archived",children:[(0,i.jsx)(l,{})," ",t]})}function P(e,t,r){return t&&(0,i.jsxs)(i.Fragment,{children:[e,(0,i.jsx)("div",{className:"p-project-card-footer",children:(0,i.jsxs)(d.$,{as:"a",theme:"secondary",href:(n=t,v.A.appendSearchParam(n,"utm_source=rafaelcamargo.com")),target:"_blank",rel:"noopener noreferrer",block:!0,children:[r,(0,i.jsx)(m,{})]})})]});var n}}}]); 2//# sourceMappingURL=771-4dcb5c868971142c8f61.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.