{"version":3,"sources":["components/ProgressTracker/ProgressTracker.js","containers/HomePage/HomePage.js","containers/HomePage/images/BOB-2023-320x280-Header1-mobile-@1x-min.png","containers/HomePage/images/BOB-2023-640x560-Header1-mobile-@2x-min.png","containers/HomePage/images/BOB-2023-Header1-1024x280-tablet-@1x-min.png","containers/HomePage/images/BOB-2023-Header1-2048x560-tablet-@2x-min.png","containers/HomePage/images/BOB-2023-Header-1@1x-min.png","containers/HomePage/images/BOB-2023-Header-1@2x-min.png","components/CustomComponents/Banners/Banner.js","components/CustomComponents/Backgrounds/BgGrey.js"],"names":["numberFormat","Intl","NumberFormat","ProgressTracker","props","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","el","React","createRef","_this2","maxValue","pointsBalance","Math","ceil","LinearGauge","renderTo","width","window","innerWidth","height","minValue","majorTicks","mxValue","multiplier","i","concat","toConsumableArray","format","ticks","minorTicks","colorPlate","colorBarStroke","borderShadowWidth","borders","barBeginCircle","barWidth","barLength","tickSide","numberSide","needleSide","needleType","needleWidth","colorNeedle","colorNeedleEnd","colorStrokeTicks","value","colorBarProgress","fontNumbersSize","colorTitle","fontTitleSize","fontTitleWeight","title","draw","_this3","react_default","a","createElement","ref","canvas","id","Component","defaultProps","StatementProvider","LoadAsync","__webpack_require__","e","then","bind","StatementLoyalty","StatementStyles","styled","div","_templateObject","thd","fetchStatements","endpoint","section","HomePage","_ref","settings","cart","Helmet_default","PrivateComponent","redirectOnError","pathname","settingsApp","loginPagePath","Banner","pageTitle","Fragment","bannerMobile","bannerMobile2x","bannerTablet","bannerTablet2x","bannerDesktop","bannerDesktop2x","BgGrey","smooth_ui_core_sc_es","justifyContent","xs","className","components_ProgressTracker_ProgressTracker","fetch","render","_ref2","statement","onStatementUpdateAccountRequest","clients","data","values","loyalty","LoadingAnimation","undefined","mapStateToProps","createStructuredSelector","selectCart","withConnect","connect","compose","withSettings","module","exports","p","BannerWrapper","BannerContainer","_templateObject2","up","css","_templateObject3","_templateObject4","react__WEBPACK_IMPORTED_MODULE_1___default","_smooth_ui_core_sc__WEBPACK_IMPORTED_MODULE_3__","alignItems","md","lg","olg"],"mappings":"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","file":"static/js/homepage.aab6bb4e.chunk.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { LinearGauge } from 'canvas-gauges';\n\nconst numberFormat = new Intl.NumberFormat();\n\nclass ProgressTracker extends Component {\n constructor(props) {\n super(props);\n this.el = React.createRef();\n }\n\n componentDidMount() {\n const maxValue = () => {\n return this.props.pointsBalance <= 15000\n ? 20000\n : Math.ceil(this.props.pointsBalance / 5000) * 5000 +\n Math.ceil(this.props.pointsBalance / 5000) * 500;\n };\n const maxWidth = () => {\n return window.innerWidth < 1200 ? window.innerWidth - 50 : 1100;\n };\n const ticks = () => {\n let majorTicks = [];\n const mxValue = maxValue();\n const mnValue = 0;\n const multiplier = mxValue / 4;\n for (let i = mnValue; i <= mxValue; i += multiplier) {\n majorTicks = [...majorTicks, `${numberFormat.format(i)} points`];\n }\n return majorTicks;\n };\n\n const progressTracker = new LinearGauge({\n renderTo: 'progress-tracker',\n width: maxWidth(),\n height: 90,\n minValue: 0,\n maxValue: maxValue(),\n majorTicks: ticks(),\n minorTicks: 5,\n colorPlate: '#E4E4E5',\n colorBarStroke: '#18A950',\n borderShadowWidth: 0,\n borders: false,\n barBeginCircle: false,\n barWidth: 6,\n barLength: 80,\n tickSide: 'right',\n numberSide: 'right',\n needleSide: 'right',\n needleType: 'arrow',\n needleWidth: 5,\n colorNeedle: '#18A950',\n colorNeedleEnd: '#18A950',\n colorStrokeTicks: '#18A950',\n value: this.props.pointsBalance,\n colorBarProgress: '#18A950',\n fontNumbersSize: 24,\n colorTitle: '#18A950',\n fontTitleSize: 40,\n fontTitleWeight: 'bold',\n title: `${numberFormat.format(this.props.pointsBalance)} points`,\n });\n\n progressTracker.draw();\n }\n\n render() {\n return (\n
\n {\n this.el = canvas;\n }}\n id=\"progress-tracker\"\n />\n
\n );\n }\n}\n\nProgressTracker.propTypes = {\n pointsBalance: PropTypes.number,\n};\n\nProgressTracker.defaultProps = {\n pointsBalance: 0,\n};\n\nexport default ProgressTracker;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n// Style and SEO\nimport { Col, Grid, Row, styled, thd } from '@smooth-ui/core-sc';\nimport Helmet from 'react-helmet';\nimport { selectCart } from '../WebApp/selectors';\nimport { withSettings } from '../../containers/WebApp/SettingsContext';\nimport PrivateComponent from '_platform/src/utils/PrivateComponent';\nimport { compose } from 'redux';\nimport { connect } from 'react-redux';\nimport LoadAsync from '_platform/src/utils/LoadAsync';\nimport { createStructuredSelector } from 'reselect';\nimport BgGrey from 'components/CustomComponents/Backgrounds/BgGrey';\nimport Banner from 'components/CustomComponents/Banners/Banner';\nimport bannerMobile from './images/BOB-2023-320x280-Header1-mobile-@1x-min.png';\nimport bannerMobile2x from './images/BOB-2023-640x560-Header1-mobile-@2x-min.png';\nimport bannerTablet from './images/BOB-2023-Header1-1024x280-tablet-@1x-min.png';\nimport bannerTablet2x from './images/BOB-2023-Header1-2048x560-tablet-@2x-min.png';\nimport bannerDesktop from './images/BOB-2023-Header-1@1x-min.png';\nimport bannerDesktop2x from './images/BOB-2023-Header-1@2x-min.png';\nimport ProgressTracker from 'components/ProgressTracker/ProgressTracker';\nimport LoadingAnimation from '_platform/src/components/Loading/LoadingAnimation';\n\nconst StatementProvider = LoadAsync(() =>\n import(\n /* webpackChunkName: \"statementProvider\" */ '../StatementProvider/StatementProvider'\n )\n);\nconst StatementLoyalty = LoadAsync(() =>\n import(\n /* webpackChunkName: \"statementLoyalty\" */ '../../components/StatementLoyalty/StatementLoyalty'\n )\n);\n\nconst StatementStyles = styled.div`\n section:not(:last-of-type) {\n border-bottom: 1px solid ${thd('statementHighlightColor', '#f4bd19')};\n padding-bottom: 1.75rem;\n }\n\n .rt-th {\n color: #fff;\n background-color: ${thd('primary', '#555')};\n }\n\n h2 {\n text-align: left;\n }\n\n .ReactTable .rt-thead .rt-th {\n white-space: pre-line;\n word-wrap: break-word;\n }\n`;\n\nconst fetchStatements = [\n {\n endpoint: '/Statement/v1/Nafda',\n section: 'loyalty',\n },\n];\n\nconst HomePage = ({ settings, cart }) => {\n return (\n
\n \n {/* */}\n \n\n \n  }\n bannerMobile={bannerMobile}\n bannerMobile2x={bannerMobile2x}\n bannerTablet={bannerTablet}\n bannerTablet2x={bannerTablet2x}\n bannerDesktop={bannerDesktop}\n bannerDesktop2x={bannerDesktop2x}\n />\n \n \n \n \n

