{"version":3,"sources":["webpack:///./src/components/pageContent.tsx","webpack:///./src/components/haveProject.tsx","webpack:///./src/models/galleryData.ts","webpack:///./src/components/pages/portfolioPage/index.tsx","webpack:///./src/pages/portfolio.tsx","webpack:///./src/models/featuredProjectData.ts","webpack:///./src/models/projectData.js","webpack:///./src/components/mastHead/index.tsx","webpack:///./src/components/featureGrid/index.tsx","webpack:///./src/components/BreadcrumbBar/index.tsx","webpack:///./src/components/pages/portfolioPage/masthead.jpg"],"names":["PageContent","props","children","restProps","key","undefined","className","HaveProjectContainer","styleConfig","colors","gray","screens","lg","HaveProject","data-aos","data-aos-delay","to","sitePaths","appLinks","contact","galleryData","photoPath","images","name","description","GalleryThumb","BlankBox","PortfolioPage","dispatch","React","useContext","AppContext","handleOpenGallery","e","photoId","Number","currentTarget","getAttribute","Images","map","item","lightBoxVisibleAction","backgroundImage","img","BreadcrumbBar","Content","href","id","data","featuredProjectData","galleryitem","mapID","role","tabIndex","data-photo-id","onKeyDown","onClick","SiteIcon","ZoomIn","size","color","alt","src","Portfolio","metaTagData","projectData","module","exports","title","story","featureList","galleryCount","video","MastHead","breakPoints","MastHeadOverlay","index","largeMode","cn","css","FeaturedCard","BlankFeature","FeatureGrid","project","dangerouslySetInnerHTML","__html","aria-hidden","Container","List","blue"],"mappings":"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","file":"component---src-pages-portfolio-tsx-3cfe982e90ffdd21f934.js","sourcesContent":["import React from 'react'\n\nexport const PageContent = (props: React.DetailedHTMLProps, HTMLDivElement>): React.ReactElement => {\n const { children, ...restProps } = props\n return (\n
\n {children}\n
\n )\n}\n\nexport default PageContent\n","import { Link } from 'gatsby'\nimport React from 'react'\n//import ScrollAnimation from 'react-animate-on-scroll'\nimport { sitePaths } from 'config/paths'\nimport { styleConfig } from 'config/styleConfig'\nimport styled from '@emotion/styled'\n\nconst HaveProjectContainer = styled.div`\n background-color: ${styleConfig.colors.gray[600]};\n padding: 3em 0;\n @media screen and (min-width: ${styleConfig.screens.lg}) {\n padding: 4em 0;\n }\n h2 {\n font-weight: 300;\n color: white;\n font-size: 2em;\n @media screen and (min-width: ${styleConfig.screens.lg}) {\n font-size: 2.5em;\n }\n }\n`\n\nconst HaveProject = (): React.ReactElement => {\n return (\n \n
\n

Have a project?

