diff --git a/src/pages/map/Map.tsx b/src/pages/map/Map.tsx index 0397edf6..daafa886 100644 --- a/src/pages/map/Map.tsx +++ b/src/pages/map/Map.tsx @@ -1,12 +1,14 @@ import DialogProvider from '@views/components/common/DialogProvider/DialogProvider'; import ExtensionRoot from '@views/components/common/ExtensionRoot/ExtensionRoot'; import Map from '@views/components/map/Map'; +import useKC_DABR_WASM from 'kc-dabr-wasm'; import React from 'react'; /** * Renders the map page for the UTRP (UT Registration Plus) extension. */ export default function MapPage() { + useKC_DABR_WASM(); return ( diff --git a/src/shared/storage/DevStore.ts b/src/shared/storage/DevStore.ts index 1927add8..95a2fb99 100644 --- a/src/shared/storage/DevStore.ts +++ b/src/shared/storage/DevStore.ts @@ -4,6 +4,8 @@ import { createLocalStore, debugStore } from 'chrome-extension-toolkit'; * A store that is used to store data that is only relevant during development */ interface IDevStore { + /** whether the user is a developer */ + isDeveloper: boolean; /** the tabId for the debug tab */ debugTabId?: number; /** whether the debug tab is visible */ @@ -17,6 +19,7 @@ interface IDevStore { } export const DevStore = createLocalStore({ + isDeveloper: false, debugTabId: undefined, isTabReloading: true, wasDebugTabVisible: false, diff --git a/src/views/components/settings/Settings.tsx b/src/views/components/settings/Settings.tsx index 108b57b6..0d756ea1 100644 --- a/src/views/components/settings/Settings.tsx +++ b/src/views/components/settings/Settings.tsx @@ -5,6 +5,7 @@ import exportSchedule from '@pages/background/lib/exportSchedule'; import importSchedule from '@pages/background/lib/importSchedule'; import { CalendarDots, Trash } from '@phosphor-icons/react'; import { background } from '@shared/messages'; +import { DevStore } from '@shared/storage/DevStore'; import { initSettings, OptionsStore } from '@shared/storage/OptionsStore'; import { UserScheduleStore } from '@shared/storage/UserScheduleStore'; import { CRX_PAGES } from '@shared/types/CRXPages'; @@ -38,14 +39,14 @@ import { useMigrationDialog } from '../common/MigrationDialog'; import DevMode from './DevMode'; import Preview from './Preview'; -const DISPLAY_PREVIEWS = false; -const PREVIEW_SECTION_DIV_CLASSNAME = DISPLAY_PREVIEWS ? 'w-1/2 space-y-4' : 'flex-grow space-y-4'; - const manifest = chrome.runtime.getManifest(); const gitHubStatsService = new GitHubStatsService(); const includeMergedPRs = false; +const DISPLAY_PREVIEWS = false; +const PREVIEW_SECTION_DIV_CLASSNAME = DISPLAY_PREVIEWS ? 'w-1/2 space-y-4' : 'flex-grow space-y-4'; + /** * Custom hook for enabling developer mode. * @@ -105,6 +106,8 @@ export default function Settings(): JSX.Element { const [activeSchedule] = useSchedules(); // const [isRefreshing, setIsRefreshing] = useState(false); + const [isDeveloper, setIsDeveloper] = useState(false); + const showDialog = usePrompt(); const handleChangelogOnClick = useChangelog(); @@ -134,6 +137,16 @@ export default function Settings(): JSX.Element { setCalendarNewTab(alwaysOpenCalendarInNewTab); }; + const initDS = async () => { + const isDev = await DevStore.get('isDeveloper'); + setIsDeveloper(isDev); + }; + + const ds_l1 = DevStore.listen('isDeveloper', async ({ newValue }) => { + setIsDeveloper(newValue); + }); + + initDS(); fetchGitHubStats(); initAndSetSettings(); @@ -184,6 +197,8 @@ export default function Settings(): JSX.Element { OptionsStore.removeListener(l4); OptionsStore.removeListener(l5); + DevStore.removeListener(ds_l1); + window.removeEventListener('keydown', handleKeyPress); }; }, []); @@ -257,6 +272,7 @@ export default function Settings(): JSX.Element { const [devMode, toggleDevMode] = useDevMode(10); if (devMode) { + DevStore.set('isDeveloper', true); return ; } @@ -534,31 +550,35 @@ export default function Settings(): JSX.Element { - + {isDeveloper && ( + <> + -
-
- - Debug Page - - - DEV - -

- Open the developer debug page to view extension storage and debug logs -

-
- -
+
+
+ + Debug Page + + + DEV + +

+ Open the developer debug page to view extension storage and debug logs +

+
+ +
+ + )}