{"version":3,"sources":["Home.tsx","SoftSkillsQuotes.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["Home","className","href","SoftSkillsQuotes","useState","getRandomQuote","quote","setQuote","viewedQuotes","setViewedQuotes","useEffect","cur","episode","useLayoutEffect","document","title","url","target","rel","renderDate","date","type","onClick","newQuote","to","SoftSkillsQuotesAbout","dateObj","Date","format","exclude","filtered","data","filter","x","includes","Math","floor","random","length","Routing","path","useRouteMatch","exact","App","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","getElementById"],"mappings":"ulwDAceA,MAXf,WACE,OACE,0BAASC,UAAU,OAAnB,UACE,4EACA,iDACa,mBAAGC,KAAK,wBAAR,qC,sCCoBnB,SAASC,IAAoB,IAAD,EACFC,oBAAS,kBAAMC,OADb,mBACrBC,EADqB,KACdC,EADc,OAEYH,mBAAmB,IAF/B,mBAErBI,EAFqB,KAEPC,EAFO,KAI1BC,qBAAU,WACRD,GAAgB,SAACE,GACf,OAAKL,EACC,GAAN,mBAAWK,GAAX,CAAgBL,EAAMM,UADHD,OAGpB,CAACL,IAiBJ,OAJAO,2BAAgB,WACdC,SAASC,MAAQ,kBAChB,IAEET,EAGH,oCACE,iCACE,qBAAKL,UAAU,QAAf,SAAwBK,EAAMA,QAC9B,sBAAKL,UAAU,OAAf,UACE,oBAAGC,KAAMI,EAAMU,IAAKC,OAAO,SAASC,IAAI,sBAAxC,qBACWZ,EAAMM,WAFnB,KAIKO,EAAWb,EAAMc,MACpB,8BACE,wBACEnB,UAAU,gBACVoB,KAAK,SACLC,QA9BQ,WAClB,IAAMC,EAAWlB,EAAeG,GAChC,IAAKe,EAIH,OAFAd,EAAgB,SAChBF,EAASF,KAGXE,EAASgB,IAmBD,iCAUN,mCACE,2CACU,mBAAGrB,KAAK,wBAAR,iCAEV,8BACE,cAAC,IAAD,CAAMsB,GAAG,uBAAT,qCA3BW,KAkCrB,SAASC,IAKP,OAJAZ,2BAAgB,WACdC,SAASC,MAAQ,kBAChB,IAGD,oCACE,uBAAMd,UAAU,QAAhB,UACE,wFAC0D,IACxD,mBACEC,KAAK,4BACLe,OAAO,SACPC,IAAI,sBAHN,qCAFF,kFAYA,oBAAGjB,UAAU,OAAb,gCAEG,kBAFH,uCAIA,8HAKF,mCACE,2CACU,mBAAGC,KAAK,wBAAR,iCAEV,8BACE,cAAC,IAAD,CAAMsB,GAAG,iBAAT,oCAOV,SAASL,EAAWC,GAClB,IAAMM,EAAU,IAAIC,KAAKP,GACzB,OAAOQ,YAAOF,EAAS,gBAGzB,SAASrB,IAAsD,IAAvCwB,EAAsC,uDAAlB,GACpCC,EAAWC,EAAKC,QAAO,SAACC,GAAD,OAAQJ,EAAQK,SAASD,EAAErB,YACxD,OAAOkB,EAASK,KAAKC,MAAMD,KAAKE,SAAWP,EAASQ,SAGvCC,MArIC,WAAO,IACfC,EAASC,cAATD,KAEN,OACE,eAAC,IAAD,WACE,cAAC,IAAD,CAAOE,OAAK,EAACF,KAAI,UAAKA,EAAL,UAAjB,SACE,cAACf,EAAD,MAEF,cAAC,IAAD,CAAOiB,OAAK,EAACF,KAAMA,EAAnB,SACE,cAACrC,EAAD,UCUOwC,MApBf,WACE,OACE,cAAC,IAAD,UACE,eAAC,IAAD,WACE,cAAC,IAAD,CAAOD,OAAK,EAACF,KAAK,IAAlB,SACE,cAAC,EAAD,MAEF,cAAC,IAAD,CAAOA,KAAK,iBAAZ,SACE,cAAC,EAAD,MAGF,cAAC,IAAD,CAAOA,KAAK,IAAZ,SAEE,mDCJKI,EAZS,SAACC,GACnBA,GAAeA,aAAuBC,UACxC,6BAAqBC,MAAK,YAAkD,IAA/CC,EAA8C,EAA9CA,OAAQC,EAAsC,EAAtCA,OAAQC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAC3DJ,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAON,GACPO,EAAQP,OCHdQ,IAASC,OACP,cAAC,IAAMC,WAAP,UACE,cAAC,EAAD,MAEFzC,SAAS0C,eAAe,SAM1BZ,M","file":"static/js/main.5124f148.chunk.js","sourcesContent":["import React from \"react\";\nimport \"./home.css\";\n\nfunction Home() {\n return (\n
\n
the home of mediocre developers like you
\n \n
\n );\n}\n\nexport default Home;\n","import React, { useEffect, useLayoutEffect, useState } from \"react\";\nimport { format } from \"date-fns\";\nimport data from \"./soft.json\";\nimport \"./soft.css\";\nimport { Link, Route, Switch, useRouteMatch } from \"react-router-dom\";\n\nconst Routing = () => {\n let { path } = useRouteMatch();\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n\ninterface Quote {\n quote: string;\n episode: number;\n date: string;\n url: string;\n}\n\nfunction SoftSkillsQuotes() {\n let [quote, setQuote] = useState(() => getRandomQuote());\n let [viewedQuotes, setViewedQuotes] = useState([]);\n\n useEffect(() => {\n setViewedQuotes((cur) => {\n if (!quote) return cur;\n return [...cur, quote.episode];\n });\n }, [quote]);\n\n const getNewQuote = () => {\n const newQuote = getRandomQuote(viewedQuotes);\n if (!newQuote) {\n // we've seen everything, reset the list\n setViewedQuotes([]);\n setQuote(getRandomQuote());\n return;\n }\n setQuote(newQuote);\n };\n\n useLayoutEffect(() => {\n document.title = \"It Takes More\";\n }, []);\n\n if (!quote) return null;\n\n return (\n
\n
\n
{quote.quote}
\n
\n \n Episode {quote.episode}\n \n , {renderDate(quote.date)}\n
\n \n I want more\n \n
\n
\n
\n \n
\n );\n}\n\nfunction SoftSkillsQuotesAbout() {\n useLayoutEffect(() => {\n document.title = \"It Takes More\";\n }, []);\n\n return (\n
\n
\n

\n These jokes are taken from one of my favorite podcasts,{\" \"}\n \n Soft Skills Engineering\n \n . Every show starts with the hosts telling a joke that follows this\n formula:\n

\n

\n \"It takes more than\n {\" \"}to be a great software engineer.\"\n

\n

\n I always get a chuckle out of them, so I decided to collect them for\n display on this site.\n

\n
\n \n
\n );\n}\n\nfunction renderDate(date: string): string {\n const dateObj = new Date(date);\n return format(dateObj, \"MMMM d, yyyy\");\n}\n\nfunction getRandomQuote(exclude: number[] = []): Quote | null {\n const filtered = data.filter((x) => !exclude.includes(x.episode));\n return filtered[Math.floor(Math.random() * filtered.length)];\n}\n\nexport default Routing;\n","import React from \"react\";\nimport { BrowserRouter as Router, Switch, Route } from \"react-router-dom\";\nimport Home from \"./Home\";\nimport SoftSkillsQuotes from \"./SoftSkillsQuotes\";\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n \n\n \n {/* todo */}\n
404 here
\n
\n
\n
\n );\n}\n\nexport default App;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}