{"version":3,"sources":["assets/img/logo.svg","assets/img/jumbotron-2-img.jpg","assets/img/jumbotron-3-img.png","assets/img/it-support-img-1.jpg","assets/img/it-support-img-2.png","assets/img/it-support-img-3.png","assets/img/it-support-img-4.png","assets/img/it-support-img-5.jpg","assets/img/it-support-img-6.jpg","assets/img/it-support-img-7.png","assets/img/jumbotron-4-img.png","assets/img/cloud-img-1.png","assets/img/cloud-img-2.png","assets/img/cloud-img-3.png","assets/img/jumbotron-5-img.jpg","assets/img/recovery-img-1.png","assets/img/recovery-img-2.png","assets/img/recovery-img-3.png","assets/img/recovery-img-4.png","assets/img/masthead-image.png","components/navbar-component.jsx","components/newsfeed-component.jsx","pages/home-page.component.jsx","components/fading-footer.component.jsx","pages/services-page-a.component.jsx","components/accordian-component.jsx","pages/services-page-b.component.jsx","pages/services-page-c.component.jsx","pages/contact-page.component.jsx","App.js","serviceWorker.js","index.js"],"names":["module","exports","MainNavbar","props","useState","isOpen","setIsOpen","className","NavbarBrand","href","Media","object","src","BrandLogo","alt","style","maxHeight","Navbar","color","light","expand","NavbarToggler","onClick","Collapse","navbar","Nav","NavItem","border","NavLink","target","rel","UncontrolledDropdown","nav","inNavbar","DropdownToggle","caret","DropdownMenu","right","DropdownItem","NewsFeed","openLink","url","window","location","componentDidMount","RSSParser","parseURL","state","feedURL","then","feed","console","log","items","setState","currentFeed","formatFeedCards","slice","map","l","i","Card","key","CardHeader","title","creator","dateTime","now","Date","diff","getTime","Math","abs","round","String","getTimeDifference","pubDate","CardBody","CardText","contentSnippet","replace","Button","bind","link","this","class","Spinner","size","React","Component","HomePage","Jumbotron","backgroundImage","JumbotronBackground","backgroundSize","backgroundPosition","backgroundColor","Row","Col","xl","FadingFooter","ServicesPageA","fluid","img1","width","img2","img3","Container","CardGroup","minWidth","block","id","marginBottom","UncontrolledCollapse","toggler","sm","img4","img5","img6","img7","Accordion","open","toggleSection","index","undefined","Children","children","child","type","AccordionItem","cloneElement","AccordionHeader","AccordionBody","Item","Header","Body","ServicesPageB","CardDeck","CardImg","top","CardTitle","ServicesPageC","height","role","aria-valuenow","aria-valuemin","aria-valuemax","require","config","ContactPage","captchaAlert","captchaComplete","submitted","validationError","emailError","phoneError","sendError","sendEmail","validateEmailAddress","validatePhone","onCaptchaComplete","validateForm","e","preventDefault","result","validator","isEmail","value","isMobilePhone","emailjs","sendForm","process","error","md","Alert","Form","onSubmit","FormGroup","Label","for","Input","name","required","onChange","invalid","FormFeedback","sitekey","fontSize","App","path","exact","component","textAlign","getFullYear","Boolean","hostname","match","ReactDOM","render","StrictMode","document","getElementById","navigator","serviceWorker","ready","registration","unregister","catch","message"],"mappings":"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","file":"static/js/main.f4abfccb.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.91dd93ce.svg\";","module.exports = __webpack_public_path__ + \"static/media/jumbotron-2-img.cef1e3db.jpg\";","module.exports = __webpack_public_path__ + \"static/media/jumbotron-3-img.9830c110.png\";","module.exports = __webpack_public_path__ + \"static/media/it-support-img-1.ad80c1a1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/it-support-img-2.dd5ea90d.png\";","module.exports = __webpack_public_path__ + \"static/media/it-support-img-3.c7996746.png\";","module.exports = __webpack_public_path__ + \"static/media/it-support-img-4.bb5a0e33.png\";","module.exports = __webpack_public_path__ + \"static/media/it-support-img-5.1681efce.jpg\";","module.exports = __webpack_public_path__ + \"static/media/it-support-img-6.72f96d72.jpg\";","module.exports = __webpack_public_path__ + \"static/media/it-support-img-7.c2069ba5.png\";","module.exports = __webpack_public_path__ + \"static/media/jumbotron-4-img.5db5231f.png\";","module.exports = __webpack_public_path__ + \"static/media/cloud-img-1.3be14850.png\";","module.exports = __webpack_public_path__ + \"static/media/cloud-img-2.8c8e7a18.png\";","module.exports = __webpack_public_path__ + \"static/media/cloud-img-3.f4d87849.png\";","module.exports = __webpack_public_path__ + \"static/media/jumbotron-5-img.d37d4798.jpg\";","module.exports = __webpack_public_path__ + \"static/media/recovery-img-1.7ec44e6f.png\";","module.exports = __webpack_public_path__ + \"static/media/recovery-img-2.1299669b.png\";","module.exports = __webpack_public_path__ + \"static/media/recovery-img-3.0382610e.png\";","module.exports = __webpack_public_path__ + \"static/media/recovery-img-4.de5db1e5.png\";","module.exports = __webpack_public_path__ + \"static/media/masthead-image.29aa9dd0.png\";","import BrandLogo from '../assets/img/logo.svg'\r\nimport React, { useState } from 'react';\r\nimport {\r\n Collapse,\r\n Navbar,\r\n NavbarToggler,\r\n NavbarBrand,\r\n Nav,\r\n NavItem,\r\n NavLink,\r\n UncontrolledDropdown,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem,\r\n Media\r\n} from 'reactstrap';\r\n\r\n\r\nconst MainNavbar = (props) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const toggle = () => setIsOpen(!isOpen);\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n );\r\n}\r\n\r\nexport default MainNavbar;","import React from 'react';\r\nimport RSSParser from 'rss-parser'\r\nimport { Card, Button, CardText, CardBody, CardHeader, Spinner} from 'reactstrap'\r\nimport \"../assets/css/FeedPage.css\"\r\n\r\n// Note: some RSS feeds can't be loaded in the browser due to CORS security.\r\n// To get around this, you can use a proxy.\r\nconst CORS_PROXY = \"https://cors-anywhere.herokuapp.com/\"\r\n\r\nfunction getTimeDifference(dateTime) {\r\n var now = new Date();\r\n var diff = (dateTime.getTime() - now.getTime()) / 1000;\r\n diff /= (60 * 60);\r\n console.log(diff);\r\n if (Math.abs(diff) < 1) {\r\n diff = diff * 60;\r\n diff = Math.abs(Math.round(diff));\r\n if (diff === 1){\r\n return String(diff) + \" minute ago\";\r\n }\r\n return String(diff) + \" minutes ago\";\r\n }\r\n diff = Math.abs(Math.round(diff));\r\n if (diff === 1){\r\n return String(diff) + \" hour ago\";\r\n }\r\n return String(diff) + \" hours ago\";\r\n}\r\n\r\nclass NewsFeed extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n // Don't call this.setState() here!\r\n\r\n this.state = {\r\n feedURL: props.src,\r\n currentFeed: null\r\n };\r\n this.openLink = this.openLink.bind(this);\r\n }\r\n\r\n openLink = url => {\r\n window.location.href = url;\r\n }\r\n\r\n componentDidMount = () => {\r\n let parser = new RSSParser();\r\n parser.parseURL(CORS_PROXY + this.state.feedURL).then((feed) => {\r\n console.log(feed.items);\r\n this.setState({ currentFeed: feed });\r\n });\r\n }\r\n\r\n formatFeedCards = () => {\r\n return this.state.currentFeed.items.slice(0, 5).map((l, i) =>\r\n \r\n \r\n

{l.title}

\r\n
{l.creator} {\"\\u2219\"} {getTimeDifference(new Date(l.pubDate))} {\"\\u2219\"} {this.state.currentFeed.title}
\r\n
\r\n \r\n {l.contentSnippet.replace(\" \", \"\")}\r\n \r\n \r\n
\r\n )\r\n }\r\n\r\n render() {\r\n if (!this.state.currentFeed) {\r\n return (\r\n
\r\n \r\n

Loading...

\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {this.formatFeedCards()}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default NewsFeed;","import React from 'react';\r\nimport { Jumbotron, Row, Col } from 'reactstrap';\r\nimport JumbotronBackground from \"../assets/img/jumbotron-2-img.jpg\"\r\nimport NewsFeed from '../components/newsfeed-component';\r\n\r\nclass HomePage extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n

MANAGED IT SERVICES

\r\n
\r\n

Constatnly challenging ourselves to provide the best value to our clients

\r\n
\r\n
\r\n
\r\n
\r\n

Tech News

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default HomePage;\r\n","import React from 'react';\r\nimport {Button} from 'reactstrap'\r\n\r\nimport '../assets/css/fadingFooter.css'\r\n\r\nclass FadingFooter extends React.Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n
TECHNOLOGY DONE RIGHT
\r\n

We work along side our clients to provide managed IT solutions that coincide with their business goals.

\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default FadingFooter;","import React from 'react';\r\nimport { FaServer, FaDesktop, FaClone, FaCloudUploadAlt, FaShieldAlt } from 'react-icons/fa';\r\nimport { Container, Jumbotron, Row, Col, Media, Card, CardBody, CardText, Button, UncontrolledCollapse, CardHeader, CardGroup } from 'reactstrap';\r\nimport JumbotronBackground from \"../assets/img/jumbotron-3-img.png\"\r\nimport FadingFooter from \"../components/fading-footer.component\"\r\n\r\nimport \"../assets/css/servicePageA.css\"\r\n\r\nimport img1 from \"../assets/img/it-support-img-1.jpg\"\r\nimport img2 from \"../assets/img/it-support-img-2.png\"\r\nimport img3 from \"../assets/img/it-support-img-3.png\"\r\nimport img4 from \"../assets/img/it-support-img-4.png\"\r\nimport img5 from \"../assets/img/it-support-img-5.jpg\"\r\nimport img6 from \"../assets/img/it-support-img-6.jpg\"\r\nimport img7 from \"../assets/img/it-support-img-7.png\"\r\n\r\nclass ServicesPageA extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n

Fully Managed IT Services

\r\n
\r\n

Professional Solutions from Knowledgeable Technicians

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Web\r\n
\r\n
\r\n
\r\n
\r\n
Technology as an Asset
\r\n

Communication and response times are pillars in Tech Valley Networking’s philosophy to IT Support services. Our professional technicians offer customized IT Consulting plans designed to make technology work for you, rather than the other way around. Tech Valley Networking’s fully managed IT services provide comprehensive solutions for small to medium sized businesses throughout the Capital Region and beyond.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Web\r\n
\r\n
\r\n
\r\n
\r\n
Proactive Management
\r\n

The break/fix model to IT support is a thing of the past. Tech Valley Networking’s IT Support Services utilize preventative measures to protect your business before a disaster strikes. Full infrastructure maintenance is included in our plans in an effort to minimize your headaches and maximize your profits. Let us take the headaches out your managed IT services so you can focus on what you are good at, running your business.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Web\r\n
\r\n
\r\n
\r\n
\r\n
Full Infrastructure Management
\r\n

Tech Valley Networking’s fully managed IT services includes full infrastructure monitoring for our clients. To us, fully managed means we take the stress and confusion out of your business’ technological needs. Our full infrastructure monitoring includes servers, workstations, firewalls, printers, etc. We take care of everything for our clients, leaving them free to utilize technology as an asset to your organization rather than a burden.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n Every organization runs different software and applications. Our knowledge of on-premise and cloud based application management can help you deploy and maintain your critical applications.\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n Uptime is everything. We can monitor and maintain your servers while your office stays running smoothly. We allow peace of mind with the ability to monitor your hardware 24/7.\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n How efficient are your workstations? Have you had any maintenance on them recently? We can assist with Virus Protection and scheduled maintenance to keep your local hardware running smoothly and securely.\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n Securing your Digital Resources is more important than ever. Are you using outdated encryption? When was the last time you audited your network equipment? Let us update and maintain your security. Remove risk from your business.\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n Auditing and monitoring your data backups is a crucial part of your business infrastructure. Minimize risk and downtime by utilizing an enterprise level backup service. Loss of data is not a matter of “if”, but “when”. Hybrid backup solutions that meet Compliance Regulations, including data verification and Secure Encrypted Offsite Cloud Storage.\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Headquartered in Albany, NY, Tech Valley Networking has been providing IT Support Services in the Capital Region for the last 15 Years. We have had a great experience with providing IT Services to those in the Capital Region who are interested in utilizing technology to enhance their business in various ways. We offer a vast array of IT Services to all of our clients and have helped many organizations save monthly costs through bundling managed services in one place. A no cost, no obligation network review is available for all organizations in our local service areas. Contact us today to schedule a meeting.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ServicesPageA;","import React from \"react\";\r\nimport { Card, CardBody, CardHeader, Collapse, Button } from \"reactstrap\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nexport default class Accordion extends React.Component {\r\n state = {\r\n open: this.props.open\r\n };\r\n\r\n toggleSection = index => () => {\r\n this.setState(({ open }) => ({\r\n open: index === open ? undefined : index\r\n }));\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n {React.Children.map(this.props.children, (child, index) => {\r\n if (child.type !== AccordionItem) return null;\r\n return React.cloneElement(child, {\r\n isOpen: child.props.open || this.state.open === index,\r\n onClick: this.toggleSection(index)\r\n });\r\n })}\r\n
\r\n );\r\n }\r\n}\r\n\r\nAccordion.propTypes = {\r\n open: PropTypes.number\r\n};\r\n\r\nconst AccordionItem = ({ children, isOpen, onClick }) => (\r\n \r\n {React.Children.map(children, child => {\r\n if (child.type === AccordionHeader) {\r\n return React.cloneElement(child, { onClick });\r\n }\r\n\r\n if (child.type === AccordionBody) {\r\n return React.cloneElement(child, { isOpen });\r\n }\r\n\r\n return null;\r\n })}\r\n \r\n);\r\n\r\nconst AccordionHeader = ({ children, onClick }) => (\r\n \r\n
\r\n \r\n
\r\n
\r\n);\r\n\r\nconst AccordionBody = ({ children, isOpen }) => (\r\n \r\n {children}\r\n \r\n);\r\n\r\nAccordion.Item = AccordionItem;\r\nAccordion.Header = AccordionHeader;\r\nAccordion.Body = AccordionBody;\r\n","import React from 'react';\r\nimport { Container, Jumbotron, Row, Col, Card, CardBody, CardTitle, CardImg, CardText, CardDeck } from 'reactstrap';\r\nimport Accordion from \"../components/accordian-component\"\r\nimport JumbotronBackground from \"../assets/img/jumbotron-4-img.png\"\r\nimport FadingFooter from \"../components/fading-footer.component\"\r\n\r\nimport \"../assets/css/servicePageB.css\"\r\n\r\nimport img1 from \"../assets/img/cloud-img-1.png\"\r\nimport img2 from \"../assets/img/cloud-img-2.png\"\r\nimport img3 from \"../assets/img/cloud-img-3.png\"\r\n\r\nclass ServicesPageB extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n

Cloud Computing

\r\n
\r\n

Your business. On the go.

\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n

Your Business on the Go

\r\n
\r\n

Cloud computing is the future of business. No longer are you limited to your internal network to access your business applications and email. Anywhere you have an internet connection, you have the power of the cloud. Tech Valley Networking’s managed IT services enables our clients to access email, create invoices, and have the same desktop experience from anywhere you have internet access. Don’t limit your business. embrace the scalability and flexibility of cloud computing.

\r\n
\r\n \r\n \r\n

Why Should Your Business Move to the Cloud?

\r\n \r\n \r\n Accessible Anywhere\r\n Anywhere you have an internet connection, you have access to your business applications. Invoice while on location, send an email without having to wait until you get back to the office, simulate the office experience from the comfort of your home office. No longer are you limited to achieving maximum efficiency only while in the office..\r\n \r\n \r\n Cutting Costs\r\n Eliminate the costly expenses associated with purchasing and maintaining your business infrastructure. Save on software and hardware costs as everything is maintained in the cloud. Cut your office costs as you no longer have to maintain a temperature controlled server environment or foot the bill to power a server.\r\n \r\n \r\n Maximize Uptime\r\n All of our cloud servers have enterprise replication to ensure your cloud data is secure. Tech Valley Networking’s Cloud Servers are installed on enterprise systems designed for maximum uptime. No longer will you need to worry about your server going down and being unable to work.\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Office 365\r\n The Office you know at your fingertips – access your applications and files anywhere. PC, Mac, and mobile devices all allow editing on the go.\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Exchange\r\n 24/7 access to email from any device. Seamlessly migrate to the cloud to eliminate your reliance on a stationary Exchange server.\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Azure\r\n Transition your infrastructure to the cloud. Access your applications anywhere on the international network of Microsoft datacenters.\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ServicesPageB;","import React from 'react';\r\nimport { Container, Jumbotron, Row, Col, Card, CardBody, CardTitle, CardImg, CardText, CardDeck, Media } from 'reactstrap';\r\nimport Accordion from \"../components/accordian-component\"\r\nimport JumbotronBackground from \"../assets/img/jumbotron-5-img.jpg\"\r\nimport FadingFooter from \"../components/fading-footer.component\"\r\n\r\nimport \"../assets/css/servicePageC.css\"\r\n\r\nimport img1 from \"../assets/img/recovery-img-1.png\"\r\nimport img2 from \"../assets/img/recovery-img-2.png\"\r\nimport img3 from \"../assets/img/recovery-img-3.png\"\r\nimport img4 from \"../assets/img/recovery-img-4.png\"\r\n\r\nclass ServicesPageC extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n

Disaster Recovery

\r\n
\r\n

Ensure your business is protected

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Reliable Protection against Business Disasters

\r\n
\r\n

Business disaster can strike at any time. Tech Valley Networking’s managed IT services’ clients rest easy knowing that we are protecting them against all manners of disaster – natural disasters, theft, technological malfunctions, etc. We offer detailed disaster recovery plans for our clients, ensuring a quick and organized plan of attack in the case of a disaster. A detailed disaster recovery and backup plan can save you thousands to hundreds of thousands of dollars in the event of a disaster. Tech Valley Networking has comprehensive cloud and local backup plans designed to get you up and running and soon as possible while simultaneously protecting your business against business disasters of any nature.

\r\n
\r\n

HIPAA COMPLIANT | PCI COMPLIANT | NIST | FIPS 140-2 | GDPR Availability

\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n

Layers of Protection

\r\n \r\n \r\n Comprehensive Backups\r\n Ensure your infrastructure is protected with cloud and local backups. Rest easy knowing that all your important data is recoverable in the case of a disaster.\r\n \r\n \r\n Disaster Recovery Plan\r\n A step by step disaster recovery plan is vital for your business’ preparation for a disaster situation. This plan ensures you can get your business up and running as soon as possible to mitigate the impact on your clients.\r\n \r\n \r\n Infrastructure Monitoring\r\n Tech Valley Networking’s fully managed IT services includes full infrastructure monitoring for our clients. Proactive infrastructure monitoring allows us to prevent small issues from becoming large disasters.\r\n \r\n \r\n \r\n \r\n

Disaster Protection

\r\n
\r\n
\r\n
\r\n Cloud/Local Backups 100%\r\n
\r\n
\r\n
\r\n
\r\n Disaster Recovery Plan 100%\r\n
\r\n
\r\n
\r\n
\r\n Infrastructure Monitoring 100%\r\n
\r\n
\r\n
\r\n
\r\n Responsive Monitoring 100%\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Business Backup Solutions

\r\n\r\n \r\n \r\n \r\n
\r\n \r\n Hybrid Solutions\r\n Hybrid solutions combine the peace of mind of offsite backups with the speedy restore functionality of local backups\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Cloud Backups\r\n Enterprise level encryption (256bit AES) and security ensure your data is protected with offsite backups. HIPAA Compliant for Peace of Mind\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Local Backups\r\n Local backups provide the quickest recovery times as your backups are stored on your network and easily accessible\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ServicesPageC;","import React from 'react';\r\nimport emailjs from 'emailjs-com';\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport validator from 'validator';\r\nimport { Container, Jumbotron, Button, Form, FormGroup, Label, Input, Alert, FormFeedback, Row, Col } from 'reactstrap';\r\n\r\nimport JumbotronBackground from \"../assets/img/masthead-image.png\"\r\n\r\nrequire('dotenv').config()\r\n\r\nclass ContactPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n captchaAlert: false,\r\n captchaComplete: false,\r\n submitted: false,\r\n validationError: false,\r\n emailError: false,\r\n phoneError: false,\r\n sendError: false\r\n };\r\n\r\n this.sendEmail = this.sendEmail.bind(this);\r\n this.validateEmailAddress = this.validateEmailAddress.bind(this);\r\n this.validatePhone = this.validatePhone.bind(this);\r\n this.onCaptchaComplete = this.onCaptchaComplete.bind(this);\r\n this.validateForm = this.validateForm.bind(this);\r\n }\r\n\r\n validateEmailAddress(e) {\r\n e.preventDefault();\r\n let result = validator.isEmail(e.target.value);\r\n this.setState({ emailError: !result });\r\n return result;\r\n }\r\n\r\n validatePhone(e) {\r\n e.preventDefault();\r\n let result = validator.isMobilePhone(e.target.value, \"en-US\");\r\n this.setState({ phoneError: !result });\r\n return result;\r\n }\r\n\r\n onCaptchaComplete(e) {\r\n console.log(\"Captcha value:\", e);\r\n this.setState({ captchaAlert: false, captchaComplete: true });\r\n }\r\n\r\n validateForm() {\r\n if (!this.state.captchaComplete) {\r\n this.setState({ captchaAlert: true });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n sendEmail(e) {\r\n e.preventDefault();\r\n\r\n if (!this.validateForm()) {\r\n console.log(\"Email not sent...\");\r\n return null;\r\n }\r\n\r\n emailjs.sendForm(process.env.REACT_APP_EMAILJS_SERVICE_ID, process.env.REACT_APP_EMAILJS_TEMPLATE_ID, e.target, process.env.REACT_APP_EMAILJS_USER_ID)\r\n .then((result) => {\r\n this.setState({ submitted: true });\r\n }, (error) => {\r\n this.setState({ sendError: true });\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n

We would love to hear from you

\r\n
\r\n
\r\n \r\n \r\n \r\n {!this.state.submitted\r\n ?\r\n this.state.sendError\r\n ?\r\n \r\n Sorry, there was issue in sending the email, please try again\r\n \r\n :\r\n
\r\n

Contact Form

\r\n
Please fill out the form below to send us a message
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Please enter a valid email address\r\n \r\n \r\n \r\n \r\n Please enter a valid U.S. phone number\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.state.captchaAlert ?\r\n Please complete the captcha! :\r\n
\r\n }\r\n\r\n
\r\n \r\n
\r\n :\r\n \r\n Email has been sent!\r\n \r\n }\r\n \r\n \r\n

Give us a call or SMS

\r\n
Reach out to us via the following phone number
\r\n
\r\n 518-464-1492\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ContactPage;","import React from 'react';\r\nimport { BrowserRouter as Router, Route } from \"react-router-dom\";\r\n\r\nimport MainNavbar from './components/navbar-component'\r\nimport HomePage from './pages/home-page.component'\r\nimport ServicesPageA from './pages/services-page-a.component'\r\nimport ServicesPageB from './pages/services-page-b.component'\r\nimport ServicesPageC from './pages/services-page-c.component'\r\nimport ContactPage from './pages/contact-page.component'\r\n\r\nclass App extends React.Component {\r\n render() {\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Copyright © {(new Date()).getFullYear()} Tech Valley Networking Services, LLC. All Rights Reserved.

\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","// 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 'bootstrap/dist/css/bootstrap.min.css';\r\nimport 'bootstrap';\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"],"sourceRoot":""}