import React from 'react'; import { render } from 'react-dom'; import { ContextInvalidated, createShadowDOM, isExtensionPopup, onContextInvalidated } from 'chrome-extension-toolkit'; import CourseCatalogMain from './components/CourseCatalogMain'; import colors from './styles/colors.module.scss'; import getSiteSupport, { SiteSupport } from './lib/getSiteSupport'; import PopupMain from './components/PopupMain'; const support = getSiteSupport(window.location.href); if (!support) { throw new Error('UT Registration Plus does not support this page, even though it should...'); } if (support === SiteSupport.EXTENSION_POPUP) { render(, document.getElementById('root')); } if (support === SiteSupport.MY_CALENDAR) { render(
My Calendar
, document.getElementById('root')); } if (support === SiteSupport.COURSE_CATALOG_DETAILS || support === SiteSupport.COURSE_CATALOG_LIST) { const shadowDom = createShadowDOM('ut-registration-plus-container'); render(, shadowDom.shadowRoot); shadowDom.addStyle('static/css/content.css'); } if (support === SiteSupport.WAITLIST) { // TODO: Implement waitlist support } if (support === SiteSupport.UT_PLANNER) { // TODO: Implement ut planner support } onContextInvalidated(() => { const div = document.createElement('div'); div.id = 'context-invalidated-container'; document.body.appendChild(div); render( , div ); });