\n \n Let{\"'\"}s get started!\n \n
\n
\n )\n}\n\nexport default HaveProject\n","export interface IGalleryImage {\n name: string\n description: string\n}\nexport interface IGalleryData {\n photoPath: string\n images: IGalleryImage[]\n}\n\nexport const galleryData: IGalleryData = {\n photoPath: '/img/portfolio/gallery',\n images: [\n { name: 'smart', description: '' },\n { name: 'produceplace', description: '' },\n { name: 'innocean', description: '' },\n { name: 'moneris', description: '' },\n { name: 'amex', description: '' },\n { name: 'ofg1', description: '' },\n { name: 'ofg2', description: '' },\n { name: 'ofgadmin', description: '' },\n { name: 'ofgsupply', description: '' },\n { name: 'optimizer', description: '' },\n { name: '2', description: '' },\n { name: '4', description: '' },\n { name: '5', description: '' },\n { name: 'ashleymadison', description: '' },\n { name: 'bellworld', description: '' },\n { name: 'brandsinmotion', description: '' },\n { name: 'cfhi', description: '' },\n { name: 'clothesline2', description: '' },\n { name: 'crossword', description: '' },\n { name: 'cts', description: '' },\n { name: 'envy', description: '' },\n { name: 'harlequin', description: '' },\n { name: 'matrixsite1', description: '' },\n\n { name: 'poledance1', description: '' },\n\n { name: 'resourcemedia', description: '' },\n { name: 'vpg', description: '' },\n { name: 'zwak', description: '' },\n ],\n}\n","import { AppContext, lightBoxVisibleAction } from 'state/context/appContext'\n\nimport BreadcrumbBar from 'components/BreadcrumbBar'\nimport FeatureGrid from 'components/featureGrid'\nimport HaveProject from 'components/haveProject'\nimport Masthead from 'components/mastHead'\nimport PageContent from 'components/pageContent'\nimport React from 'react'\nimport { SiteIcons } from 'components/icons/SiteIcon'\nimport featuredProjectData from 'models/featuredProjectData'\nimport { galleryData } from 'models/galleryData'\nimport img from './masthead.jpg'\nimport styled from '@emotion/styled'\n\nconst galleryImageWidth = '278px'\nconst GalleryThumb = styled.div`\n overflow: hidden;\n position: relative;\n margin: 1rem;\n display: block;\n border-radius: 7px;\n border-color: #ccc;\n border-width: thin;\n border-style: solid;\n .gallery-item-label {\n position: absolute;\n z-index: 9;\n bottom: 0;\n top: 0;\n left: 0;\n width: 100%;\n opacity: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: 30px;\n transition: all 0.2s ease;\n border-radius: 7px;\n display: flex;\n }\n img {\n transition: all 0.5s ease;\n width: 278px;\n height: 160px;\n }\n &:hover {\n .gallery-item-overlay {\n opacity: 0.8;\n }\n img {\n transform: scale(1.1);\n }\n .gallery-item-label {\n margin-top: 0;\n opacity: 1;\n }\n }\n .gallery-item-overlay {\n z-index: 8;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #1784fb;\n opacity: 0;\n transition: all 0.5s ease;\n border-radius: 7px;\n }\n`\nconst BlankBox = styled.div`\n width: ${galleryImageWidth};\n margin: 1rem;\n height: 0;\n`\n\nconst PortfolioPage = (): React.ReactElement => {\n const { dispatch } = React.useContext(AppContext)\n const handleOpenGallery = (e: React.MouseEvent | React.KeyboardEvent): void => {\n const photoId = Number(e.currentTarget.getAttribute('data-photo-id'))\n const Images = galleryData.images.map((item) => `${galleryData.photoPath}/${item.name}.jpg`)\n dispatch(lightBoxVisibleAction(true, Images, photoId))\n }\n // eslint-disable jsx-a11y/no-static-element-interactions\n return (\n <>\n \n

Portfolio

\n
\n \n \n
  • \n Featured Work\n
  • \n
  • \n Gallery\n
  • \n
    \n
    \n
    \n \n

    Featured Work

    \n

    Take a look at some of the projects we've worked on.

    \n \n
    \n
    \n
    \n \n

    Gallery

    \n

    Our work gallery quickly showcases some of the work we've done over the years

    \n
    \n {galleryData.images.map((galleryitem, mapID): React.ReactNode | void => {\n return (\n
    \n \n
    \n \n
    \n
    \n \"\"\n
    \n
    \n )\n })}\n \n \n \n \n
    \n
    \n
    \n \n \n )\n}\n\nexport default PortfolioPage\n","import Head from 'components/head'\nimport Layout from 'layouts'\nimport PortfolioPage from 'components/pages/portfolioPage'\nimport React from 'react'\nimport { metaTagData } from 'config'\n\nconst Portfolio = (): React.ReactElement => {\n return (\n <>\n \n \n \n \n \n )\n}\n\nexport default Portfolio\n","import projectData from './projectData'\n\nexport const featuredProjectData: IFeaturedProject[] = projectData\nexport default featuredProjectData\n","const featuredProjectData = [\n {\n key: 'focalpoint',\n title: 'Focal Point',\n description: 'Call management application',\n story:\n 'We worked with IBM to build a new version of their global call management application. The application was built with Angular with Twitter Bootstrap CSS Framework. We created custom Angular application validation and form components to increase productivity and consisitency within the workflow.',\n featureList: ['Angular', 'Twitter Bootstrap', 'Javascript', 'Grunt', 'Sass', 'AngularUI'],\n galleryCount: 12,\n id: 10,\n },\n {\n key: 'ofgsupply',\n title: 'OFG Supply Website',\n description: 'Inventory management system',\n story:\n '

    We built a custom tool for Ontario Flower Growers to work with Lowe’s Home Improvement manage inventory of product. Users can login to view inventory and availability. Leave comments and edit comments.

    The application also used ODBC to sync data from the website and the internal company AS400 IBM database system.

    The admin tool allows uploading inventory data to be imported into the database using csv or xml format.

    Administrators can also manage inventory for all stores, create new stores and manage users.

    ',\n featureList: ['PHP', 'MySQL', 'Codeigniter', 'JQuery', 'Twitter Bootstrap'],\n galleryCount: 3,\n id: 9,\n },\n {\n key: 'virtualclothesline',\n title: 'Canadian Diabetes Association',\n description: 'Charity Website',\n story:\n '

    VirtualClothesline.ca was a site we built for The Data Group.

    The site was a charity site for Canadian Diabetes Association. Users were able to make virtual clothing donations.

    The site also had social media integration where users could login and share their donations to their Facebook wall or send a tweet promoting their donation to Twitter.

    The site was designed with PHP Codeigniter framework and Adobe Flash.

    ',\n featureList: ['PHP', 'Codeigniter', 'MySQL', 'Flash', 'JQuery', 'Twitter Bootstrap'],\n galleryCount: 3,\n id: 8,\n },\n {\n key: 'harlequin',\n title: 'Harlequin Website',\n description: 'Anniversary Website',\n story:\n '

    Tryharlequin.com was a site we built for M Marketing Inc. The site offered free book downloads to users to help celebrate Harequin's anniversary.

    The site also included an administrator dashboard that showed user statistics like how many ebooks were downloaded, which genre's were the most popular and more usual site usage information.

    The site was designed with PHP Codeigniter framework and Adobe Flash.

    ',\n featureList: ['PHP', 'Codeigniter', 'MySQL', 'Flash', 'JQuery', 'Twitter Bootstrap'],\n galleryCount: 0,\n id: 7,\n },\n {\n key: 'produceplace',\n title: 'Produce Place Website',\n description: 'Website & Admin tool',\n story:\n '

    A custom designed website and content management system (CMS).

    The site provided up-to-date information to the food service industry on the availability of locally grown fruits and vegetables.

    The admin portal allows editing growers, news content and other admin functions to help the client manage the content of the site.

    The project was built with PHP, Codeigniter and MySQL.

    The site was also multilingual for English and French languages.

    ',\n featureList: ['PHP', 'Codeigniter', 'MySQL', 'Flash', 'JQuery', 'Twitter Bootstrap'],\n galleryCount: 4,\n id: 6,\n },\n {\n key: 'moneris',\n title: 'Moneris Offer Website',\n description: 'Responsive Website',\n story:\n '

    The project was built for M Marketing Inc for their client Moneris. It&s an offer site to help users sign up for their business promotions.

    The site has a responsive design for mobile devices and desktop and is available in English and French.

    It was developed using PHP, Codeigniter, MySQL, Jquery and Twitter Bootstrap framework.

    ',\n featureList: ['PHP', 'Codeigniter', 'MySQL', 'Flash', 'JQuery', 'Twitter Bootstrap'],\n galleryCount: 3,\n id: 5,\n },\n {\n key: 'ofg',\n title: 'OFG Website',\n description: 'Multiple portals & ordering sytem',\n story:\n '

    Website and content management system (CMS) for Ontario Flower Growers. The site had multiple portals for buyers, growers and administrators.

    The website allowed growers in Ontario to place their products and product availability online. Registered buyers could login to the system and purchase grower products and choose which days they would like to pick up their products.

    An application was also created to sync data from the website and the internal company AS400 IBM database system.

    The site was made with ASP.net 2, Jquery, Ms SQL and Macromedia Flash.

    ',\n featureList: ['ASP.net', 'Microsoft SQL Server', 'JQuery', 'Twitter Bootstrap'],\n galleryCount: 11,\n id: 4,\n },\n {\n key: 'innocean',\n title: 'Innocean Extranet',\n description: 'File sharing & upload tool',\n story:\n '

    We built an extranet web application for Innocean Canada. The application has an administration tool to manage users, files and permissions. New clients and companies can be added easily with the tool.

    Users of the tool can upload and track files with the ability to access previous file versions with the custom upload tool we built. Files are easily uploaded right from the browser.

    The project was built with PHP, MySQL and the Codeigniter and Twitter Bootstrap framework.

    ',\n featureList: ['Laravel', 'PHP', 'JQuery', 'Bootstrap'],\n galleryCount: 4,\n id: 3,\n },\n {\n key: 'smart',\n title: 'Flight Centre CMS',\n description: 'Social CMS tool',\n story:\n '

    We developed a content manage system (CMS) for Flight Centre Travel Group to manage their global social media campaigns. The application was developed using Laravel PHP framework, Amazon SDK, Angular and Twitter Bootstrap framework.

    The application allows employees to create new campaigns, manage users, security settings, upload and manage files and create pages for the application.

    Users are able to create Facebook pages using the application using a WYSIWYG tool for content creation. Users with no programming experience can modify and edit pages, but a visual source code editor still allows advanced users the ability to edit code directly

    ',\n featureList: ['Angular', 'Laravel', 'PHP', 'Bootstrap'],\n video: 'https://www.youtube.com/embed/CnN8iMoJH-A',\n galleryCount: 6,\n id: 2,\n },\n {\n key: 'vpg',\n title: 'Virtually Perfect Golf App',\n description: 'VR golf training system',\n story:\n 'We worked with IBM to build a new version of their global call management application. The application was built with Angular with Twitter Bootstrap CSS Framework. We created custom Angular application validation and form components to increase productivity and consisitency within the workflow.',\n featureList: ['XML', 'Macromedia Director', 'Actionscript', 'Macromedia Flash'],\n video: 'https://www.youtube.com/embed/Nwdye5_I73s',\n galleryCount: 4,\n id: 1,\n },\n]\nmodule.exports = featuredProjectData\n","import React from 'react'\nimport cn from 'classnames'\nimport { css } from '@emotion/core'\nimport styleConfig from 'config/styleConfig'\nimport styled from '@emotion/styled'\n\nconst MastHead = styled.div`\n display: flex;\n background: #000;\n flex-direction: column;\n justify-content: center;\n background-size: 100% 100%;\n background-position: bottom left;\n background-repeat: no-repeat;\n overflow: hidden;\n width: 100%;\n height: 350px;\n padding: 40px 0 0 0;\n ${styleConfig.breakPoints.lg} {\n padding: 80px 0 0 0;\n }\n &.largeMode {\n height: 400px;\n }\n ${styleConfig.breakPoints.lg} {\n padding: 30px 0 0 0;\n height: 300px;\n &.largeMode {\n height: 500px;\n }\n }\n position: relative;\n`\n\nconst MastHeadOverlay = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: #2a2d36;\n opacity: 0.4;\n`\ninterface IProps {\n largeMode?: boolean\n backgroundImage: string\n children: React.ReactNode\n}\n\nconst index = ({ largeMode = false, children, backgroundImage }: IProps): React.ReactElement => {\n return (\n
    \n \n {largeMode && }\n
    {children}
    \n
    \n
    \n )\n}\n\nexport default index\n","import { Link } from 'gatsby'\nimport React from 'react'\nimport styled from '@emotion/styled'\n\nconst maxWidth = '380px'\nconst FeaturedCard = styled.div`\n overflow: hidden;\n border-color: #ccc;\n border-width: thin;\n border-style: solid;\n flex-basis: ${maxWidth};\n max-width: ${maxWidth};\n margin: 1rem;\n background: white;\n .imgContainer {\n border-bottom: #ccc thin solid;\n overflow: hidden;\n width: 378px;\n height: 252px;\n }\n img {\n transition: all 0.5s ease;\n }\n &:hover {\n img {\n transform: scale(1.1);\n }\n }\n`\nconst BlankFeature = styled.div`\n flex-basis: ${maxWidth};\n height: 0;\n`\ninterface IProps {\n className?: string\n data: IFeaturedProject[]\n}\n\nconst FeatureGrid = (props: IProps): React.ReactElement => {\n return (\n
    \n {props.data.map((project, mapID): React.ReactNode | void => (\n \n \n
    \n \"\"\n
    \n
    \n
    {project.title}
    \n

    \n

    \n \n \n
    \n ))}\n \n \n \n
    \n )\n}\n\nexport default FeatureGrid\n","import React from 'react'\nimport styleConfig from 'config/styleConfig'\nimport styled from '@emotion/styled'\n\ninterface IProps {\n children: React.ReactNode\n className?: string\n}\n/*\nconst Container = (props: IProps): React.ReactElement => {\n return {props.children}\n}\n*/\nconst Container = styled.div`\n padding: 1rem;\n background: white;\n display: flex;\n margin: 0 auto 0;\n width: 100%;\n`\nconst List = styled.ul`\n li {\n padding: 0 1.5rem 0 0;\n }\n a:hover {\n color: ${styleConfig.colors.blue[800]};\n }\n`\nconst BreadcrumbBar = (props: IProps): React.ReactElement => {\n return {props.children}\n}\nconst Content = (props: IProps): React.ReactElement => {\n return {props.children}\n}\nBreadcrumbBar.Content = Content\nexport default BreadcrumbBar\n","module.exports = __webpack_public_path__ + \"static/masthead-a220ff427740bad634209ce4079774d3.jpg\";"],"sourceRoot":""}