import { useCallback, useState } from 'react'; import { Button } from '@chakra-ui/react'; import { LogOrigin } from 'ontime-types'; import { clearLogs, useLogData } from '../../common/stores/logger'; import * as Panel from '../app-settings/panel-utils/PanelUtils'; import style from './Log.module.scss'; export default function Log() { const { logs: logData } = useLogData(); const [showClient, setShowClient] = useState(true); const [showServer, setShowServer] = useState(true); const [showRx, setShowRx] = useState(true); const [showTx, setShowTx] = useState(true); const [showPlayback, setShowPlayback] = useState(true); const [showUser, setShowUser] = useState(true); const matchers: LogOrigin[] = []; if (showUser) { matchers.push(LogOrigin.User); } if (showClient) { matchers.push(LogOrigin.Client); } if (showServer) { matchers.push(LogOrigin.Server); } if (showRx) { matchers.push(LogOrigin.Rx); } if (showTx) { matchers.push(LogOrigin.Tx); } if (showPlayback) { matchers.push(LogOrigin.Playback); } const filteredData = logData.filter((entry) => matchers.some((match) => entry.origin === match)); const disableOthers = useCallback((toEnable: LogOrigin) => { toEnable === LogOrigin.User ? setShowUser(true) : setShowUser(false); toEnable === LogOrigin.Client ? setShowClient(true) : setShowClient(false); toEnable === LogOrigin.Server ? setShowServer(true) : setShowServer(false); toEnable === LogOrigin.Rx ? setShowRx(true) : setShowRx(false); toEnable === LogOrigin.Tx ? setShowTx(true) : setShowTx(false); toEnable === LogOrigin.Playback ? setShowPlayback(true) : setShowPlayback(false); }, []); return ( <> ); }