From 0c4229d24b5db4bc2171a18a7bc5408af81d6dd7 Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Sun, 15 May 2022 17:05:24 -0400 Subject: [PATCH] test-tab demo --- .../demo/package.json | 1 - .../demo/src/DemoApp.tsx | 151 +++++++++--------- .../demo/src/DevTools.tsx | 9 +- .../demo/src/index.tsx | 8 +- pnpm-lock.yaml | 2 - 5 files changed, 82 insertions(+), 89 deletions(-) diff --git a/packages/redux-devtools-inspector-monitor-test-tab/demo/package.json b/packages/redux-devtools-inspector-monitor-test-tab/demo/package.json index 7d56163d..8aed33ed 100644 --- a/packages/redux-devtools-inspector-monitor-test-tab/demo/package.json +++ b/packages/redux-devtools-inspector-monitor-test-tab/demo/package.json @@ -36,7 +36,6 @@ "@types/react": "^17.0.45", "@types/react-dom": "^17.0.16", "@types/react-redux": "^7.1.24", - "@types/react-router-dom": "^5.3.3", "@types/redux-logger": "^3.0.9", "@types/styled-components": "^5.1.25", "@types/webpack-env": "^1.16.4", diff --git a/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DemoApp.tsx b/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DemoApp.tsx index 9646552a..5f68b080 100644 --- a/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DemoApp.tsx +++ b/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DemoApp.tsx @@ -1,8 +1,8 @@ -import React, { CSSProperties } from 'react'; +import React, { CSSProperties, useRef } from 'react'; import { connect } from 'react-redux'; import { Button, Toolbar, Spacer } from '@redux-devtools/ui'; import pkg from '@redux-devtools/inspector-monitor-test-tab/package.json'; -import { RouteComponentProps, withRouter } from 'react-router-dom'; +import { useLocation } from 'react-router-dom'; import getOptions from './getOptions'; import { DemoAppState } from './reducers'; import { @@ -69,87 +69,84 @@ interface Props shuffleArray: () => void; } -class DemoApp extends React.Component { - timeout?: number; +function DemoApp(props: Props) { + const timeout = useRef(); + const location = useLocation(); - render() { - const options = getOptions(this.props.location); + const options = getOptions(location); - return ( -
-

{pkg.name || Package Name}

-
- {pkg.description || ( - Package Description - )} -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- {options.useExtension ? ( - - Disable browser extension - - ) : ( - - Use browser extension - - )} -
-
- ); - } - - toggleTimeoutUpdate = () => { - const enabled = !this.props.timeoutUpdateEnabled; - this.props.toggleTimeoutUpdate(enabled); + const toggleTimeoutUpdate = () => { + const enabled = !props.timeoutUpdateEnabled; + props.toggleTimeoutUpdate(enabled); if (enabled) { - this.timeout = window.setInterval(this.props.timeoutUpdate, 1000); + timeout.current = window.setInterval(props.timeoutUpdate, 1000); } else { - clearTimeout(this.timeout); + clearTimeout(timeout.current); } }; + + return ( +
+

{pkg.name || Package Name}

+
+ {pkg.description || ( + Package Description + )} +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ {options.useExtension ? ( + + Disable browser extension + + ) : ( + + Use browser extension + + )} +
+
+ ); } export default connect((state: DemoAppState) => state, { @@ -180,4 +177,4 @@ export default connect((state: DemoAppState) => state, { addFunction: (): AddFunctionAction => ({ type: 'ADD_FUNCTION' }), addSymbol: (): AddSymbolAction => ({ type: 'ADD_SYMBOL' }), shuffleArray: (): ShuffleArrayAction => ({ type: 'SHUFFLE_ARRAY' }), -})(withRouter(DemoApp)); +})(DemoApp); diff --git a/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DevTools.tsx b/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DevTools.tsx index f2988a51..fe45c903 100644 --- a/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DevTools.tsx +++ b/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DevTools.tsx @@ -6,7 +6,7 @@ import { Tab, } from '@redux-devtools/inspector-monitor'; import { DockMonitor } from '@redux-devtools/dock-monitor'; -import { RouteComponentProps, withRouter } from 'react-router-dom'; +import { useLocation } from 'react-router-dom'; import getOptions from './getOptions'; import { TestTab } from '@redux-devtools/inspector-monitor-test-tab'; import { Action } from 'redux'; @@ -36,9 +36,8 @@ export const getDevTools = (location: { search: string }) => ); -const UnconnectedDevTools = ({ location }: RouteComponentProps) => { +export function ConnectedDevTools() { + const location = useLocation(); const DevTools = getDevTools(location); return ; -}; - -export const ConnectedDevTools = withRouter(UnconnectedDevTools); +} diff --git a/packages/redux-devtools-inspector-monitor-test-tab/demo/src/index.tsx b/packages/redux-devtools-inspector-monitor-test-tab/demo/src/index.tsx index 83120306..1e3e0203 100644 --- a/packages/redux-devtools-inspector-monitor-test-tab/demo/src/index.tsx +++ b/packages/redux-devtools-inspector-monitor-test-tab/demo/src/index.tsx @@ -10,7 +10,7 @@ import { StoreEnhancerStoreCreator, } from 'redux'; import logger from 'redux-logger'; -import { BrowserRouter, Route } from 'react-router-dom'; +import { BrowserRouter, Route, Routes } from 'react-router-dom'; import { persistState } from '@redux-devtools/core'; import DemoApp from './DemoApp'; import { rootReducer } from './reducers'; @@ -60,9 +60,9 @@ render( colorPreference: 'auto', }} > - - - + + } /> + {!useDevtoolsExtension && } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e81d98d6..df22ccb3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1375,7 +1375,6 @@ importers: '@types/react': ^17.0.45 '@types/react-dom': ^17.0.16 '@types/react-redux': ^7.1.24 - '@types/react-router-dom': ^5.3.3 '@types/redux-logger': ^3.0.9 '@types/styled-components': ^5.1.25 '@types/webpack-env': ^1.16.4 @@ -1432,7 +1431,6 @@ importers: '@types/react': 17.0.45 '@types/react-dom': 17.0.16 '@types/react-redux': 7.1.24 - '@types/react-router-dom': 5.3.3 '@types/redux-logger': 3.0.9 '@types/styled-components': 5.1.25 '@types/webpack-env': 1.16.4