diff --git a/ecc/blocks/attendee-management-table/attendee-management-table.js b/ecc/blocks/attendee-management-table/attendee-management-table.js index da21c865..caa4f0c3 100644 --- a/ecc/blocks/attendee-management-table/attendee-management-table.js +++ b/ecc/blocks/attendee-management-table/attendee-management-table.js @@ -1,7 +1,7 @@ /* eslint-disable max-len */ import { getAllEventAttendees, getEvents } from '../../scripts/esp-controller.js'; import { ALLOWED_ACCOUNT_TYPES } from '../../constants/constants.js'; -import { DEV_MODE, LIBS, MILO_CONFIG } from '../../scripts/scripts.js'; +import { LIBS } from '../../scripts/scripts.js'; import { getIcon, buildNoAccessScreen, @@ -418,7 +418,6 @@ function buildBackToDashboardBtn(props, config) { if (!sidePanel) return; const url = new URL(`${window.location.origin}${config['event-dashboard-url']}`); - if (DEV_MODE) url.searchParams.set('devMode', true); const backBtn = createTag('a', { class: 'back-btn', href: url.toString() }, 'Back', { parent: sidePanel }); backBtn.prepend(getIcon('chev-left')); } @@ -554,20 +553,11 @@ export default async function init(el) { import(`${miloLibs}/features/spectrum-web-components/dist/link.js`), ]); - const { search } = window.location; - const urlParams = new URLSearchParams(search); - const devMode = urlParams.get('devMode'); - const config = readBlockConfig(el); el.innerHTML = ''; buildLoadingScreen(el); const profile = BlockMediator.get('imsProfile'); - if (devMode === 'true' && ['stage', 'local'].includes(MILO_CONFIG.env.name)) { - buildDashboard(el, config); - return; - } - if (profile) { if (profile.noProfile || !ALLOWED_ACCOUNT_TYPES.includes(profile.account_type)) { buildNoAccessScreen(el); diff --git a/ecc/blocks/ecc-dashboard/ecc-dashboard.js b/ecc/blocks/ecc-dashboard/ecc-dashboard.js index bc81fe88..85a920ef 100644 --- a/ecc/blocks/ecc-dashboard/ecc-dashboard.js +++ b/ecc/blocks/ecc-dashboard/ecc-dashboard.js @@ -7,7 +7,7 @@ import { unpublishEvent, } from '../../scripts/esp-controller.js'; import { ALLOWED_ACCOUNT_TYPES } from '../../constants/constants.js'; -import { LIBS, MILO_CONFIG, DEV_MODE } from '../../scripts/scripts.js'; +import { LIBS } from '../../scripts/scripts.js'; import { getIcon, buildNoAccessScreen, getEventPageHost, readBlockConfig } from '../../scripts/utils.js'; import { quickFilter } from '../form-handler/data-handler.js'; import BlockMediator from '../../scripts/deps/block-mediator.min.js'; @@ -388,7 +388,6 @@ function buildStatusTag(event) { function buildEventTitleTag(config, eventObj) { const url = new URL(`${window.location.origin}${config['create-form-url']}`); url.searchParams.set('eventId', eventObj.eventId); - if (DEV_MODE) url.searchParams.set('devMode', true); const eventTitleTag = createTag('a', { class: 'event-title-link', href: url.toString() }, eventObj.title); return eventTitleTag; } @@ -407,7 +406,6 @@ function buildRSVPTag(config, eventObj) { const url = new URL(`${window.location.origin}${config['attendee-dashboard-url']}`); url.searchParams.set('eventId', eventObj.eventId); - if (DEV_MODE) url.searchParams.set('devMode', true); const rsvpTag = createTag('a', { class: 'rsvp-tag', href: url }, text); return rsvpTag; @@ -709,11 +707,6 @@ export default async function init(el) { buildLoadingScreen(el); const profile = BlockMediator.get('imsProfile'); - if (DEV_MODE === true && ['stage', 'local'].includes(MILO_CONFIG.env.name)) { - buildDashboard(el, config); - return; - } - if (profile) { if (profile.noProfile || !ALLOWED_ACCOUNT_TYPES.includes(profile.account_type)) { buildNoAccessScreen(el); diff --git a/ecc/blocks/form-handler/controllers/event-format-component-controller.js b/ecc/blocks/form-handler/controllers/event-format-component-controller.js index ee5d7673..8ac4697c 100644 --- a/ecc/blocks/form-handler/controllers/event-format-component-controller.js +++ b/ecc/blocks/form-handler/controllers/event-format-component-controller.js @@ -1,6 +1,7 @@ /* eslint-disable no-unused-vars */ import { getSeries } from '../../../scripts/esp-controller.js'; -import { LIBS, BlockMediator } from '../../../scripts/scripts.js'; +import BlockMediator from '../../../scripts/deps/block-mediator.min.js'; +import { LIBS } from '../../../scripts/scripts.js'; import { changeInputValue } from '../../../scripts/utils.js'; const { createTag } = await import(`${LIBS}/utils/utils.js`); diff --git a/ecc/blocks/form-handler/controllers/event-info-component-controller.js b/ecc/blocks/form-handler/controllers/event-info-component-controller.js index 74802260..b86323dd 100644 --- a/ecc/blocks/form-handler/controllers/event-info-component-controller.js +++ b/ecc/blocks/form-handler/controllers/event-info-component-controller.js @@ -1,7 +1,8 @@ /* eslint-disable no-unused-vars */ /* eslint-disable no-use-before-define */ import { getEvents } from '../../../scripts/esp-controller.js'; -import { BlockMediator, LIBS } from '../../../scripts/scripts.js'; +import BlockMediator from '../../../scripts/deps/block-mediator.min.js'; +import { LIBS } from '../../../scripts/scripts.js'; import { changeInputValue } from '../../../scripts/utils.js'; const { createTag, getConfig } = await import(`${LIBS}/utils/utils.js`); diff --git a/ecc/blocks/form-handler/controllers/terms-conditions-component-controller.js b/ecc/blocks/form-handler/controllers/terms-conditions-component-controller.js index 1e776f0c..9c9f7303 100644 --- a/ecc/blocks/form-handler/controllers/terms-conditions-component-controller.js +++ b/ecc/blocks/form-handler/controllers/terms-conditions-component-controller.js @@ -1,10 +1,8 @@ /* eslint-disable no-unused-vars */ -import { ECC_ENV, LIBS } from '../../../scripts/scripts.js'; +import { LIBS } from '../../../scripts/scripts.js'; import HtmlSanitizer from '../../../scripts/deps/html-sanitizer.js'; -import { fetchThrottledMemoizedText, getEventPageHost } from '../../../scripts/utils.js'; -import { getFilteredCachedResponse } from '../data-handler.js'; +import { fetchThrottledMemoizedText, getECCEnv } from '../../../scripts/utils.js'; -const { customFetch } = await import(`${LIBS}/utils/helpers.js`); const { createTag } = await import(`${LIBS}/utils/utils.js`); function buildTerms(terms) { @@ -37,7 +35,7 @@ async function loadPreview(component, templateId) { let host; if (window.location.href.includes('.hlx.')) { - host = window.location.origin.replace(window.location.hostname, `${ECC_ENV}--events-milo--adobecom.hlx.page`); + host = window.location.origin.replace(window.location.hostname, `${getECCEnv()}--events-milo--adobecom.hlx.page`); } else { host = window.location.origin; } diff --git a/ecc/blocks/form-handler/controllers/venue-info-component-controller.js b/ecc/blocks/form-handler/controllers/venue-info-component-controller.js index e2c00d7f..4b3a894b 100644 --- a/ecc/blocks/form-handler/controllers/venue-info-component-controller.js +++ b/ecc/blocks/form-handler/controllers/venue-info-component-controller.js @@ -1,7 +1,7 @@ /* eslint-disable no-unused-vars */ import { createVenue, replaceVenue } from '../../../scripts/esp-controller.js'; -import { BlockMediator, ECC_ENV } from '../../../scripts/scripts.js'; -import { changeInputValue, getSecret } from '../../../scripts/utils.js'; +import BlockMediator from '../../../scripts/deps/block-mediator.min.js'; +import { changeInputValue, getECCEnv, getSecret } from '../../../scripts/utils.js'; import { buildErrorMessage } from '../form-handler.js'; function togglePrefillableFieldsHiddenState(component, showPrefilledFields) { @@ -18,7 +18,7 @@ function togglePrefillableFieldsHiddenState(component, showPrefilledFields) { async function loadGoogleMapsAPI(callback) { const script = document.createElement('script'); - const apiKey = await getSecret(`${ECC_ENV}-google-places-api`); + const apiKey = await getSecret(`${getECCEnv()}-google-places-api`); script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places&callback=onGoogleMapsApiLoaded`; script.async = true; script.defer = true; diff --git a/ecc/blocks/form-handler/form-handler.js b/ecc/blocks/form-handler/form-handler.js index bb898551..9ff3c8a4 100644 --- a/ecc/blocks/form-handler/form-handler.js +++ b/ecc/blocks/form-handler/form-handler.js @@ -1,5 +1,5 @@ import { ALLOWED_ACCOUNT_TYPES } from '../../constants/constants.js'; -import { LIBS, MILO_CONFIG, DEV_MODE } from '../../scripts/scripts.js'; +import { LIBS } from '../../scripts/scripts.js'; import { getIcon, buildNoAccessScreen, @@ -859,13 +859,6 @@ export default async function init(el) { const profile = BlockMediator.get('imsProfile'); - if (DEV_MODE === true && ['stage', 'local'].includes(MILO_CONFIG.env.name)) { - buildECCForm(el).then(() => { - el.classList.remove('loading'); - }); - return; - } - if (profile) { if (profile.noProfile || !ALLOWED_ACCOUNT_TYPES.includes(profile.account_type)) { buildNoAccessScreen(el); diff --git a/ecc/scripts/esp-controller.js b/ecc/scripts/esp-controller.js index 256f19e3..8331a0e2 100644 --- a/ecc/scripts/esp-controller.js +++ b/ecc/scripts/esp-controller.js @@ -1,4 +1,4 @@ -import { ECC_ENV } from './scripts.js'; +import { getECCEnv } from './utils.js'; export const getCaasTags = (() => { let cache; @@ -87,7 +87,7 @@ export async function constructRequestOptions(method, body = null) { export async function uploadImage(file, configs, tracker, imageId = null) { await waitForAdobeIMS(); - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const authToken = window.adobeIMS?.getAccessToken()?.token; let respJson = null; @@ -177,7 +177,7 @@ function convertToSpeaker(speaker) { export async function deleteImage(configs, imageId) { await waitForAdobeIMS(); - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('DELETE'); try { @@ -198,7 +198,7 @@ export async function deleteImage(configs, imageId) { } export async function createVenue(eventId, venueData) { - const { host } = getAPIConfig().esl[ECC_ENV]; + const { host } = getAPIConfig().esl[getECCEnv()]; const raw = JSON.stringify(venueData); const options = await constructRequestOptions('POST', raw); @@ -219,7 +219,7 @@ export async function createVenue(eventId, venueData) { } export async function replaceVenue(eventId, venueId, venueData) { - const { host } = getAPIConfig().esl[ECC_ENV]; + const { host } = getAPIConfig().esl[getECCEnv()]; const raw = JSON.stringify(venueData); const options = await constructRequestOptions('PUT', raw); @@ -240,7 +240,7 @@ export async function replaceVenue(eventId, venueId, venueData) { } export async function createEvent(payload) { - const { host } = getAPIConfig().esl[ECC_ENV]; + const { host } = getAPIConfig().esl[getECCEnv()]; const raw = JSON.stringify({ ...payload, liveUpdate: false }); const options = await constructRequestOptions('POST', raw); @@ -263,7 +263,7 @@ export async function createEvent(payload) { export async function createSpeaker(profile, seriesId) { const nSpeaker = convertToNSpeaker(profile); - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify({ ...nSpeaker, seriesId }); const options = await constructRequestOptions('POST', raw); @@ -284,7 +284,7 @@ export async function createSpeaker(profile, seriesId) { } export async function createSponsor(sponsorData, seriesId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify(sponsorData); const options = await constructRequestOptions('POST', raw); @@ -305,7 +305,7 @@ export async function createSponsor(sponsorData, seriesId) { } export async function updateSponsor(sponsorData, sponsorId, seriesId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify(sponsorData); const options = await constructRequestOptions('PUT', raw); @@ -326,7 +326,7 @@ export async function updateSponsor(sponsorData, sponsorId, seriesId) { } export async function addSponsorToEvent(sponsorData, eventId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify(sponsorData); const options = await constructRequestOptions('POST', raw); @@ -347,7 +347,7 @@ export async function addSponsorToEvent(sponsorData, eventId) { } export async function updateSponsorInEvent(sponsorData, sponsorId, eventId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify(sponsorData); const options = await constructRequestOptions('PUT', raw); @@ -368,7 +368,7 @@ export async function updateSponsorInEvent(sponsorData, sponsorId, eventId) { } export async function removeSponsorFromEvent(sponsorId, eventId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('DELETE'); try { @@ -388,7 +388,7 @@ export async function removeSponsorFromEvent(sponsorId, eventId) { } export async function getSponsor(seriesId, sponsorId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); try { @@ -408,7 +408,7 @@ export async function getSponsor(seriesId, sponsorId) { } export async function getSponsors(seriesId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); try { @@ -428,7 +428,7 @@ export async function getSponsors(seriesId) { } export async function getSponsorImages(seriesId, sponsorId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); try { @@ -448,7 +448,7 @@ export async function getSponsorImages(seriesId, sponsorId) { } export async function addSpeakerToEvent(speakerData, eventId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify(speakerData); const options = await constructRequestOptions('POST', raw); @@ -469,7 +469,7 @@ export async function addSpeakerToEvent(speakerData, eventId) { } export async function updateSpeakerInEvent(speakerData, speakerId, eventId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify(speakerData); const options = await constructRequestOptions('PUT', raw); @@ -490,7 +490,7 @@ export async function updateSpeakerInEvent(speakerData, speakerId, eventId) { } export async function removeSpeakerFromEvent(speakerId, eventId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('DELETE'); try { @@ -511,7 +511,7 @@ export async function removeSpeakerFromEvent(speakerId, eventId) { export async function updateSpeaker(profile, seriesId) { const nSpeaker = convertToNSpeaker(profile); - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify({ ...nSpeaker, seriesId }); const options = await constructRequestOptions('PUT', raw); @@ -532,7 +532,7 @@ export async function updateSpeaker(profile, seriesId) { } export async function updateEvent(eventId, payload) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify({ ...payload, liveUpdate: false }); const options = await constructRequestOptions('PUT', raw); @@ -553,7 +553,7 @@ export async function updateEvent(eventId, payload) { } export async function publishEvent(eventId, payload) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify({ ...payload, published: true, liveUpdate: true }); const options = await constructRequestOptions('PUT', raw); @@ -574,7 +574,7 @@ export async function publishEvent(eventId, payload) { } export async function unpublishEvent(eventId, payload) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify({ ...payload, published: false, liveUpdate: true }); const options = await constructRequestOptions('PUT', raw); @@ -595,7 +595,7 @@ export async function unpublishEvent(eventId, payload) { } export async function deleteEvent(eventId) { - const { host } = getAPIConfig().esl[ECC_ENV]; + const { host } = getAPIConfig().esl[getECCEnv()]; const options = await constructRequestOptions('DELETE'); try { @@ -616,7 +616,7 @@ export async function deleteEvent(eventId) { } export async function getEvents() { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); try { @@ -636,7 +636,7 @@ export async function getEvents() { } export async function getEvent(eventId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); try { @@ -656,7 +656,7 @@ export async function getEvent(eventId) { } export async function getVenue(eventId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); try { @@ -676,7 +676,7 @@ export async function getVenue(eventId) { } export async function getSpeaker(seriesId, speakerId) { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); try { @@ -708,7 +708,7 @@ export async function getClouds() { } export async function getSeries() { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); try { @@ -730,7 +730,7 @@ export async function getSeries() { export async function createAttendee(eventId, attendeeData) { if (!eventId || !attendeeData) return false; - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify(attendeeData); const options = await constructRequestOptions('POST', raw); @@ -753,7 +753,7 @@ export async function createAttendee(eventId, attendeeData) { export async function updateAttendee(eventId, attendeeId, attendeeData) { if (!eventId || !attendeeData) return false; - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const raw = JSON.stringify(attendeeData); const options = await constructRequestOptions('PUT', raw); @@ -776,7 +776,7 @@ export async function updateAttendee(eventId, attendeeId, attendeeData) { export async function deleteAttendee(eventId, attendeeId) { if (!eventId || !attendeeId) return false; - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('DELETE'); try { @@ -798,7 +798,7 @@ export async function deleteAttendee(eventId, attendeeId) { export async function getEventAttendees(eventId) { if (!eventId) return false; - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); try { @@ -819,7 +819,7 @@ export async function getEventAttendees(eventId) { export async function getAllEventAttendees(eventId) { const recurGetAttendees = async (fullAttendeeArr = [], nextPageToken = null) => { - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); const fetchUrl = nextPageToken ? `${host}/v1/events/${eventId}/attendees?nextPageToken=${nextPageToken}` : `${host}/v1/events/${eventId}/attendees`; @@ -851,7 +851,7 @@ export async function getAllEventAttendees(eventId) { export async function getAttendee(eventId, attendeeId) { if (!eventId || !attendeeId) return false; - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); try { @@ -873,7 +873,7 @@ export async function getAttendee(eventId, attendeeId) { export async function getSpeakers(seriesId) { if (!seriesId) return false; - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); try { @@ -895,7 +895,7 @@ export async function getSpeakers(seriesId) { export async function getEventImages(eventId) { if (!eventId) return false; - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('GET'); try { @@ -917,7 +917,7 @@ export async function getEventImages(eventId) { export async function deleteSpeakerImage(speakerId, seriesId, imageId) { if (!speakerId || !seriesId || !imageId) return false; - const { host } = getAPIConfig().esp[ECC_ENV]; + const { host } = getAPIConfig().esp[getECCEnv()]; const options = await constructRequestOptions('DELETE'); try { diff --git a/ecc/scripts/scripts.js b/ecc/scripts/scripts.js index e8b8866e..5714e828 100644 --- a/ecc/scripts/scripts.js +++ b/ecc/scripts/scripts.js @@ -75,27 +75,6 @@ export function decorateArea(area = document) { }); } -function getECCEnv(miloConfig) { - const { env } = miloConfig; - - if (env.name === 'prod') return 'prod'; - - if (env.name === 'stage') { - const { host, search } = window.location; - const usp = new URLSearchParams(search); - const eccEnv = usp.get('eccEnv'); - - if (eccEnv) return eccEnv; - - if (host.startsWith('main--')) return 'prod'; - if (host.startsWith('stage--') || host.startsWith('www.stage')) return 'stage'; - if (host.startsWith('dev--') || host.startsWith('www.dev')) return 'dev'; - } - - // fallback to dev - return 'dev'; -} - const locales = { '': { ietf: 'en-US', tk: 'jdq5hay.css' }, br: { ietf: 'pt-BR', tk: 'inq1xob.css' }, @@ -151,8 +130,6 @@ export const LIBS = (() => { return branch.includes('--') ? `https://${branch}.hlx.live/libs` : `https://${branch}--milo--adobecom.hlx.live/libs`; })(); -export const BlockMediator = await import('./deps/block-mediator.min.js').then((mod) => mod.default); - (function loadStyles() { const paths = [`${LIBS}/styles/styles.css`]; if (STYLES) { paths.push(STYLES); } @@ -164,12 +141,9 @@ export const BlockMediator = await import('./deps/block-mediator.min.js').then(( }); }()); -const { loadArea, setConfig, loadLana } = await import(`${LIBS}/utils/utils.js`); -export const MILO_CONFIG = setConfig({ ...CONFIG, miloLibs: LIBS }); -export const ECC_ENV = getECCEnv(MILO_CONFIG); -export const DEV_MODE = new URLSearchParams(window.location.search).has('devMode'); - (async function loadPage() { + const { loadArea, setConfig, loadLana } = await import(`${LIBS}/utils/utils.js`); + setConfig({ ...CONFIG, miloLibs: LIBS }); await loadLana({ clientId: 'ecc-milo' }); await loadArea().then(() => { lazyCaptureProfile(); diff --git a/ecc/scripts/utils.js b/ecc/scripts/utils.js index f171fd06..908ded19 100644 --- a/ecc/scripts/utils.js +++ b/ecc/scripts/utils.js @@ -1,13 +1,36 @@ -import { MILO_CONFIG, LIBS, ECC_ENV } from './scripts.js'; +import { LIBS } from './scripts.js'; -const { createTag } = await import(`${LIBS}/utils/utils.js`); +const { createTag, getConfig } = await import(`${LIBS}/utils/utils.js`); let secretCache = []; +export function getECCEnv() { + const validEnvs = ['dev', 'stage', 'prod']; + const { host, search } = window.location; + const SLD = host.includes('.aem.') ? 'aem' : 'hlx'; + const usp = new URLSearchParams(search); + const eccEnv = usp.get('eccEnv'); + + if (validEnvs.includes(eccEnv)) return eccEnv; + + if (((host.includes(`${SLD}.page`) || host.includes(`${SLD}.live`)) && host.startsWith('dev--')) + || host.includes('localhost')) return 'dev'; + + if (((host.includes(`${SLD}.page`) || host.includes(`${SLD}.live`)) && host.startsWith('stage--')) + || host.includes('stage.adobe') + || host.includes('corp.adobe') + || host.includes('graybox.adobe')) return 'stage'; + + if (((host.includes(`${SLD}.page`) || host.includes(`${SLD}.live`)) && host.startsWith('main--')) || host.endsWith === 'adobe.com') return 'prod'; + + // fallback to dev + return 'dev'; +} + export function getIcon(tag) { const img = document.createElement('img'); img.className = `icon icon-${tag}`; - img.src = `${MILO_CONFIG.codeRoot}/icons/${tag}.svg`; + img.src = `${getConfig().codeRoot}/icons/${tag}.svg`; img.alt = tag; return img; @@ -58,7 +81,7 @@ export function convertTo24HourFormat(timeStr) { export function getEventPageHost() { if (window.location.href.includes('.hlx.')) { - return window.location.origin.replace(window.location.hostname, `${ECC_ENV}--events-milo--adobecom.hlx.page`); + return window.location.origin.replace(window.location.hostname, `${getECCEnv()}--events-milo--adobecom.hlx.page`); } return window.location.origin; @@ -232,12 +255,8 @@ export function getServiceName(link) { export async function miloReplaceKey(key) { try { - const [utils, placeholders] = await Promise.all([ - import(`${LIBS}/utils/utils.js`), - import(`${LIBS}/features/placeholders.js`), - ]); + const placeholders = await import(`${LIBS}/features/placeholders.js`); - const { getConfig } = utils; const { replaceKey } = placeholders; const config = getConfig(); diff --git a/ecc/styles/styles.css b/ecc/styles/styles.css index ad0dcc00..5f5a1b9d 100644 --- a/ecc/styles/styles.css +++ b/ecc/styles/styles.css @@ -14,7 +14,7 @@ --spectrum-color-gray-400: #A1A1A1; --spectrum-color-gray-500: #909090; --spectrum-color-gray-600: #686868; - --spectrum-color-gray-700: #444444; + --spectrum-color-gray-700: #444; --spectrum-color-gray-800: #242424; --spectrum-color-text: #2C2C2C; }