Points tracker

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

Statement

\n \n {\n function onAccountAdd(values) {\n return onStatementUpdateAccountRequest(\n values,\n fetchStatements\n );\n }\n\n return !statement || !statement.data ? (\n // Loader instead of `null`?\n ) : (\n \n );\n }}\n />\n \n \n
\n
\n \n
\n );\n};\n\nHomePage.propTypes = {\n cart: PropTypes.object,\n settings: PropTypes.object.isRequired,\n};\n\nHomePage.defaultProps = {\n cart: undefined,\n};\n\nconst mapStateToProps = createStructuredSelector({\n cart: selectCart(),\n});\n\nconst withConnect = connect(mapStateToProps);\nexport default compose(withSettings, withConnect)(HomePage);\n","module.exports = __webpack_public_path__ + \"static/media/BOB-2023-320x280-Header1-mobile-@1x-min.89957359.png\";","module.exports = __webpack_public_path__ + \"static/media/BOB-2023-640x560-Header1-mobile-@2x-min.daba9757.png\";","module.exports = __webpack_public_path__ + \"static/media/BOB-2023-Header1-1024x280-tablet-@1x-min.54ef80a4.png\";","module.exports = __webpack_public_path__ + \"static/media/BOB-2023-Header1-2048x560-tablet-@2x-min.6f791c05.png\";","module.exports = __webpack_public_path__ + \"static/media/BOB-2023-Header-1@1x-min.da316f4b.png\";","module.exports = __webpack_public_path__ + \"static/media/BOB-2023-Header-1@2x-min.54843a93.png\";","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Grid, Row, Col, css, styled, thd, up } from '@smooth-ui/core-sc';\n\nconst BannerWrapper = styled.div`\n position: relative;\n z-index: -1;\n`;\n\nconst BannerContainer = styled.div`\n ${props =>\n props.bannerMobile\n ? `background-image: url(${props.bannerMobile});`\n : null};\n align-items: center;\n background-color: ${thd('primary', '#00A7AD')};\n background-position: center center;\n background-repeat: no-repeat;\n background-size: cover;\n display: flex;\n height: 175px;\n justify-content: flex-start;\n\n @media only screen and (min-device-pixel-ratio: 1.5),\n only screen and (min-resolution: 144dpi),\n only screen and (min-resolution: 1.5dppx) {\n ${props =>\n props.bannerMobile || props.bannerMobile2x\n ? `background-image: url(${props.bannerMobile2x ||\n props.bannerMobile});`\n : null};\n }\n\n .banner__title {\n //color: #fff;\n font-size: 48px;\n line-height: 1.1;\n margin: 0;\n padding: 0;\n position: relative;\n text-align: center;\n }\n .banner {\n height: 105px;\n }\n ${up(\n 'sm',\n css`\n ${props =>\n props.bannerTablet\n ? `background-image: url(${props.bannerTablet});`\n : null};\n background-position: left center;\n height: 190px;\n\n @media only screen and (min-device-pixel-ratio: 1.5),\n only screen and (min-resolution: 144dpi),\n only screen and (min-resolution: 1.5dppx) {\n ${props =>\n props.bannerTablet || props.bannerTablet2x\n ? `background-image: url(${props.bannerTablet2x ||\n props.bannerTablet});`\n : null};\n }\n\n .banner {\n height: 190px;\n }\n `\n )}\n ${up(\n 'lg',\n css`\n ${props =>\n props.bannerDesktop\n ? `background-image: url(${props.bannerDesktop});`\n : null};\n background-position: center center;\n height: 230px;\n\n @media only screen and (min-device-pixel-ratio: 1.5),\n only screen and (min-resolution: 144dpi),\n only screen and (min-resolution: 1.5dppx) {\n ${props =>\n props.bannerDesktop || props.bannerDesktop2x\n ? `background-image: url(${props.bannerDesktop2x ||\n props.bannerDesktop});`\n : null};\n }\n\n .banner {\n height: 210px;\n }\n `\n )}\n`;\n\nconst Banner = props => (\n \n \n \n \n \n

{props.pageTitle}

\n \n
\n
\n
\n
\n);\n\nBanner.propTypes = {\n pageTitle: PropTypes.object.isRequired,\n};\n\nexport default Banner;\n","import { styled } from '@smooth-ui/core-sc';\n\nconst BgGrey = styled.section`\n align-items: center;\n background-color: rgba(148, 149, 152, 0.25);\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0;\n width: 100%;\n min-height: 165px;\n`;\n\nexport default BgGrey;\n"],"sourceRoot":""}