{"version":3,"sources":["App.js","serviceWorker.js","index.js","logo.png","logo-main.png"],"names":["querystring","require","getPathFromUrl","url","split","getHostname","parsed","parse","window","location","search","console","log","hostname","fqdn","host","App","props","redirect","e","state","selectValue","value","show","document","URL","href","origins","getOrigins","bind","setOrigins","notify","createShowQueue","packageJSON","name","version","fetch","config","originsURL","then","response","json","catch","this","setState","options","originCount","Object","keys","length","defaultHostname","notifyColour","background","text","className","src","logo","alt","logoMain","onChange","onClick","Component","Boolean","match","ReactDOM","render","getElementById","navigator","serviceWorker","ready","registration","unregister","module","exports"],"mappings":"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","file":"static/js/main.e834f632.chunk.js","sourcesContent":["import React, { Component } from 'react';\r\n\r\n// import components\r\nimport VirtualizedSelect from 'react-virtualized-select';\r\nimport Notifications, {notify} from 'react-notify-toast';\r\nimport Favicon from 'react-favicon';\r\n\r\n// import image assets\r\nimport logo from './logo.png';\r\nimport logoMain from './logo-main.png';\r\n\r\n// import style sheets\r\nimport './App.css';\r\nimport 'react-select/dist/react-select.css';\r\nimport 'react-virtualized-select/styles.css';\r\n\r\n// import config json\r\nimport packageJSON from '../package.json';\r\nimport config from './App.js.config.json';\r\n\r\n//const originsURL = 'https://assets.asosservices.com/landingpage/origins.json'\r\n\r\n// Instantiate query-string package\r\nconst querystring = require('query-string');\r\n\r\n// Parse the full URL to strip off query string parameters and return just the path\r\nfunction getPathFromUrl(url) {\r\n return url.split(\"?\")[0];\r\n}\r\n\r\n// Parse the URL and return the hostname we're served under\r\nfunction getHostname(){\r\n const parsed = querystring.parse(window.location.search);\r\n if ('hostname' in parsed) {\r\n console.log('parsed query string:', window.location.search, 'to use a domain of:', parsed.hostname);\r\n return parsed.hostname;\r\n } else {\r\n const fqdn = window.location.host;\r\n //const arrFqdn = fqdn.split('.');\r\n //const topdomain = arrFqdn[0];\r\n console.log('Parsed:', window.location.host, 'to use domain of:', fqdn);\r\n //return topdomain;\r\n return fqdn;\r\n }\r\n}\r\n\r\nclass App extends Component {\r\n\r\n // Initialise state\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectValue: '',\r\n origins : {}\r\n };\r\n\r\n // Bind Origins\r\n this.getOrigins = this.getOrigins.bind(this);\r\n this.setOrigins = this.setOrigins.bind(this);\r\n\r\n // Create Notification queue, where notification message are placed\r\n this.show = notify.createShowQueue();\r\n\r\n console.log(packageJSON.name, 'version', packageJSON.version);\r\n }\r\n\r\n // Issue HTTP GET request to external origins json resource\r\n getOrigins() {\r\n fetch(config.originsURL)\r\n .then(response => response.json())\r\n .then(origins => this.setOrigins(origins))\r\n .catch(e => console.log(e));\r\n }\r\n\r\n setOrigins(origins) {\r\n this.setState({ origins });\r\n }\r\n\r\n componentDidMount() {\r\n this.getOrigins();\r\n }\r\n\r\n // redirect the browser\r\n redirect = (e) => {\r\n console.log('button clicked', this.state.selectValue.value);\r\n\r\n if (this.state.selectValue === '') {\r\n console.log('No environment selected');\r\n } else {\r\n this.show('Opening: ' + getPathFromUrl(document.URL) + '?x-site-origin=' + this.state.selectValue.value, 'success', 4000);\r\n console.log('The following x-site-origin will be used:', this.state.selectValue.value);\r\n // window.location.href will reuse the same browser tab/window\r\n // window.location.href = getPathFromUrl(document.URL) + '?x-site-origin=' + this.state.selectValue.value;\r\n // window.open will open a new browser tab/window\r\n // window.open(getPathFromUrl(document.URL) + '?x-site-origin=' + this.state.selectValue.value);\r\n\r\n //Launch URL\r\n window.location.href = getPathFromUrl(document.URL) + '?x-site-origin=' + this.state.selectValue.value;\r\n }\r\n }\r\n\r\n render() {\r\n // Get the hostname portion of the FQDN being used\r\n var hostname = getHostname();\r\n // Return only the json array of origins for the hostname\r\n var options = {};\r\n\r\n\r\n // Check if our json contains origin entries for the hostname\r\n if (this.state.origins[hostname]) {\r\n // We've got something, so an array with the hostname exists. Now count its elements\r\n const originCount = Object.keys(this.state.origins[hostname]).length;\r\n console.log('There are ' + originCount + ' origins configured for ' + hostname);\r\n // Make sure we've got at least one entry in the hostname's array\r\n if (originCount > 0) {\r\n // Return only the json array of origins for the hostname\r\n options = this.state.origins[hostname];\r\n } else {\r\n // The origin array for the hostname is empty, so use the default hostname\r\n options = this.state.origins[config.defaultHostname];\r\n }\r\n } else {\r\n // An array for the hostname doesn't exist, so uae the default hostname\r\n options = this.state.origins[config.defaultHostname];\r\n }\r\n\r\n let notifyColour = { background: '#FFFFFF', text: \"#23b9e7\" };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \"logo\"/\r\n \"main\r\n

Asos non-production [{ getHostname() }]

\r\n
\r\n

\r\n Select an environment, or start typing to filter the options\r\n\r\n

\r\n\r\n \r\n\r\n {\r\n this.setState({ selectValue });\r\n if (selectValue !== null){\r\n console.log('Origin selected:', selectValue.value);\r\n this.show('x-site-origin: ' + selectValue.value, 'custom', 5000, notifyColour);\r\n }\r\n }}\r\n value={this.state.selectValue}\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 App;","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAMAAAAKE/YAAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAALS0tMDAwNzc3QEBAS0tLWlpaaGhodXV1goKCj4+Pnp6eq6ururq6ycnJ1tbW4eHh6+vr8/Pz+vr6////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9qAUFgAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMjHxIGmVAAAKaUlEQVR4Xu2d65Ljqg6Fd8D3a2Lv93/VPjghPV5CgMCOz56qrKr5M53Yn4WQBAbyz89fqC/0VfpCX6Uv9FX6Ql+lL/RV+kJfpfOh+7apq7IotC6Koqzqpu3tX07TmdB9U5VaqRuV0kVZn4l+FnRbFS4tSpd1Zz99UGdA93UU+C1VNoP91gEdhjbEFkgoVRzmPgjdJBK/pMrWfj9PR6D7SuoVrnR1wNz50F1p758pVWXHk1zoNssvUKrMxM6D7k5A3pSJnQM9HHSMvVRlL5qiDOg6v/tx0o29rlzJ0DLPUEpvYnI6o2QfSYWu7I08UqZEarp+GMdp0zgOpn7aKhL7d16qtlcXKg260/Y2nHTZ9OP8WP4lWpf7NHR1GfpumRS1k6D93qzKup8eq8XktN6nLpDxdUqOTIH2BY2tCrqHgN9a5kClkhBG5NC9p3l1LSN+aZ07X/Iv7Y3iEkO3/K2KdnKcOKLHWPPPr6VRRArdsMxFN8uN/EfL1LDYWjhIEEKzka5oZ0uRrJXHVrJEI4PmmHWTjbxpHdlYJKIWQTPMqhpzHGOvha1hJHlGAs0wF93D3vqIZs5HBNQCaIa5muxtD2rljB33kDi0y6zbM8z80sx4djQ5RqFre6U/Koaj3rzX4tYzKhb5YtCtvdAfneUab62j4yKxLBOB7mnjqfpub3aeJscDtb29RxFo2nTqRHf+o7vjg+E6JAxNG051qYWGTC51MPAFoeml9IeYTRHV2Fv8KhRCQtCd/f5bqjszbKAcah0Yy4SgiUN/yjdeetBmDbh1AJr26faTzIxf+zOjH5pG6PoTcWOvmVhJeR3ED02cozo/PlNNZPzodRAvNHns8uQ8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\"","module.exports = \"data:image/png;base64,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\""],"sourceRoot":""}