{"version":3,"sources":["components/career/styles.module.scss","components/clients/styles.module.scss","components/contact/styles.module.scss","components/nav/styles.module.scss","assets/header_video.mp4","assets/header.gif","components/hero/Hero.js","assets/about_curve.svg","assets/about_circle.svg","assets/about_rec.svg","assets/about_bg.svg","components/pill/Pill.js","components/about/About.js","assets/general.svg","assets/service_bg.svg","components/features/Features.js","assets/clients_bg.svg","components/clients/Clients.js","assets/joinus.svg","components/career/Career.js","assets/fb.svg","assets/line.svg","assets/blogspot.svg","components/contact/Contact.js","assets/menu.svg","assets/close.svg","assets/logo.svg","components/nav/Nav.js","App.js","serviceWorker.js","index.js","components/hero/styles.module.scss","components/pill/styles.module.scss","components/features/styles.module.scss","components/about/styles.module.scss"],"names":["module","exports","Hero","props","useState","showVid","setShowVid","useEffect","test","navigator","userAgent","className","styles","container","id","autoPlay","loop","muted","src","Vid","video","Gif","gif","Pill","pillContainer","classNames","pill","color","title","About","lang","setLang","ref","_ref","content","map","item","index","fields","lines","split","descItems","i","length","push","text","ContentLang","image","Ring","ring","Circle","circle","Rec","rec","langSelect","onClick","selected","BG","Features","showFront","setShowFront","showBack","setShowBack","frontContent","filter","subSection","sort","a","b","backContent","frontOfficeList","undefined","url","titles","replace","featureItem","hide","show","Placeholder","backOfficeList","featureContainer","buttonContainer","clientTypes","Clients","highlights","Fragment","num","category","clientList","highlight","BGLine","list","Career","select","setSelect","descriptions","showDesc","hideDesc","mobTitle","contact","href","other","BGImage","position","description","Contact","year","Date","getFullYear","set","socialLink","social","img","target","FB","Line","Blogspot","mapContainer","width","height","style","border","allowfullscreen","loading","copyrights","Nav","section","setSection","mobile","setMobile","mobileMenu","setMobileMenu","handleMobile","window","addEventListener","handleScroll","removeEventListener","innerWidth","currentScroll","scrollY","about","current","offsetTop","features","clients","careers","to","smooth","logo","Logo","navItems","mobileIcon","Menu","mobNavItems","topLine","Close","close","Airtable","require","App","setAbout","setFeatures","setClients","setCareers","setContact","aboutSec","useRef","featuresSec","clientsSec","careersSec","contactSec","apiKey","process","base","eachPage","records","fetchNextPage","forEach","record","get","prevState","err","console","error","ReactGA","initialize","REACT_APP_GA","pageview","log","Boolean","location","hostname","match","ReactDOM","render","StrictMode","document","getElementById","serviceWorker","ready","then","registration","unregister","catch","message"],"mappings":"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","file":"static/js/main.134e18f7.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__2Y_HD\",\"BGImage\":\"styles_BGImage__b0_fQ\",\"content\":\"styles_content__Jp7EG\",\"position\":\"styles_position__1UWdW\",\"selected\":\"styles_selected__2wMsS\",\"arrow\":\"styles_arrow__1te_m\",\"description\":\"styles_description__ktnE0\",\"hideDesc\":\"styles_hideDesc__1uDe_\",\"showDesc\":\"styles_showDesc__3MoDb\",\"contact\":\"styles_contact__2cSZL\",\"mobTitle\":\"styles_mobTitle__UHXF4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__1vNW_\",\"BGLine\":\"styles_BGLine__1xoHM\",\"BG\":\"styles_BG__3cDuk\",\"content\":\"styles_content__18C2y\",\"highlight\":\"styles_highlight__1vcIg\",\"num\":\"styles_num__1lwPM\",\"text\":\"styles_text__1Lqo3\",\"list\":\"styles_list__bTDMu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__2RRWs\",\"content\":\"styles_content__oT8Z8\",\"set\":\"styles_set__2WqJW\",\"text\":\"styles_text__1gAMD\",\"mapContainer\":\"styles_mapContainer__qaS-5\",\"map\":\"styles_map__2TzGL\",\"popup\":\"styles_popup__1aNfF\",\"copyrights\":\"styles_copyrights__ipElw\",\"social\":\"styles_social__HVX1C\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__3nP5Q\",\"home\":\"styles_home__tav5Z\",\"about\":\"styles_about__2VC4r\",\"services\":\"styles_services__3gpWc\",\"clients\":\"styles_clients__3L2Nw\",\"careers\":\"styles_careers__XHoou\",\"contact\":\"styles_contact__2A4mR\",\"content\":\"styles_content__1r7rc\",\"logo\":\"styles_logo__2ZVJi\",\"mobile\":\"styles_mobile__2oOnL\",\"navItems\":\"styles_navItems__2le9x\",\"selected\":\"styles_selected__2v2bU\",\"mobileIcon\":\"styles_mobileIcon__2vGKK\",\"mobNavItems\":\"styles_mobNavItems__2P_lB\",\"topLine\":\"styles_topLine__2ICFV\",\"close\":\"styles_close__qwsFg\"};","export default __webpack_public_path__ + \"static/media/header_video.e7ad966b.mp4\";","export default __webpack_public_path__ + \"static/media/header.e15638a4.gif\";","import React, { useEffect, useState } from 'react';\r\nimport styles from './styles.module.scss';\r\nimport Vid from '../../assets/header_video.mp4';\r\nimport Gif from '../../assets/header.gif';\r\n\r\nconst Hero = (props) => {\r\n\r\n\tconst [ showVid, setShowVid ] = useState();\r\n\r\n\tuseEffect(() => {\r\n\t\tif(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){\r\n\t\t // hide video on mobile device\r\n\t\t setShowVid(false);\r\n\t\t} else {\r\n\t\t // show vid on desktop\r\n\t\t setShowVid(true);\r\n\t\t}\r\n\t})\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{ showVid && \r\n\t\t\t\t
\r\n\t)\r\n}\r\n\r\nexport default Hero;","export default __webpack_public_path__ + \"static/media/about_curve.01d5f443.svg\";","export default __webpack_public_path__ + \"static/media/about_circle.c9619323.svg\";","export default __webpack_public_path__ + \"static/media/about_rec.d9ac0a68.svg\";","export default __webpack_public_path__ + \"static/media/about_bg.6e03892f.svg\";","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport styles from './styles.module.scss';\r\n\r\nconst Pill = (props) => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

