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
);
});