let detectProgramPage = () => { if (location.href.includes('/programs/')) { let actionsBar = document.querySelector('.cbt-action-bar') if (actionsBar) { if (!actionsBar.classList.value.includes('touched')) { const PROGRAM_PERMALINK = getPermalinkFromURL(location.href); axios.get(`/api/contents/${PROGRAM_PERMALINK}/access`) .then(function (response) { const ACCESS = response.data if (!ACCESS) { return axios.get(`/api/contents/${PROGRAM_PERMALINK}`) } }).then((response) => { const PROGRAM = response.data return axios.get(`/api/products/?c=${PROGRAM.id}`) }).then((response) => { const PRODUCTS = response.data let programId = response.config.url.split('?c=')[1] let markup = '' PRODUCTS.forEach(product => { markup += ` ${offerName(product.type)} ${product.price_humanized} ` }) console.log(PRODUCTS) console.log(markup) actionsBar.insertAdjacentHTML('afterbegin', markup) }) actionsBar.classList.add('touched') } } } setTimeout(() => detectProgramPage(), 500) } function offerName (type) { let types = { "fixed_price_program": "Buy", "fixed_price": "Buy Collection", "rental": "Rent Collection", "rental_program": "Rent", "recurring": "Subscribe" } return types[type] } let getPermalinkFromURL = (url) => { return url.substring(url.indexOf('/programs/') + 10).split('?')[0] } detectProgramPage()