{props.title}

\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Pill;","import React, { useState } from 'react';\r\nimport styles from './styles.module.scss';\r\nimport Ring from '../../assets/about_curve.svg';\r\nimport Circle from '../../assets/about_circle.svg';\r\nimport Rec from '../../assets/about_rec.svg';\r\nimport BG from '../../assets/about_bg.svg';\r\nimport Pill from '../pill/Pill';\r\n\r\nconst About = (props) => {\r\n\r\n\tconst [ lang, setLang ] = useState(\"English\");\r\n\r\n\tconst ContentLang = (lang) => {\r\n\t\tlet result = props.content.map((item, index) => {\r\n\t\t\tif (item.fields.lang === lang) {\r\n\r\n\t\t\t\tlet lines = item.fields.content.split(';');\r\n\t\t\t\tlet descItems = [];\r\n\t\t\t\tfor (var i = 0; i < lines.length; i++) {\r\n\t\t\t\t\t//make sure no empty lines\r\n\t\t\t\t\tif (lines[i].length > 1) {\r\n\t\t\t\t\t\tdescItems.push(

{lines[i]}

)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
{descItems}
\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t{ContentLang(lang)}\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
setLang(\"Thai\")} className={lang === \"Thai\" ? styles.selected : null}>Thai
\r\n\t\t\t\t\t
setLang(\"English\")} className={lang === \"English\" ? styles.selected : null}>English
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default About;","export default __webpack_public_path__ + \"static/media/general.172a74a9.svg\";","export default __webpack_public_path__ + \"static/media/service_bg.651290d5.svg\";","import React, { useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport styles from './styles.module.scss';\r\nimport Pill from '../pill/Pill';\r\nimport Placeholder from '../../assets/general.svg';\r\nimport BG from '../../assets/service_bg.svg';\r\n\r\nconst Features = (props) => {\r\n\r\n\tconst [ showFront, setShowFront ] = useState(false);\r\n\tconst [ showBack, setShowBack ] = useState(false);\r\n\tconst count = 5;\r\n\r\n\tlet frontContent = props.content.filter( item => item.fields.subSection === \"frontOffice\" ).sort((a,b) => a.fields.id - b.fields.id);\r\n\tlet backContent = props.content.filter( item => item.fields.subSection === \"backOffice\").sort((a,b) => a.fields.id - b.fields.id);\r\n\r\n\tlet frontOfficeList = frontContent.map((item, index) => {\r\n\t\t\tlet image; \r\n\t\t\tif (item.fields.image !== undefined) image = item.fields.image[0].url;\r\n\r\n\t\t\tlet lines = item.fields.title.split('(');\r\n\t\t\tlet titles = [];\r\n\t\t\tfor (var i = 0; i < lines.length; i++) {\r\n\t\t\t\t//make sure no empty lines\r\n\t\t\t\tif (lines[i].length > 1) {\r\n\t\t\t\t\ttitles.push(

{lines[i].replace(\")\", \"\")}

)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
count && !showFront ? styles.hide : \r\n\t\t\t\t\t\tindex > count && showFront ? styles.show : null)}>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{titles}\r\n\t\t\t\t\t

{item.fields.content}

\r\n\t\t\t\t
\r\n\t\t\t)\r\n\t})\r\n\r\n\tlet backOfficeList = backContent.map((item, index) => {\r\n\t\t\tlet image; \r\n\t\t\tif (item.fields.image !== undefined) image = item.fields.image[0].url;\r\n\r\n\t\t\tlet lines = item.fields.title.split('(');\r\n\t\t\tlet titles = [];\r\n\t\t\tfor (var i = 0; i < lines.length; i++) {\r\n\t\t\t\t//make sure no empty lines\r\n\t\t\t\tif (lines[i].length > 1) {\r\n\t\t\t\t\ttitles.push(

{lines[i].replace(\")\", \"\")}

)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
count && !showBack ? styles.hide : \r\n\t\t\t\t\t\tindex > count && showBack ? styles.show : null)}>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{titles}\r\n\t\t\t\t\t

{item.fields.content}

\r\n\t\t\t\t
\r\n\t\t\t)\r\n\t})\r\n\r\n\treturn ( \r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t

front office services

\r\n\t\t\t\t
\r\n\t\t\t\t\t{frontOfficeList}\r\n\t\t\t\t
\r\n\t\t\t\t
{ setShowFront(!showFront); }}>
\r\n\r\n\t\t\t\t

