From 343b2fb5605fd0be7689e0cfcb7168faed124b6d Mon Sep 17 00:00:00 2001 From: Eric NGUYEN Date: Wed, 12 Oct 2022 16:18:20 +0200 Subject: [PATCH] Remove duplicate component --- src/Components/MessagesSidebar/Messages.tsx | 131 -------------------- 1 file changed, 131 deletions(-) delete mode 100644 src/Components/MessagesSidebar/Messages.tsx diff --git a/src/Components/MessagesSidebar/Messages.tsx b/src/Components/MessagesSidebar/Messages.tsx deleted file mode 100644 index 8422a36..0000000 --- a/src/Components/MessagesSidebar/Messages.tsx +++ /dev/null @@ -1,131 +0,0 @@ -import * as React from 'react'; -import { FixedSizeList as List } from 'react-window'; -import { API_GET_FEEDBACK_URL } from '../../../public/svgld-settings'; -import { MessageType } from '../../Enums/MessageType'; -import { IGetFeedbackRequest } from '../../Interfaces/IGetFeedbackRequest'; -import { IGetFeedbackResponse } from '../../Interfaces/IGetFeedbackResponse'; -import { IHistoryState } from '../../Interfaces/IHistoryState'; -import { IMessage } from '../../Interfaces/IMessage'; -import { DISABLE_API } from '../../utils/default'; -import { GetCircularReplacerKeepDataStructure } from '../../utils/saveload'; -import { TITLE_BAR_HEIGHT } from '../Sidebar/Sidebar'; - -interface IMessagesSidebarProps { - historyState: IHistoryState -} - -// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions -const myWorker = window.Worker && new Worker('workers/message_worker.js'); - -function UseWorker( - state: IHistoryState, - setMessages: React.Dispatch> -): void { - React.useEffect(() => { - // use webworker for the stringify to avoid freezing - myWorker.postMessage({ - state, - url: API_GET_FEEDBACK_URL - }); - - return () => { - }; - }, [state]); - - React.useEffect(() => { - myWorker.onmessage = (event) => { - setMessages(event.data as IMessage[]); - }; - }, [setMessages]); -} - -function UseAsync( - state: IHistoryState, - setMessages: React.Dispatch> -): void { - React.useEffect(() => { - const request: IGetFeedbackRequest = { - // eslint-disable-next-line @typescript-eslint/naming-convention - ApplicationState: state - }; - const dataParsed = JSON.stringify(request, GetCircularReplacerKeepDataStructure()); - fetch(API_GET_FEEDBACK_URL, { - method: 'POST', - headers: new Headers({ - // eslint-disable-next-line @typescript-eslint/naming-convention - 'Content-Type': 'application/json' - }), - body: dataParsed - }) - .then(async(response) => - await response.json() - ) - .then(async(json: IGetFeedbackResponse) => { - setMessages(json.messages); - }); - }, [state]); -} - -export function MessagesSidebar(props: IMessagesSidebarProps): JSX.Element { - const [messages, setMessages] = React.useState([]); - - // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions - if (window.Worker && !DISABLE_API) { - UseWorker( - props.historyState, - setMessages - ); - } else if (!DISABLE_API) { - UseAsync( - props.historyState, - setMessages - ); - } - - function Row({ index, style }: {index: number, style: React.CSSProperties}): JSX.Element { - const reversedIndex = (messages.length - 1) - index; - const message = messages[reversedIndex]; - let classType = ''; - switch (message.type) { - case MessageType.Success: - classType = 'bg-green-400 hover:bg-green-400/60'; - break; - - case MessageType.Warning: - classType = 'bg-yellow-400 hover:bg-yellow-400/60'; - break; - - case MessageType.Error: - classType = 'bg-red-400 hover:bg-red-400/60'; - break; - } - return (

- {message.text} -

); - } - - return ( - // - // - - {Row} - - ); -};