refactor: move getTabInfo to calendar only (#185)
This commit is contained in:
@@ -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 />
|
||||||
|
|||||||
@@ -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}>
|
||||||
|
|||||||
Reference in New Issue
Block a user