back office services

\r\n\t\t\t\t
\r\n\t\t\t\t\t{backOfficeList}\r\n\t\t\t\t
\r\n\t\t\t\t
setShowBack(!showBack)}>
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Features;","export default __webpack_public_path__ + \"static/media/clients_bg.ee11a843.svg\";","import React from 'react';\r\nimport styles from './styles.module.scss';\r\nimport Pill from '../pill/Pill';\r\nimport BG from '../../assets/clients_bg.svg';\r\n\r\nconst clientTypes = [\"tertiary care\", \"secondary care\", \"private hospital\"];\r\n\r\nconst Clients = (props) => {\r\n\r\n\tconst clientCount = (category) => {\r\n\t\treturn props.content.filter( item => item.fields.subSection === category ).length;\r\n\t}\r\n\r\n\tlet highlights = clientTypes.map((item, index) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
{clientCount(item)}
\r\n\t\t\t\t
{item}
\r\n\t\t\t
\r\n\t\t)\r\n\t})\r\n\r\n\tlet clientList = props.content.map((item, index) => {\r\n\t\tlet lines = item.fields.title.split('(');\r\n\t\tlet titles = [];\r\n\t\tfor (var i = 0; i < lines.length; i++) {\r\n\t\t\t//make sure no empty lines\r\n\t\t\tif (lines[i].length > 1) {\r\n\t\t\t\ttitles.push(

{lines[i].replace(\")\", \"\")}

)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn titles;\r\n\t})\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{highlights}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{clientList}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Clients;","export default __webpack_public_path__ + \"static/media/joinus.06c5cdc2.svg\";","import React, { useState } from 'react';\r\nimport styles from './styles.module.scss';\r\nimport Pill from '../pill/Pill';\r\nimport BGImage from '../../assets/joinus.svg';\r\n\r\nconst Career = (props) => {\r\n\r\n\tconst [ select, setSelect ] = useState(0);\r\n\r\n\tlet titles = props.content.map((item, index) => {\r\n\t\tif (item.fields.subSection !== \"contactInfo\") {\r\n\t\t\treturn (\r\n\t\t\t\t
setSelect(index)} >\r\n\t\t\t\t\t{item.fields.title}\r\n\t\t\t\t
\r\n\t\t\t)\r\n\t\t}\r\n\t})\r\n\r\n\tlet descriptions = props.content.map((item, index) => {\r\n\r\n\t\tlet lines = item.fields.content.split(';');\r\n\r\n\t\tlet descItems = [];\r\n\t\tfor (var i = 0; i < lines.length; i++) {\r\n\t\t\t//make sure no empty lines\r\n\t\t\tif (lines[i].length > 1) {\r\n\t\t\t\tdescItems.push(

{lines[i]}

)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{ item.fields.subSection !== \"contactInfo\" &&

{item.fields.title}

}\r\n\t\t\t\t{descItems}\r\n\t\t\t
\r\n\t\t)\r\n\t})\r\n\r\n\tlet contact = props.content.map((item, index) => {\r\n\t\tif (item.fields.subSection === \"contactInfo\") {\r\n\t\t\treturn ({item.fields.other})\r\n\t\t}\r\n\t})\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{titles}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{descriptions}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\tApply here:
\r\n\t\t\t\t\t{contact}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Career;","export default __webpack_public_path__ + \"static/media/fb.a52c10e4.svg\";","export default __webpack_public_path__ + \"static/media/line.20ed9252.svg\";","export default __webpack_public_path__ + \"static/media/blogspot.050249cd.svg\";","import React, { useRef, useState, useEffect } from 'react';\r\nimport styles from './styles.module.scss';\r\nimport Pill from '../pill/Pill';\r\n\r\nimport FB from '../../assets/fb.svg';\r\nimport Line from '../../assets/line.svg';\r\nimport Blogspot from '../../assets/blogspot.svg';\r\n\r\nconst Contact = (props) => {\r\n\r\n\tconst year = new Date().getFullYear();\r\n\tlet content = props.content.map((item, index) => {\r\n\r\n\t\tif (item.fields.title == undefined) {\r\n\t\t\tlet lines = item.fields.content.split(';');\r\n\t\t\r\n\t\t\tlet descItems = [];\r\n\t\t\tfor (var i = 0; i < lines.length; i++) {\r\n\t\t\t\t//make sure no empty lines\r\n\t\t\t\tif (lines[i].length > 1) {\r\n\t\t\t\t\tdescItems.push(

{lines[i]}

)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
{descItems}
\r\n\t\t\t)\r\n\t\t}\r\n\t})\t\r\n\r\n\tconst socialLink = (social, img) => {\r\n\t\tlet link = props.content.map((item, index) => {\r\n\t\t\tif (item.fields.title === social) {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\treturn link;\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tInterested in working with us?
\r\n\t\t\t\t\t\tGet in touch here:\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{content}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{socialLink(\"facebook\", FB)}\r\n\t\t\t\t\t\t{socialLink(\"line\", Line)}\r\n\t\t\t\t\t\t{socialLink(\"blogspot\", Blogspot)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

copyright {year} info-d software co ltd.

\r\n\t\t\t\t\t

all rights reserved

\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Contact;","export default __webpack_public_path__ + \"static/media/menu.29f99d54.svg\";","export default __webpack_public_path__ + \"static/media/close.caf9031e.svg\";","export default __webpack_public_path__ + \"static/media/logo.9df4f99b.svg\";","import React, { useState, useEffect } from 'react';\r\nimport styles from './styles.module.scss';\r\nimport classNames from 'classnames';\r\nimport { NavHashLink } from 'react-router-hash-link';\r\nimport {\r\n BrowserRouter as Router\r\n} from \"react-router-dom\";\r\n\r\nimport Menu from '../../assets/menu.svg';\r\nimport Close from '../../assets/close.svg';\r\nimport Logo from '../../assets/logo.svg';\r\n\r\nconst Nav = (props) => {\r\n\r\n\tconst [ section, setSection ] = useState();\r\n\tconst [ mobile, setMobile ] = useState();\r\n\tconst [ mobileMenu, setMobileMenu ] = useState(false);\r\n\r\n\tconst mobileWidth = 768;\r\n\r\n\tuseEffect(() => {\r\n\r\n\t\thandleMobile();\r\n\r\n\t\twindow.addEventListener('scroll', handleScroll);\r\n\t\twindow.addEventListener('resize', handleMobile);\r\n\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('scroll', handleScroll);\r\n\t\t\twindow.removeEventListener('resize', handleMobile);\r\n\r\n\t\t}\r\n\r\n\t})\r\n\r\n\tconst handleMobile = () => {\r\n\t\tif (window.innerWidth <= mobileWidth) {\r\n\t\t\tsetMobile(true);\r\n\t\t} else {\r\n\t\t\tsetMobile(false);\r\n\t\t}\r\n\t}\r\n\r\n\tconst handleScroll = () => {\r\n\r\n\t\tconst currentScroll = window.scrollY;\r\n\t\tlet about = props.about.current.offsetTop - 74;\r\n\t\tlet features = props.features.current.offsetTop - 74;\r\n\t\tlet clients = props.clients.current.offsetTop - 74;\r\n\t\tlet careers = props.careers.current.offsetTop - 74;\r\n\t\tlet contact = props.contact.current.offsetTop - 74;\r\n\r\n\t\tif (currentScroll >= about && currentScroll < features) {\r\n\t\t\tsetSection(\"about\");\r\n\t\t} else if (currentScroll >= features && currentScroll < clients) {\r\n\t\t\tsetSection(\"services\");\r\n\t\t} else if (currentScroll >= clients && currentScroll < careers) {\r\n\t\t\tsetSection(\"clients\");\r\n\t\t} else if (currentScroll >= careers && currentScroll < contact) {\r\n\t\t\tsetSection(\"careers\");\r\n\t\t} else if (currentScroll >= contact) {\r\n\t\t\tsetSection(\"contact\");\r\n\t\t} else {\r\n\t\t\tsetSection(\"home\");\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t setSection(\"home\")} className={styles.logo}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\t{\r\n\t\t\t\t\t!mobile && \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setSection(\"about\")} \r\n\t\t\t\t\t\t\t\tclassName={section === \"about\" ? styles.selected : null}>about\r\n\t\t\t\t\t\t\t setSection(\"services\")}\r\n\t\t\t\t\t\t\t\tclassName={section === \"services\" ? styles.selected : null}>services\r\n\t\t\t\t\t\t\t setSection(\"clients\")}\r\n\t\t\t\t\t\t\t\tclassName={section === \"clients\" ? styles.selected : null}>clients\r\n\t\t\t\t\t\t\t setSection(\"careers\")}\r\n\t\t\t\t\t\t\t\tclassName={section === \"careers\" ? styles.selected : null}>careers\r\n\t\t\t\t\t\t\t setSection(\"contact\")}\r\n\t\t\t\t\t\t\t\tclassName={section === \"contact\" ? styles.selected : null}>contact\r\n\t\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t\t{\r\n\t\t\t\t\tmobile && \r\n\t\t\t\t\t
setMobileMenu(true)}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t
\r\n\t\t\t{\r\n\t\t\t\tmobileMenu && \r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
setMobileMenu(false)}>
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t { setSection(\"about\"); setMobileMenu(false)}} \r\n\t\t\t\t\t\tclassName={section === \"about\" ? styles.selected : null}>about\r\n\t\t\t\t\t { setSection(\"services\"); setMobileMenu(false)}}\r\n\t\t\t\t\t\tclassName={section === \"services\" ? styles.selected : null}>services\r\n\t\t\t\t\t { setSection(\"clients\"); setMobileMenu(false)}}\r\n\t\t\t\t\t\tclassName={section === \"clients\" ? styles.selected : null}>clients\r\n\t\t\t\t\t { setSection(\"careers\"); setMobileMenu(false)}}\r\n\t\t\t\t\t\tclassName={section === \"careers\" ? styles.selected : null}>careers\r\n\t\t\t\t\t {setSection(\"contact\"); setMobileMenu(false)}}\r\n\t\t\t\t\t\tclassName={section === \"contact\" ? styles.selected : null}>contact\r\n\t\t\t\t
\r\n\t\t\t}\r\n\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Nav;","import React, { useEffect, useState, useRef } from 'react';\r\nimport './App.scss';\r\nimport Hero from './components/hero/Hero';\r\nimport About from './components/about/About';\r\nimport Features from './components/features/Features';\r\nimport Clients from './components/clients/Clients';\r\nimport Career from './components/career/Career';\r\nimport Contact from './components/contact/Contact';\r\nimport Nav from './components/nav/Nav';\r\n\r\nimport ReactGA from 'react-ga';\r\nvar Airtable = require('airtable');\r\n\r\nconst initializeReactGA = () => {\r\n ReactGA.initialize(process.env.REACT_APP_GA);\r\n ReactGA.pageview('home');\r\n console.log(\"<3\")\r\n}\r\n\r\nfunction App() {\r\n\r\n const [ about, setAbout ] = useState([]);\r\n const [ features, setFeatures ] = useState([]);\r\n const [ clients, setClients ] = useState([]);\r\n const [ careers, setCareers ] = useState([]);\r\n const [ contact, setContact ] = useState([]);\r\n\r\n let aboutSec = useRef();\r\n let featuresSec = useRef();\r\n let clientsSec = useRef();\r\n let careersSec = useRef();\r\n let contactSec = useRef();\r\n\r\n const retrieveContent = () => {\r\n //--debug console.log('ENV: ', process.env.REACT_APP_AIRTABLE_KEY, process.env.REACT_APP_AIRTABLE_BASE);\r\n\r\n var base = new Airtable({apiKey: process.env.REACT_APP_AIRTABLE_KEY}).base(process.env.REACT_APP_AIRTABLE_BASE);\r\n\r\n base('content').select().eachPage(function page(records, fetchNextPage) {\r\n records.forEach(function(record) {\r\n\r\n let section = record.get('section');\r\n\r\n //categorize content by sections\r\n if (section == \"about\") {\r\n setAbout(prevState => ([...prevState, record]));\r\n } else if (section === \"feature\") {\r\n setFeatures(prevState => ([...prevState, record]));\r\n } else if (section === \"clients\") {\r\n setClients(prevState => ([...prevState, record]));\r\n } else if (section === \"careers\") {\r\n setCareers(prevState => ([...prevState, record]));\r\n } else if (section === \"contact\") {\r\n setContact(prevState => ([...prevState, record]));\r\n }\r\n\r\n });\r\n\r\n fetchNextPage();\r\n\r\n }, function done(err) {\r\n if (err) { console.error(err); return; }\r\n\r\n });\r\n } \r\n\r\n useEffect(() => {\r\n retrieveContent();\r\n initializeReactGA();\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default App;","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__2oF7U\",\"video\":\"styles_video__1EAp6\",\"gif\":\"styles_gif__22KlH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pillContainer\":\"styles_pillContainer__3gPc1\",\"pill\":\"styles_pill__1n15q\",\"red\":\"styles_red__2h7zc\",\"yellow\":\"styles_yellow__GUY_V\",\"blue\":\"styles_blue__1Z_61\",\"black\":\"styles_black__1Dgh9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__3XT0g\",\"BG\":\"styles_BG__2ks1I\",\"content\":\"styles_content__goQgX\",\"featureContainer\":\"styles_featureContainer__2MdHQ\",\"featureItem\":\"styles_featureItem__1iYAq\",\"image\":\"styles_image__1JuLU\",\"hide\":\"styles_hide__22zDv\",\"show\":\"styles_show__yZaL1\",\"buttonContainer\":\"styles_buttonContainer__3WCAn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__1jQTe\",\"BG\":\"styles_BG__Gk2mX\",\"content\":\"styles_content__1ZOqX\",\"text\":\"styles_text__3sMqu\",\"image\":\"styles_image__asNQ1\",\"ring\":\"styles_ring__9kCBR\",\"rotateRing\":\"styles_rotateRing__19Ay9\",\"circle\":\"styles_circle__16fLn\",\"rec\":\"styles_rec__1dwvn\",\"langSelect\":\"styles_langSelect__Q60lV\",\"selected\":\"styles_selected__1DBHN\"};"],"sourceRoot":""}