export const BETA_KEY = 'betaSwitchImex'; export const checkBeta = () => { const cookie = document.cookie.split('; ').find(row => row.startsWith(BETA_KEY)); return cookie ? cookie.split('=')[1] === 'true' : false; } export const setBeta = (value) => { const domain = window.location.hostname.split('.').slice(-2).join('.'); document.cookie = `${BETA_KEY}=${value}; path=/; domain=.${domain}`; } export const handleBeta = () => { // If the current host name does not start with beta or test, then we don't need to do anything. if (window.location.hostname.startsWith('localhost')) { console.log('Not on beta or test, so no need to handle beta.'); return; } const isBeta = checkBeta(); const currentHostName = window.location.hostname; // Beta is enabled, but the current host name does start with beta. if (isBeta && !currentHostName.startsWith('beta')) { const href= `${window.location.protocol}//beta.${currentHostName}${window.location.pathname}${window.location.search}${window.location.hash}`; window.location.replace(href); } // Beta is not enabled, but the current host name does start with beta. else if (!isBeta && currentHostName.startsWith('beta')) { const href = `${window.location.protocol}//${currentHostName.replace('beta.', '')}${window.location.pathname}${window.location.search}${window.location.hash}`; window.location.replace(href); } } export default handleBeta;