{"version":3,"sources":["_api/handleerror.js","_api/api.js","login.js","success.js","wellcome.js","app.js","index.js"],"names":["handleError","error","message","name","response","status","data","Message","BW_API_URL","process","CLIENT_AUTH","ClientKey","ClientSecret","AUTH_HEADER","headers","Accept","BW_LOYVERSE_AUTH_HEADER","Authorization","getbwapiheaders","authtoken","postbwloyverse","path","auhtoken","Promise","resolve","reject","axios","post","then","catch","useStyles","makeStyles","theme","container","breakpoints","up","minWidth","width","down","root","marginTop","spacing","display","flexDirection","alignItems","justifyContent","padding","submit","margin","logo","height","progressbutton","position","progress","color","palette","background","paper","top","left","marginLeft","contactInfo","Login","classes","useState","credentials","setCredentials","fetching","fetched","fetchError","state","setState","handleChange","event","prevState","target","value","getValue","signInUser","localStorage","setItem","JSON","stringify","access_token","get","Data","UserType","to","Container","className","CssBaseline","alt","src","Typography","TextField","fullWidth","id","label","onChange","variant","type","onKeyDown","e","key","helperText","Button","size","onClick","disabled","CircularProgress","Link","underline","href","logoImg","errormsg","backgroundColor","main","successfullMessage","textAlign","Success","props","query","URLSearchParams","location","search","code","stateparam","useEffect","a","connectaccounts","Wellcome","memberinfo","parse","getItem","redirecturl","BrandHash","gutterBottom","FullName","createMuiTheme","primary","secondary","default","App","ThemeProvider","exact","component","ReactDOM","render","fallback","document","getElementById"],"mappings":"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","file":"static/js/main.40a2bb50.chunk.js","sourcesContent":["export default function handleError(error) {\n const { message, name, response } = error;\n\n if (message === 'Network Error') // We could not connect to api\n return { name: 'ServiceUnavailable', status: 503, message: 'Service Unavailable' };\n\n if (response)\n if (response.status === 400 && response.data.Message === 'incorrect_username_or_password')\n return { name: name, status: response.status, message: 'Incorrect Username or Password' };\n else\n return { name: name, status: response.status, message: 'Unauthorised User' };\n return { name: name, message: message };\n}","import axios from \"axios\";\nimport handleError from \"./handleerror\";\n\nconst BW_API_URL = process.env.REACT_APP_BW_API_URL;\nconst BW_LOYVERSE_API_URL = process.env.REACT_APP_BW_LOYVERSE_API_URL;\n\nconst CLIENT_AUTH = {\n ClientKey: process.env.REACT_APP_BW_CLIENT_KEY,\n ClientSecret: process.env.REACT_APP_BW_CLIENT_SECRET,\n};\nconst AUTH_HEADER = {\n headers: { Accept: \"application/json\", \"Content-Type\": \"application/json\" },\n};\nconst BW_LOYVERSE_AUTH_HEADER = {\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n Authorization: `${process.env.REACT_APP_BW_CLIENT_KEY}:${process.env.REACT_APP_BW_CLIENT_SECRET}`,\n },\n};\n\nconst getbwapiheaders = (authtoken) => {\n if (authtoken)\n return {\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n Authorization: \"Bearer \" + authtoken,\n },\n };\n else\n return {\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n };\n};\n\n// HTTP POST Request for auth api call - Returns Resolved or Rejected Promise\nexport const auth = () => {\n return new Promise((resolve, reject) => {\n axios\n .post(`${BW_API_URL}${\"/OAuth/authorize\"}`, CLIENT_AUTH, AUTH_HEADER)\n .then((response) => resolve(response.data))\n .catch((error) => reject(handleError(error)));\n });\n};\n\n// HTTP POST Request for signin api call - Returns Resolved or Rejected Promise\nexport const signin = (data, authtoken) => {\n return new Promise((resolve, reject) => {\n axios\n .post(`${BW_API_URL}${\"/OAuth/login\"}`, data, getbwapiheaders(authtoken))\n .then((response) => resolve(response.data))\n .catch((error) => reject(handleError(error)));\n });\n};\n\n// HTTP GET Request - Returns Resolved or Rejected Promise\nexport const get = (path, auhtoken) => {\n return new Promise((resolve, reject) => {\n axios\n .get(`${BW_API_URL}${path}`, getbwapiheaders(auhtoken))\n .then((response) => resolve(response.data))\n .catch((error) => reject(handleError(error)));\n });\n};\n\n// HTTP POST Request - Returns Resolved or Rejected Promise\nexport const post = (path, data, auhtoken) => {\n return new Promise((resolve, reject) => {\n axios\n .post(`${BW_API_URL}${path}`, data, getbwapiheaders(auhtoken))\n .then((response) => resolve(response.data))\n .catch((error) => reject(handleError(error)));\n });\n};\n\n// HTTP POST Request - Returns Resolved or Rejected Promise\nexport const postbwloyverse = (path, data, auhtoken) => {\n return new Promise((resolve, reject) => {\n resolve({\n data: {}\n })\n axios\n .post(`${BW_LOYVERSE_API_URL}${path}`, data, BW_LOYVERSE_AUTH_HEADER)\n .then((response) => resolve(response.data))\n .catch((error) => reject(handleError(error)));\n });\n};\n\n// HTTP GET Request - Returns Resolved or Rejected Promise\nexport const hash = (path) => {\n return new Promise((resolve, reject) => {\n axios\n .get(`${BW_API_URL}${path}`, getbwapiheaders())\n .then((response) => resolve(response.data))\n .catch((error) => reject(handleError(error)));\n });\n};\n","import React, { useState } from 'react';\nimport { Redirect } from 'react-router-dom';\n\n// Material-ui\nimport { makeStyles } from '@material-ui/core/styles';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport Container from '@material-ui/core/Container';\nimport Button from '@material-ui/core/Button';\nimport TextField from '@material-ui/core/TextField';\nimport Typography from '@material-ui/core/Typography';\nimport Link from '@material-ui/core/Link';\nimport CircularProgress from '@material-ui/core/CircularProgress';\n\n// Utilities and helpers\nimport { get, signin, auth } from './_api/api';\n\nconst useStyles = makeStyles(theme => ({\n container: {\n [theme.breakpoints.up('xs')]: {\n minWidth: '440px',\n width: '440px',\n },\n [theme.breakpoints.down('xs')]: {\n width: '100%',\n },\n },\n root: {\n marginTop: theme.spacing(12),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '20px',\n },\n submit: {\n margin: theme.spacing(1, 0, 2),\n },\n logo: {\n height: '40px',\n margin: theme.spacing(3, 0, 2),\n },\n progressbutton: {\n position: 'relative',\n width: '100%',\n },\n progress: {\n color: theme.palette.background.paper,\n position: 'absolute',\n top: '50%',\n left: '30%',\n marginTop: -8,\n marginLeft: -8,\n },\n contactInfo: {\n margin: theme.spacing(2, 0, 0),\n }\n}));\n\nconst Login = () => {\n const classes = useStyles();\n const [credentials, setCredentials] = useState({}); // Credentials of the user that is logging in\n const [state, setState] = useState({\n fetching: false,\n fetched: false,\n fetchError: false,\n message: null\n });\n\n const handleChange = (event) => {\n setState(prevState => { return { ...prevState, fetching: false, fetched: false, fetchError: false, message: null } })\n setCredentials({ ...credentials, [event.target.name]: event.target.value });\n }\n\n const getValue = (name) => credentials[name] || '';\n\n // This function is called when the user clicks on SignIn\n const signInUser = () => {\n setState(prevState => { return { ...prevState, fetching: true } })\n\n auth() // First authorise the channel\n .then(response => {\n localStorage.setItem('clientauth', JSON.stringify(response));\n signin(credentials, response.access_token) // Sign-In the user\n .then(response => {\n localStorage.setItem('userauth', JSON.stringify(response));\n get('/Member/info', response.access_token) // Get the info of the user, we will need it later\n .then(response => {\n if (response.Data.UserType === 4) {\n localStorage.setItem('bw-member', JSON.stringify(response.Data));\n setState(prevState => { return { ...prevState, fetched: true, fetching: false, fetchError: false, message: null } })\n }\n else\n setState(prevState => { return { ...prevState, fetching: false, fetchError: true, message: 'Unauthorised user' } })\n })\n .catch(error => setState(prevState => { return { ...prevState, fetching: false, fetchError: true, message: error.message } }));\n })\n .catch(error => setState(prevState => { return { ...prevState, fetching: false, fetchError: true, message: error.message } }));\n })\n .catch(error => setState(prevState => { return { ...prevState, fetching: false, fetchError: true, message: error.message } }));\n }\n\n if (state.fetched) return // If the member is signed in successfuly, redirect to Home Page\n\n return (\n \n \n
\n BrandWallet Logo\n Leading Mobile Wallet Loyalty Solutions!\n \n e.key === 'Enter' ? signInUser(e) : () => { }}\n helperText={state.message || ' '}\n error={!!state.fetchError} />\n
\n \n {state.fetching && }\n
\n \n If you don't have a BrandWallet account, please connect us through our website or Whatsapp.\n \n \n +971 58 552 1106 - www.brand-wallet.com\n \n
\n \n );\n}\n\nexport default Login;","import React, { useState, useEffect } from 'react';\n\n// Material-ui\nimport { makeStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Container from '@material-ui/core/Container';\nimport CircularProgress from '@material-ui/core/CircularProgress';\n\nimport { postbwloyverse } from './_api/api';\n\nconst useStyles = makeStyles(theme => ({\n container: {\n [theme.breakpoints.up('xs')]: {\n minWidth: '440px',\n width: '440px',\n },\n [theme.breakpoints.down('xs')]: {\n width: '100%',\n },\n },\n root: {\n marginTop: theme.spacing(12),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '20px',\n },\n submit: {\n margin: theme.spacing(3, 0, 2),\n },\n logoImg: {\n height: '40px',\n margin: theme.spacing(3, 0, 2),\n },\n errormsg: {\n backgroundColor: theme.palette.error.main,\n minWidth: '288px',\n },\n message: {\n display: 'flex',\n alignItems: 'center',\n },\n successfullMessage: {\n textAlign: 'center',\n } \n}));\n\nconst Success = (props) => {\n const classes = useStyles();\n const query = new URLSearchParams(props.location.search)\n const code = query.get('code');\n const stateparam = query.get('state');\n const [state, setState] = useState({\n fetching: false,\n fetched: false,\n fetchError: false,\n message: null\n });\n\n useEffect(() => {\n const connectaccounts = async () => {\n setState(prevState => { return { ...prevState, fetching: true, fetchError: false, message: null } })\n\n const bwloyversepayload = {\n \"AuthorizationCode\": code,\n \"Hash\": stateparam\n }\n\n\n postbwloyverse(`/connect-accounts`, bwloyversepayload)\n .then(response => {\n if (response)\n setState(prevState => { return { ...prevState, fetching: false, fetched: true } });\n else\n setState(prevState => { return { ...prevState, fetching: false, fetchError: true, message: 'Internal Server Error' } });\n })\n .catch(error => setState(prevState => { return { ...prevState, fetching: false, fetchError: true, message: error.message } }));\n };\n\n connectaccounts();\n }, [code, stateparam]);\n\n if (state.fetching)\n return (\n \n
\n BrandWallet Logo\n
\n Connecting your accounts...\n
\n \n
\n \n );\n\n if (state.fetched)\n return (\n \n
\n BrandWallet Logo\n
\n Your BrandWallet and Loyverse accounts are connected successfully!\n
\n Enjoy :)\n
\n \n );\n\n if (state.fetchError)\n return (\n \n
\n BrandWallet Logo\n
\n An error occured while connecting your accounts\n
\n {state.message}\n
\n \n );\n\n return ('');\n}\n\nexport default Success","import React from 'react';\n\n// Material-ui\nimport { makeStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Container from '@material-ui/core/Container';\nimport Button from '@material-ui/core/Button';\n\nconst useStyles = makeStyles(theme => ({\n container: {\n [theme.breakpoints.up('xs')]: {\n minWidth: '440px',\n width: '440px',\n },\n [theme.breakpoints.down('xs')]: {\n width: '100%',\n },\n },\n root: {\n marginTop: theme.spacing(12),\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'start',\n padding: '20px',\n },\n submit: {\n margin: theme.spacing(3, 0, 2),\n },\n fullWidth: {\n width: '100%',\n },\n logo: {\n height: '30px',\n width: 'auto',\n margin: theme.spacing(3, 0, 2),\n },\n}));\n\nconst Wellcome = () => {\n const classes = useStyles();\n const memberinfo = JSON.parse(localStorage.getItem('bw-member'));\n const LOYVERSE_CLIENT_ID = process.env.REACT_APP_LOYVERSE_CLIENT_ID;\n const LOYVERSE_API_URL = process.env.REACT_APP_LOYVERSE_API_URL;\n const LOYVERSE_BW_REDIRECT_URL = process.env.REACT_APP_LOYVERSE_BW_REDIRECT_URL;\n const LOYVERSE_PERMISSION_SCOPE = process.env.REACT_APP_LOYVERSE_PERMISSION_SCOPE;\n\n const redirecturl = `${LOYVERSE_API_URL}?client_id=${LOYVERSE_CLIENT_ID}&scope=${LOYVERSE_PERMISSION_SCOPE}&response_type=code&redirect_uri=${LOYVERSE_BW_REDIRECT_URL}&state=${memberinfo.BrandHash}`;\n\n return (\n \n
\n BrandWallet Logo\n {`Hi ${memberinfo.FullName},`}\n
\n If you want to connect your BrandWallet account with your Loyverse account, please click on the button below.\n
\n Thank you :)\n \n
\n \n );\n}\n\nexport default Wellcome;","import React from 'react';\nimport { Switch, BrowserRouter as Router, Route } from \"react-router-dom\";\n\n// Material-ui \nimport { createMuiTheme } from '@material-ui/core/styles';\nimport { ThemeProvider } from '@material-ui/styles';\nimport { CssBaseline } from '@material-ui/core';\n\n// Pages\nimport Login from './login';\nimport Success from './success';\nimport Wellcome from './wellcome';\n\n// Create a theme for the whole app\nconst theme = createMuiTheme({\n palette: {\n primary: {\n main: '#6d5eac',\n },\n secondary: {\n main: '#64A7C1',\n },\n default: {\n main: '#ffffff'\n }\n },\n});\n\nfunction App() {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default App;","import React, { Suspense } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./app\";\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""}