(dispatch: React.Disp
})
compileTabLogic.compiler.event.register('loadingCompiler', () => {
- dispatch(setCompilerMode('compilationDuration'))
+ dispatch(setCompilerMode('loadingCompiler'))
})
compileTabLogic.compiler.event.register('compilerLoaded', () => {
diff --git a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx
index 658c533ac6..453bdc30ce 100644
--- a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx
+++ b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx
@@ -35,8 +35,8 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
language: '',
evmVersion: ''
})
+ const [disableCompileButton, setDisableCompileButton] = useState(false)
const compileIcon = useRef(null)
- const warningIcon = useRef(null)
const promptMessageInput = useRef(null)
const [hhCompilation, sethhCompilation] = useState(false)
const [compilerContainer, dispatch] = useReducer(compilerReducer, compilerInitialState)
@@ -83,6 +83,9 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
}, [compileTabLogic])
useEffect(() => {
+ const isDisabled = !compiledFileName || (compiledFileName && !isSolFileSelected(compiledFileName))
+
+ setDisableCompileButton(isDisabled)
setState(prevState => {
return { ...prevState, compiledFileName }
})
@@ -243,14 +246,8 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
}
const compilationDuration = (speed: number) => {
- if (!warningIcon.current) return
if (speed > 1000) {
- const msg = `Last compilation took ${speed}ms. We suggest to turn off autocompilation.`
-
- warningIcon.current.setAttribute('title', msg)
- warningIcon.current.style.visibility = 'visible'
- } else {
- warningIcon.current.style.visibility = 'hidden'
+ console.log(`Last compilation took ${speed}ms. We suggest to turn off autocompilation.`)
}
}
@@ -264,8 +261,8 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
if (!compileIcon.current) return
compileIcon.current.setAttribute('title', 'compiler is loading, please wait a few moments.')
compileIcon.current.classList.add('remixui_spinningIcon')
- warningIcon.current.style.visibility = 'hidden'
_updateLanguageSelector()
+ setDisableCompileButton(true)
}
const compilerLoaded = () => {
@@ -273,6 +270,9 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
compileIcon.current.setAttribute('title', '')
compileIcon.current.classList.remove('remixui_spinningIcon')
if (state.autoCompile) compile()
+ const isDisabled = !compiledFileName || (compiledFileName && !isSolFileSelected(compiledFileName))
+
+ setDisableCompileButton(isDisabled)
}
const compilationFinished = () => {
@@ -531,6 +531,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
}
-