diff --git a/libs/remix-ui/static-analyser/src/lib/remix-ui-static-analyser.tsx b/libs/remix-ui/static-analyser/src/lib/remix-ui-static-analyser.tsx
index 6b344bbe04..d897b50eb2 100644
--- a/libs/remix-ui/static-analyser/src/lib/remix-ui-static-analyser.tsx
+++ b/libs/remix-ui/static-analyser/src/lib/remix-ui-static-analyser.tsx
@@ -57,12 +57,13 @@ export const RemixUiStaticAnalyser = (props: RemixUiStaticAnalyserProps) => {
const [autoRun, setAutoRun] = useState(true)
const [slitherEnabled, setSlitherEnabled] = useState(false)
const [showSlither, setShowSlither] = useState('hidden')
+ // Show checkbox to select to display only Slither Analysis
const [showSlitherResult, setShowSlitherResult] = useState('hidden')
- const [showSlitherResultEnabled, setShowSlitherResultEnabled] = useState(false)
+ const [slitherResultEnabled, setSlitherResultEnabled] = useState(false)
const [categoryIndex, setCategoryIndex] = useState(groupedModuleIndex(groupedModules))
const warningContainer = React.useRef(null)
- const [warningState, setWarningState] = useState([])
+ const [warningState, setWarningState] = useState({})
const [state, dispatch] = useReducer(analysisReducer, initialState)
useEffect(() => {
@@ -70,7 +71,7 @@ export const RemixUiStaticAnalyser = (props: RemixUiStaticAnalyserProps) => {
}, [])
useEffect(() => {
- setWarningState([])
+ setWarningState({})
if (autoRun) {
if (state.data !== null) {
run(state.data, state.source, state.file)
@@ -128,6 +129,14 @@ export const RemixUiStaticAnalyser = (props: RemixUiStaticAnalyserProps) => {
setWarningState(groupedCategory)
}
+ const showWarningsByModule = (showOnlyModule: string) => {
+ if(showOnlyModule && warningState[showOnlyModule]) {
+ const newWarningState = {}
+ newWarningState[showOnlyModule] = warningState[showOnlyModule]
+ setWarningState({[showOnlyModule]: warningState[showOnlyModule]})
+ }
+ }
+
const run = (lastCompilationResult, lastCompilationSource, currentFile) => {
if (state.data !== null) {
if (lastCompilationResult && categoryIndex.length > 0) {
@@ -237,6 +246,7 @@ export const RemixUiStaticAnalyser = (props: RemixUiStaticAnalyserProps) => {
warningMessage.push({ msg, options, hasWarning: true, warningModuleName: 'Slither Analysis' })
})
showWarnings(warningMessage, 'warningModuleName')
+ setShowSlitherResult('visible')
props.event.trigger('staticAnaysisWarning', [warningCount])
}
})
@@ -283,7 +293,7 @@ export const RemixUiStaticAnalyser = (props: RemixUiStaticAnalyserProps) => {
}
}
- const handleShowSlitherResultEnabled = () => {
+ const handleSlitherEnabled = () => {
if (slitherEnabled) {
setSlitherEnabled(false)
} else {
@@ -291,11 +301,12 @@ export const RemixUiStaticAnalyser = (props: RemixUiStaticAnalyserProps) => {
}
}
- const handleSlitherEnabled = () => {
- if (showSlitherResultEnabled) {
- setShowSlitherResultEnabled(false)
+ const handleShowSlitherResultEnabled = () => {
+ if (slitherResultEnabled) {
+ setSlitherResultEnabled(false)
} else {
- setShowSlitherResultEnabled(true)
+ setSlitherResultEnabled(true)
+ showWarningsByModule('Slither Analysis')
}
}
@@ -433,12 +444,13 @@ export const RemixUiStaticAnalyser = (props: RemixUiStaticAnalyserProps) => {
id="showOnlySlitherResult"
inputType="checkbox"
onClick={handleShowSlitherResultEnabled}
- checked={showSlitherResultEnabled}
- label="Show Slither result only"
+ checked={slitherResultEnabled}
+ label="Only Show Slither Analysis"
onChange={() => {}}
visibility = {showSlitherResult}
/>
-
+
+
{Object.entries(warningState).length > 0 &&