diff --git a/apps/remix-ide-e2e/src/tests/debugger.test.ts b/apps/remix-ide-e2e/src/tests/debugger.test.ts
index 56965e31a9..9fdd7fb6c2 100644
--- a/apps/remix-ide-e2e/src/tests/debugger.test.ts
+++ b/apps/remix-ide-e2e/src/tests/debugger.test.ts
@@ -191,14 +191,14 @@ module.exports = {
.clickFunction('f - transact (not payable)', { types: 'uint256[] ', values: '[]' })
.debugTransaction(0)
.pause(2000)
- .click('*[data-id="debuggerTransactionStartButton"]') // stop debugging
+ .click('*[id="debuggerTransactionStartButtonContainer"]') // stop debugging
.click('*[data-id="debugGeneratedSourcesLabel"]') // select debug with generated sources
- .click('*[data-id="debuggerTransactionStartButton"]') // start debugging
+ .click('*[id="debuggerTransactionStartButtonContainer"]') // start debugging
.pause(2000)
.getEditorValue((content) => {
browser.assert.ok(content.indexOf('if slt(sub(dataEnd, headStart), 32)') !== -1, 'current displayed content is not a generated source')
})
- .click('*[data-id="debuggerTransactionStartButton"]')
+ .click('*[id="debuggerTransactionStartButtonContainer"]')
},
// depends on Should debug using generated sources
'Should call the debugger api: getTrace #group4': function (browser: NightwatchBrowser) {
diff --git a/libs/remix-ui/debugger-ui/src/lib/button-navigator/button-navigator.css b/libs/remix-ui/debugger-ui/src/lib/button-navigator/button-navigator.css
index 835b54615b..75f8f771d5 100644
--- a/libs/remix-ui/debugger-ui/src/lib/button-navigator/button-navigator.css
+++ b/libs/remix-ui/debugger-ui/src/lib/button-navigator/button-navigator.css
@@ -6,16 +6,42 @@
width: 100%;
display: flex;
justify-content: center;
+ align-items: center;
+ color: #fff;
}
.stepButton {
}
+
+.stepButtonDisabled {
+ background-color: #005573;
+ border-color: #005573;
+}
+
+.stepButton:hover {
+ color: #fff;
+ background-color: #005573;
+ border-color: #005573;
+}
.jumpButtons {
width: 100%;
display: flex;
justify-content: center;
+ align-items: center;
+ color: #fff;
}
.jumpButton {
}
+
+.jumpButtonDisabled {
+ background-color: #005573;
+ border-color: #005573;
+}
+
+.jumButton:hover {
+ color: #fff;
+ background-color: #005573;
+ border-color: #005573;
+}
.navigator {
}
.navigator:hover {
diff --git a/libs/remix-ui/debugger-ui/src/lib/button-navigator/button-navigator.tsx b/libs/remix-ui/debugger-ui/src/lib/button-navigator/button-navigator.tsx
index 2db94f72cc..f1c0826eb2 100644
--- a/libs/remix-ui/debugger-ui/src/lib/button-navigator/button-navigator.tsx
+++ b/libs/remix-ui/debugger-ui/src/lib/button-navigator/button-navigator.tsx
@@ -1,4 +1,5 @@
import React, { useState, useEffect } from 'react' // eslint-disable-line
+import { OverlayTrigger, Tooltip } from 'react-bootstrap'
import './button-navigator.css'
export const ButtonNavigation = ({ stepOverBack, stepIntoBack, stepIntoForward, stepOverForward, jumpOut, jumpPreviousBreakpoint, jumpNextBreakpoint, jumpToException, revertedReason, stepState, jumpOutDisabled }) => {
@@ -50,22 +51,120 @@ export const ButtonNavigation = ({ stepOverBack, stepIntoBack, stepIntoForward,
})
}
+ const stepBtnStyle = 'd-flex align-items-center justify-content-center btn btn-primary btn-sm stepButton h-75 m-0 p-1'
+ const disableStepBtnStyle = 'stepButtonDisabled'
+ const jumpBtnStyle = 'd-flex align-items-center justify-content-center btn btn-primary btn-sm jumpButton h-75 m-0 p-1'
+ const disableJumpBtnStyle = 'jumpButtonDisabled'
+
return (
-
{ stepOverBack && stepOverBack() }} disabled={state.overBackDisabled} >
-
{ stepIntoBack && stepIntoBack() }} disabled={state.intoBackDisabled}>
-
{ stepIntoForward && stepIntoForward() }} disabled={state.intoForwardDisabled}>
-
{ stepOverForward && stepOverForward() }} disabled={state.overForwardDisabled}>
+
+ Step over back
+
+ }
+ >
+ { stepOverBack && stepOverBack() }}>
+ { stepOverBack && stepOverBack() }} disabled={state.overBackDisabled} style={{ pointerEvents: 'none', color: 'white' }}>
+
+
+
+
+
+ Step back
+
+ }
+ >
+ { stepIntoBack && stepIntoBack() }} data-id="buttonNavigatorIntoBack" id="buttonNavigatorIntoBackContainer">
+ { stepIntoBack && stepIntoBack() }} disabled={state.intoBackDisabled} style={{ pointerEvents: 'none', color: 'white' }}>
+
+
+
+
+
+ Step into
+
+ }
+ >
+ { stepIntoForward && stepIntoForward() }} data-id="buttonNavigatorIntoForward" id="buttonNavigatorIntoFowardContainer">
+ { stepIntoForward && stepIntoForward() }} disabled={state.intoForwardDisabled}
+ style={{ pointerEvents: 'none', color: 'white' }}
+ >
+
+
+
+
+
+ Step over forward
+
+ }
+ >
+ { stepOverForward && stepOverForward() }} data-id="buttonNavigatorOverForward" id="buttonNavigatorOverForwardContainer">
+ { stepOverForward && stepOverForward() }} disabled={state.overForwardDisabled} style={{ pointerEvents: 'none', color: 'white' }}>
+
+
+
+
-
{ jumpPreviousBreakpoint && jumpPreviousBreakpoint() }} disabled={state.jumpPreviousBreakpointDisabled}>
-
{ jumpOut && jumpOut() }} disabled={state.jumpOutDisabled}>
-
{ jumpNextBreakpoint && jumpNextBreakpoint() }} disabled={state.jumpNextBreakpointDisabled}>
+
+ {'Jump to the previous breakpoint'}
+
+ }
+ >
+ { jumpPreviousBreakpoint && jumpPreviousBreakpoint() }} data-id="buttonNavigatorJumpPreviousBreakpoint">
+ { jumpPreviousBreakpoint && jumpPreviousBreakpoint() }} disabled={state.jumpPreviousBreakpointDisabled} style={{ pointerEvents: 'none', backgroundColor: 'inherit', color: 'white' }}>
+
+
+
+
+
+ {'Jump out'}
+
+ }
+ >
+ { jumpOut && jumpOut() }} data-id="buttonNavigatorJumpOut" id="buttonNavigatorJumpOutContainer">
+ { jumpOut && jumpOut() }} disabled={state.jumpOutDisabled} style={{ pointerEvents: 'none', backgroundColor: 'inherit', color: 'white' }} data-id="buttonNavigatorJumpOut">
+
+
+
+
+
+ {'Jump to the next breakpoint'}
+
+ }
+ >
+ { jumpNextBreakpoint && jumpNextBreakpoint() }} data-id="buttonNavigatorJumpNextBreakpoint" id="buttonNavigatorJumpNextBreakpointContainer">
+ { jumpNextBreakpoint && jumpNextBreakpoint() }} disabled={state.jumpNextBreakpointDisabled} style={{ pointerEvents: 'none', color: 'white' }}>
+
+
+
+
-
This call has reverted, state changes made during the call will be reverted.
+
This call has reverted, state changes made during the call will be reverted.
This call will run out of gas.
The parent call will throw an exception
Click { jumpToException && jumpToException() }}>here to jump where the call reverted.
diff --git a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx
index 93c7a7a1aa..85eecf4c50 100644
--- a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx
+++ b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx
@@ -10,6 +10,7 @@ import { Toaster } from '@remix-ui/toaster' // eslint-disable-line
import { isValidHash } from '@remix-ui/helper'
/* eslint-disable-next-line */
import './debugger-ui.css'
+import { OverlayTrigger, Tooltip } from 'react-bootstrap'
const _paq = (window as any)._paq = (window as any)._paq || []
export const DebuggerUI = (props: DebuggerUIProps) => {
@@ -352,12 +353,21 @@ export const DebuggerUI = (props: DebuggerUIProps) => {
- {
+
+ {"Debug with generated sources"}
+
+ } placement="top-start"
+ >
+
+ {
setState(prevState => {
return { ...prevState, opt: { ...prevState.opt, debugWithGeneratedSources: checked } }
})
- }} type="checkbox" title="Debug with generated sources" />
+ }} type="checkbox" />
Use generated sources (Solidity {'>='} v0.7.2)
+
+
{ state.isLocalNodeUsed &&
}
{ state.debugging &&
}
diff --git a/libs/remix-ui/debugger-ui/src/lib/tx-browser/tx-browser.tsx b/libs/remix-ui/debugger-ui/src/lib/tx-browser/tx-browser.tsx
index f990eb8ac9..0d42c5eb5a 100644
--- a/libs/remix-ui/debugger-ui/src/lib/tx-browser/tx-browser.tsx
+++ b/libs/remix-ui/debugger-ui/src/lib/tx-browser/tx-browser.tsx
@@ -1,5 +1,6 @@
import React, { useState, useEffect, useRef } from 'react' //eslint-disable-line
-import { useIntl } from 'react-intl'
+import { useIntl, FormattedMessage } from 'react-intl'
+import { OverlayTrigger, Tooltip } from 'react-bootstrap'
import './tx-browser.css'
export const TxBrowser = ({ requestDebug, updateTxNumberFlag, unloadRequested, transactionNumber, debugging }) => {
@@ -68,16 +69,31 @@ export const TxBrowser = ({ requestDebug, updateTxNumberFlag, unloadRequested, t
/>
-
+
+
+
+
+ }
>
- { intl.formatMessage({id: `debugger.${debugging ? 'stopDebugging' : 'startDebugging'}`, defaultMessage: debugging ? 'Stop debugging' : 'Start debugging'}) }
-
+
+
+
+
+
+
+
+
diff --git a/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx b/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx
index a2dabd7523..720cafceb7 100644
--- a/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx
+++ b/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx
@@ -34,7 +34,18 @@ const RemixUIPanelHeader = (props: RemixPanelProps) => {
- {plugin?.profile?.maintainedBy?.toLowerCase() === "remix" && ( )}
+ {plugin?.profile?.maintainedBy?.toLowerCase() === "remix" && (
+
+ {"Maintained by Remix"}
+
+ }
+ >
+
+
+ )}