fix: inverted monitor theme inside devtoop-app

Othetr changes:

* simplify monitor integration
This commit is contained in:
FaberVitale 2021-06-13 11:55:09 +02:00
parent ad5b52a4e7
commit 01b92eedb5
4 changed files with 26 additions and 69 deletions

View File

@ -1,25 +0,0 @@
import React, { Component } from 'react';
import { connect, ResolveThunks } from 'react-redux';
import RtkQueryInspectorMonitor from '@redux-devtools/rtk-query-inspector-monitor';
import { selectMonitorWithState } from '../../actions';
type DispatchProps = ResolveThunks<typeof actionCreators>;
type Props = DispatchProps;
class RtkQueryInspectorMonitorWrapper extends Component<Props> {
static update = RtkQueryInspectorMonitor.update;
render() {
return (
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
<RtkQueryInspectorMonitor defaultIsVisible invertTheme {...this.props} />
);
}
}
const actionCreators = {
selectMonitorWithState: selectMonitorWithState,
};
export default connect(null, actionCreators)(RtkQueryInspectorMonitorWrapper);

View File

@ -1,8 +1,8 @@
import React from 'react';
import LogMonitor from '@redux-devtools/log-monitor';
import RtkQueryInspectorMonitorWrapper from '../containers/monitors/RtkQueryMonitorWrapper';
import ChartMonitorWrapper from '../containers/monitors/ChartMonitorWrapper';
import InspectorWrapper from '../containers/monitors/InspectorWrapper';
import RtkQueryInspectorMonitor from '@redux-devtools/rtk-query-inspector-monitor/lib/RtkQueryInspectorMonitor';
export const monitors = [
{ value: 'InspectorMonitor', name: 'Inspector' },
@ -20,7 +20,7 @@ export default function getMonitor({ monitor }: { monitor: string }) {
case 'ChartMonitor':
return <ChartMonitorWrapper />;
case 'RtkQueryMonitor':
return <RtkQueryInspectorMonitorWrapper />;
return <RtkQueryInspectorMonitor />;
default:
return <InspectorWrapper />;
}

View File

@ -1,10 +1,8 @@
import React, { PureComponent } from 'react';
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import * as themes from 'redux-devtools-themes';
import { Action } from 'redux';
import { Base16Theme } from 'react-base16-styling';
import RtkQueryInspector from './RtkQueryInspector';
import reducer from './reducers';
import { reducer } from './reducers';
import {
ExternalProps,
RtkQueryInspectorMonitorProps,
@ -14,35 +12,22 @@ import {
createThemeState,
StyleUtils,
StyleUtilsContext,
base16Themes,
} from './styles/createStylingFromTheme';
interface DefaultProps<S> {
select: (state: unknown) => unknown;
theme: keyof typeof themes | Base16Theme;
preserveScrollTop: boolean;
expandActionRoot: boolean;
expandStateRoot: boolean;
markStateDiff: boolean;
interface DefaultProps {
theme: keyof typeof base16Themes;
invertTheme: boolean;
}
export interface RtkQueryInspectorComponentState {
readonly styleUtils: StyleUtils;
}
class RtkQueryInspectorMonitor<
S,
A extends Action<unknown>
> extends PureComponent<
class RtkQueryInspectorMonitor<S, A extends Action<unknown>> extends Component<
RtkQueryInspectorMonitorProps<S, A>,
RtkQueryInspectorComponentState
> {
constructor(props: RtkQueryInspectorMonitorProps<S, A>) {
super(props);
this.state = {
styleUtils: createThemeState<S, A>(props),
};
}
static update = reducer;
static propTypes = {
@ -52,25 +37,24 @@ class RtkQueryInspectorMonitor<
actionsById: PropTypes.object,
stagedActionIds: PropTypes.array,
skippedActionIds: PropTypes.array,
monitorState: PropTypes.shape({
initialScrollTop: PropTypes.number,
}),
preserveScrollTop: PropTypes.bool,
select: PropTypes.func.isRequired,
monitorState: PropTypes.object,
theme: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
invertTheme: PropTypes.bool,
};
static defaultProps: DefaultProps<unknown> = {
select: (state: unknown) => state,
theme: 'nicinabox',
preserveScrollTop: true,
expandActionRoot: true,
expandStateRoot: true,
markStateDiff: false,
static defaultProps = {
theme: 'inspector',
invertTheme: false,
};
constructor(props: RtkQueryInspectorMonitorProps<S, A>) {
super(props);
this.state = {
styleUtils: createThemeState<S, A>(props),
};
}
render() {
const {
styleUtils: { base16Theme },
@ -98,5 +82,5 @@ export default (RtkQueryInspectorMonitor as unknown) as React.ComponentType<
state: RtkQueryInspectorMonitorState | undefined,
action: Action
): RtkQueryInspectorMonitorState;
defaultProps: DefaultProps<unknown>;
defaultProps: DefaultProps;
};

View File

@ -41,14 +41,12 @@ const monitorSlice = createSlice({
},
});
export default function reducer<S, A extends Action<unknown>>(
export function reducer<S, A extends Action<unknown>>(
props: RtkQueryInspectorProps<S, A>,
state: RtkQueryInspectorMonitorState | undefined = initialState,
state: RtkQueryInspectorMonitorState | undefined,
action: AnyAction
): RtkQueryInspectorMonitorState {
const output = monitorSlice.reducer(state, action);
return output;
return monitorSlice.reducer(state, action);
}
export const { selectQueryKey, changeQueryFormValues } = monitorSlice.actions;