refactor: move getTabInfo to calendar only (#185)

This commit is contained in:
Samuel Gunter
2024-03-21 16:19:44 -05:00
committed by GitHub
parent 9ee567530f
commit 036cd628d3
2 changed files with 19 additions and 20 deletions

View File

@@ -1,12 +1,29 @@
import type TabInfoMessages from '@shared/messages/TabInfoMessages';
import Calendar from '@views/components/calendar/Calendar'; import Calendar from '@views/components/calendar/Calendar';
import ExtensionRoot from '@views/components/common/ExtensionRoot/ExtensionRoot'; import ExtensionRoot from '@views/components/common/ExtensionRoot/ExtensionRoot';
import React from 'react'; import { MessageListener } from 'chrome-extension-toolkit';
import React, { useEffect } from 'react';
/** /**
* Calendar page * Calendar page
* @returns entire page * @returns entire page
*/ */
export default function CalendarMain() { export default function CalendarMain() {
useEffect(() => {
const tabInfoListener = new MessageListener<TabInfoMessages>({
getTabInfo: ({ sendResponse }) => {
sendResponse({
url: window.location.href,
title: document.title,
});
},
});
tabInfoListener.listen();
return () => tabInfoListener.unlisten();
}, []);
return ( return (
<ExtensionRoot className='h-full w-full'> <ExtensionRoot className='h-full w-full'>
<Calendar /> <Calendar />

View File

@@ -1,10 +1,8 @@
// import '@unocss/reset/tailwind-compat.css'; // import '@unocss/reset/tailwind-compat.css';
import 'uno.css'; import 'uno.css';
import type TabInfoMessages from '@shared/messages/TabInfoMessages';
import { MessageListener } from 'chrome-extension-toolkit';
import clsx from 'clsx'; import clsx from 'clsx';
import React, { useEffect } from 'react'; import React from 'react';
import styles from './ExtensionRoot.module.scss'; import styles from './ExtensionRoot.module.scss';
@@ -17,22 +15,6 @@ interface Props {
* A wrapper component for the extension elements that adds some basic styling to them * A wrapper component for the extension elements that adds some basic styling to them
*/ */
export default function ExtensionRoot(props: React.PropsWithChildren<Props>): JSX.Element { export default function ExtensionRoot(props: React.PropsWithChildren<Props>): JSX.Element {
// TODO: move out of ExtensionRoot
useEffect(() => {
const tabInfoListener = new MessageListener<TabInfoMessages>({
getTabInfo: ({ sendResponse }) => {
sendResponse({
url: window.location.href,
title: document.title,
});
},
});
tabInfoListener.listen();
return () => tabInfoListener.unlisten();
}, []);
return ( return (
<React.StrictMode> <React.StrictMode>
<div className={clsx(styles.extensionRoot, props.className)} data-testid={props.testId}> <div className={clsx(styles.extensionRoot, props.className)} data-testid={props.testId}>