From 520ab146a66faffd071bde15cb10ff29d0be7885 Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 15 Mar 2023 12:41:36 +0100 Subject: [PATCH 001/122] fix creating vm acount --- apps/remix-ide/src/blockchain/providers/vm.js | 12 +++++-- .../src/blockchain/providers/worker-vm.ts | 32 ++++++++++++++++++- .../run-tab/src/lib/components/account.tsx | 14 ++++++++ 3 files changed, 55 insertions(+), 3 deletions(-) diff --git a/apps/remix-ide/src/blockchain/providers/vm.js b/apps/remix-ide/src/blockchain/providers/vm.js index a4a600bbf8..2f9322deef 100644 --- a/apps/remix-ide/src/blockchain/providers/vm.js +++ b/apps/remix-ide/src/blockchain/providers/vm.js @@ -7,6 +7,7 @@ class VMProvider { this.executionContext = executionContext this.worker = null this.provider = null + this.newAccountCallback = {} } getAccounts (cb) { @@ -44,6 +45,11 @@ class VMProvider { this.accounts = {} this.executionContext.setWeb3(this.executionContext.getProvider(), this.web3) } + } else if (msg.data.cmd === 'newAccountResult') { + if (this.newAccountCallback[msg.data.stamp]) { + this.newAccountCallback[msg.data.stamp](msg.data.error, msg.data.result) + delete this.newAccountCallback[msg.data.stamp] + } } }) @@ -54,13 +60,15 @@ class VMProvider { // can be removed later when we update the API createVMAccount (newAccount) { const { privateKey, balance } = newAccount - this.RemixSimulatorProvider.Accounts._addAccount(privateKey, balance) + this.worker.postMessage({ cmd: 'addAccount', privateKey: privateKey, balance }) const privKey = Buffer.from(privateKey, 'hex') return '0x' + privateToAddress(privKey).toString('hex') } newAccount (_passwordPromptCb, cb) { - this.RemixSimulatorProvider.Accounts.newAccount(cb) + const stamp = Date.now() + this.newAccountCallback[stamp] = cb + this.worker.postMessage({ cmd: 'newAccount', stamp }) } getBalanceInEther (address, cb) { diff --git a/apps/remix-ide/src/blockchain/providers/worker-vm.ts b/apps/remix-ide/src/blockchain/providers/worker-vm.ts index 7473e6ce37..b261cda864 100644 --- a/apps/remix-ide/src/blockchain/providers/worker-vm.ts +++ b/apps/remix-ide/src/blockchain/providers/worker-vm.ts @@ -42,6 +42,36 @@ self.onmessage = (e: MessageEvent) => { } break - } + } + case 'addAccount': + { + if (provider) { + provider.Accounts._addAccount(data.privateKey, data.balance) + } + + break + } + case 'newAccount': + { + if (provider) { + provider.Accounts.newAccount((error, address: string) => { + if (error) { + self.postMessage({ + cmd: 'newAccountResult', + error, + stamp: data.stamp + }) + } else { + self.postMessage({ + cmd: 'newAccountResult', + result: address, + stamp: data.stamp + }) + } + }) + } + + break + } } } diff --git a/libs/remix-ui/run-tab/src/lib/components/account.tsx b/libs/remix-ui/run-tab/src/lib/components/account.tsx index 34c994977e..4687927fe1 100644 --- a/libs/remix-ui/run-tab/src/lib/components/account.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/account.tsx @@ -37,6 +37,20 @@ export function AccountUI (props: AccountProps) { }) break + case 'vm-london': + setPlusOpt({ + classList: '', + title: 'Create a new account' + }) + break + + case 'vm-berlin': + setPlusOpt({ + classList: '', + title: 'Create a new account' + }) + break + case 'web3': if (!props.personalMode) { setPlusOpt({ From a9b0a294ee243eac97cef71b9efb308a0d134e19 Mon Sep 17 00:00:00 2001 From: ryestew Date: Wed, 22 Mar 2023 10:11:05 -0400 Subject: [PATCH 002/122] remove curley brace --- .../workspace/src/lib/components/workspace-hamburger-item.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/remix-ui/workspace/src/lib/components/workspace-hamburger-item.tsx b/libs/remix-ui/workspace/src/lib/components/workspace-hamburger-item.tsx index dc80908b9a..67164670b9 100644 --- a/libs/remix-ui/workspace/src/lib/components/workspace-hamburger-item.tsx +++ b/libs/remix-ui/workspace/src/lib/components/workspace-hamburger-item.tsx @@ -29,7 +29,7 @@ export function HamburgerMenuItem (props: HamburgerMenuItemProps) { key={uid + '-fe-ws'} onClick={() => { props.actionOnClick() - _paq.push(['trackEvent', 'fileExplorer', 'workspaceMenu', {uid}]) + _paq.push(['trackEvent', 'fileExplorer', 'workspaceMenu', uid]) }} > Date: Thu, 23 Mar 2023 12:46:42 +0530 Subject: [PATCH 003/122] fix build --- apps/remix-ide/src/blockchain/providers/vm.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/remix-ide/src/blockchain/providers/vm.js b/apps/remix-ide/src/blockchain/providers/vm.js index 6a6a862bca..be007d97da 100644 --- a/apps/remix-ide/src/blockchain/providers/vm.js +++ b/apps/remix-ide/src/blockchain/providers/vm.js @@ -50,15 +50,15 @@ class VMProvider { } else { reject(new Error(msg.data.error)) } - } - } else if (msg.data.cmd === 'newAccountResult') { + } else if (msg.data.cmd === 'newAccountResult') { if (this.newAccountCallback[msg.data.stamp]) { this.newAccountCallback[msg.data.stamp](msg.data.error, msg.data.result) delete this.newAccountCallback[msg.data.stamp] } } }) - this.worker.postMessage({ cmd: 'init', fork: this.executionContext.getCurrentFork(), nodeUrl: provider?.options['nodeUrl'], blockNumber: provider?.options['blockNumber']}) + this.worker.postMessage({ cmd: 'init', fork: this.executionContext.getCurrentFork(), nodeUrl: provider?.options['nodeUrl'], blockNumber: provider?.options['blockNumber']}) + }) } // TODO: is still here because of the plugin API From d26465189c8e10defbe696de35a0f98cee1dd904 Mon Sep 17 00:00:00 2001 From: lianahus Date: Mon, 6 Mar 2023 16:09:50 +0100 Subject: [PATCH 004/122] changed the bg of tooltips --- .../lib/components/file-decoration-icon.tsx | 58 +++++++++---------- .../file-decoration-tooltip.tsx | 33 +++++------ .../src/lib/components/custom-tooltip.tsx | 17 ++++-- .../panel/src/lib/plugins/panel-header.tsx | 16 +++-- .../src/lib/compiler-container.tsx | 3 +- 5 files changed, 66 insertions(+), 61 deletions(-) diff --git a/libs/remix-ui/file-decorators/src/lib/components/file-decoration-icon.tsx b/libs/remix-ui/file-decorators/src/lib/components/file-decoration-icon.tsx index f05cea9f65..3563e17dc1 100644 --- a/libs/remix-ui/file-decorators/src/lib/components/file-decoration-icon.tsx +++ b/libs/remix-ui/file-decorators/src/lib/components/file-decoration-icon.tsx @@ -8,44 +8,42 @@ import FileDecorationTooltip from './filedecorationicons/file-decoration-tooltip import FileDecorationWarningIcon from './filedecorationicons/file-decoration-warning-icon' export type fileDecorationProps = { - file: FileType, - fileDecorations: fileDecoration[] + file: FileType, + fileDecorations: fileDecoration[] } export const FileDecorationIcons = (props: fileDecorationProps) => { - const [states, setStates] = useState([]) - useEffect(() => { - //console.log(props.file) - //console.log(props.fileState) - setStates(props.fileDecorations.filter((fileDecoration) => fileDecoration.path === props.file.path || `${fileDecoration.workspace.name}/${fileDecoration.path}` === props.file.path)) - }, [props.fileDecorations]) + const [states, setStates] = useState([]) + useEffect(() => { + //console.log(props.file) + //console.log(props.fileState) + setStates(props.fileDecorations.filter((fileDecoration) => fileDecoration.path === props.file.path || `${fileDecoration.workspace.name}/${fileDecoration.path}` === props.file.path)) + }, [props.fileDecorations]) + const getTags = function () { + if (states && states.length) { + const elements: JSX.Element[] = [] - const getTags = function () { - if (states && states.length) { - const elements: JSX.Element[] = [] - - for (const [index, state] of states.entries()) { - switch (state.fileStateType) { - case fileDecorationType.Error: - elements.push(}/>) - break - case fileDecorationType.Warning: - elements.push(}/>) - break - case fileDecorationType.Custom: - elements.push(}/>) - break - } - } - - return elements + for (const [index, state] of states.entries()) { + switch (state.fileStateType) { + case fileDecorationType.Error: + elements.push(}/>) + break + case fileDecorationType.Warning: + elements.push(}/>) + break + case fileDecorationType.Custom: + elements.push(}/>) + break } + } + return elements } + } - return <> - {getTags()} - + return <> + {getTags()} + } export default FileDecorationIcons \ No newline at end of file diff --git a/libs/remix-ui/file-decorators/src/lib/components/filedecorationicons/file-decoration-tooltip.tsx b/libs/remix-ui/file-decorators/src/lib/components/filedecorationicons/file-decoration-tooltip.tsx index 1d87846192..cd9a9f4114 100644 --- a/libs/remix-ui/file-decorators/src/lib/components/filedecorationicons/file-decoration-tooltip.tsx +++ b/libs/remix-ui/file-decorators/src/lib/components/filedecorationicons/file-decoration-tooltip.tsx @@ -3,30 +3,29 @@ import { OverlayTrigger, Tooltip } from "react-bootstrap"; import { fileDecoration } from "../../types"; const FileDecorationTooltip = (props: { - fileDecoration: fileDecoration, - icon: JSX.Element - index: number + fileDecoration: fileDecoration, + icon: JSX.Element + index: number }, ) => { const getComments = function (fileDecoration: fileDecoration) { - if (fileDecoration.comment) { - const comments = Array.isArray(fileDecoration.comment) ? fileDecoration.comment : [fileDecoration.comment] - return comments.map((comment, index) => { - return
{comment}

- }) - } + if (fileDecoration.comment) { + const comments = Array.isArray(fileDecoration.comment) ? fileDecoration.comment : [fileDecoration.comment] + return comments.map((comment, index) => { + return
{comment}

+ }) + } } return - <>{getComments(props.fileDecoration)} - - } + key={`overlaytrigger-${props.fileDecoration.path}-${props.index}`} + placement='auto' + overlay={ + + <>{getComments(props.fileDecoration)} + + } >
{props.icon}
- } diff --git a/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx b/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx index 6c55ed06c8..0f1f704653 100644 --- a/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx +++ b/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx @@ -1,19 +1,28 @@ import React from 'react'; import { Fragment } from 'react'; -import { OverlayTrigger, Tooltip } from 'react-bootstrap'; +import { OverlayTrigger, Tooltip, Popover } from 'react-bootstrap'; import { CustomTooltipType } from '../../types/customtooltip' export function CustomTooltip({ children, placement, tooltipId, tooltipClasses, tooltipText, tooltipTextClasses, delay }: CustomTooltipType) { + if (typeof tooltipText !== 'string') { + const newTooltipText = React.cloneElement(tooltipText, { + className: " bg-secondary text-danger text-wrap " + }) + tooltipText = newTooltipText + } + return ( - {typeof tooltipText === 'string' ? ({tooltipText}) : (tooltipText)} - + + + {typeof tooltipText === 'string' ? ({tooltipText}) : (tooltipText)} + + } delay={delay} > 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 229ca41581..6bf5a07e83 100644 --- a/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx +++ b/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx @@ -39,16 +39,14 @@ const RemixUIPanelHeader = (props: RemixPanelProps) => {
{plugin?.profile?.maintainedBy?.toLowerCase() === "remix" && ( - - {"Maintained by Remix"} - - } - > + - + )}
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 7100b1dbf8..5ac1527627 100644 --- a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx +++ b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx @@ -991,7 +991,8 @@ export const CompilerContainer = (props: CompilerContainerProps) => { placement="right" tooltipId="overlay-tooltip-compile-run-doc" tooltipText={
-
Choose the script to execute right after compilation by adding the `dev-run-script` natspec tag, as in:
+
Choose the script to execute right after compilation + by adding the `dev-run-script` natspec tag, as in:
                     
                     /**
From 2949bae11fb5791ed99fd462dc28863ee552c7d9 Mon Sep 17 00:00:00 2001 From: lianahus Date: Thu, 9 Mar 2023 14:10:06 +0100 Subject: [PATCH 005/122] tooltips restyling --- .../checkbox/src/lib/remix-ui-checkbox.tsx | 14 +++---- .../file-decoration-tooltip.tsx | 39 ++++++++++--------- .../src/lib/components/custom-tooltip.tsx | 8 ++-- .../panel/src/lib/plugins/panel-header.tsx | 1 - .../tooltip-popup/src/lib/tooltip-popup.tsx | 6 +-- 5 files changed, 35 insertions(+), 33 deletions(-) diff --git a/libs/remix-ui/checkbox/src/lib/remix-ui-checkbox.tsx b/libs/remix-ui/checkbox/src/lib/remix-ui-checkbox.tsx index a2fd923a72..c6497de3b1 100644 --- a/libs/remix-ui/checkbox/src/lib/remix-ui-checkbox.tsx +++ b/libs/remix-ui/checkbox/src/lib/remix-ui-checkbox.tsx @@ -38,11 +38,11 @@ export const RemixUiCheckbox = ({ }: RemixUiCheckboxProps) => { const childJSXWithTooltip = ( - +
-
- ) +
+ ) const childJSX = (
{ - const getComments = function (fileDecoration: fileDecoration) { - if (fileDecoration.comment) { - const comments = Array.isArray(fileDecoration.comment) ? fileDecoration.comment : [fileDecoration.comment] - return comments.map((comment, index) => { - return
{comment}

- }) - } + const getComments = function (fileDecoration: fileDecoration) { + if (fileDecoration.comment) { + const comments = Array.isArray(fileDecoration.comment) ? fileDecoration.comment : [fileDecoration.comment] + return comments.map((comment, index) => { + return
{comment}
+ }) } + } - return - <>{getComments(props.fileDecoration)} - - } - >
{props.icon}
+ return + +
{getComments(props.fileDecoration)}
+
+ + } + > +
{props.icon}
+
} - export default FileDecorationTooltip; \ No newline at end of file diff --git a/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx b/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx index 0f1f704653..def26b2df7 100644 --- a/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx +++ b/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { Fragment } from 'react'; -import { OverlayTrigger, Tooltip, Popover } from 'react-bootstrap'; +import { OverlayTrigger, Popover } from 'react-bootstrap'; import { CustomTooltipType } from '../../types/customtooltip' @@ -8,7 +8,7 @@ export function CustomTooltip({ children, placement, tooltipId, tooltipClasses, if (typeof tooltipText !== 'string') { const newTooltipText = React.cloneElement(tooltipText, { - className: " bg-secondary text-danger text-wrap " + className: " bg-secondary text-wrap " }) tooltipText = newTooltipText } @@ -19,8 +19,8 @@ export function CustomTooltip({ children, placement, tooltipId, tooltipClasses, placement={placement} overlay={ - - {typeof tooltipText === 'string' ? ({tooltipText}) : (tooltipText)} + + {typeof tooltipText === 'string' ? ({tooltipText}) : (tooltipText)} } 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 6bf5a07e83..ac2bd83de7 100644 --- a/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx +++ b/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx @@ -2,7 +2,6 @@ import React, { useEffect, useRef, useState } from 'react' // eslint-disable-lin import { FormattedMessage } from 'react-intl' import { PluginRecord } from '../types' import './panel.css' -import { OverlayTrigger, Tooltip } from 'react-bootstrap' import { CustomTooltip } from '@remix-ui/helper' export interface RemixPanelProps { diff --git a/libs/remix-ui/tooltip-popup/src/lib/tooltip-popup.tsx b/libs/remix-ui/tooltip-popup/src/lib/tooltip-popup.tsx index 077ed1a167..96859c424a 100644 --- a/libs/remix-ui/tooltip-popup/src/lib/tooltip-popup.tsx +++ b/libs/remix-ui/tooltip-popup/src/lib/tooltip-popup.tsx @@ -4,9 +4,9 @@ import { TooltipPopupProps } from '../types' import './tooltip-popup.module.css' const popover = (title?: string, content?: string | React.ReactNode) => ( - - { title || 'Tooltip' } - + + { title || 'Tooltip' } + { content } From 8edae85904ffa55ff5f23a45432bbfc0092d9cf5 Mon Sep 17 00:00:00 2001 From: lianahus Date: Thu, 9 Mar 2023 19:01:20 +0100 Subject: [PATCH 006/122] paddings --- libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx | 6 +++--- libs/remix-ui/panel/src/lib/plugins/panel-header.tsx | 1 - .../vertical-icons-panel/src/lib/components/Icon.tsx | 3 +-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx b/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx index def26b2df7..1f09b43f62 100644 --- a/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx +++ b/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx @@ -8,7 +8,7 @@ export function CustomTooltip({ children, placement, tooltipId, tooltipClasses, if (typeof tooltipText !== 'string') { const newTooltipText = React.cloneElement(tooltipText, { - className: " bg-secondary text-wrap " + className: " bg-secondary text-wrap p-1 " }) tooltipText = newTooltipText } @@ -19,8 +19,8 @@ export function CustomTooltip({ children, placement, tooltipId, tooltipClasses, placement={placement} overlay={ - - {typeof tooltipText === 'string' ? ({tooltipText}) : (tooltipText)} + + {typeof tooltipText === 'string' ? ({tooltipText}) : (tooltipText)} } 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 ac2bd83de7..ece0798719 100644 --- a/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx +++ b/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx @@ -60,7 +60,6 @@ const RemixUIPanelHeader = (props: RemixPanelProps) => {
-
{plugin?.profile?.author && diff --git a/libs/remix-ui/vertical-icons-panel/src/lib/components/Icon.tsx b/libs/remix-ui/vertical-icons-panel/src/lib/components/Icon.tsx index 68a5331495..95bff088c8 100644 --- a/libs/remix-ui/vertical-icons-panel/src/lib/components/Icon.tsx +++ b/libs/remix-ui/vertical-icons-panel/src/lib/components/Icon.tsx @@ -86,8 +86,7 @@ const Icon = ({ return ( <> From 8857296b46d942eb725112f942b4c5d4f5a8f4c9 Mon Sep 17 00:00:00 2001 From: lianahus Date: Thu, 16 Mar 2023 09:43:41 +0100 Subject: [PATCH 007/122] tooltips fixes --- .../src/app/components/HeaderWithSettings.tsx | 2 - apps/etherscan/src/app/views/VerifyView.tsx | 2 - apps/remix-ide/src/app/panels/tab-proxy.js | 7 +- .../src/app/tabs/locales/en/udapp.json | 4 +- .../css/themes/bootstrap-cerulean.min.css | 8 +- .../css/themes/bootstrap-cyborg.min.css | 8 +- .../css/themes/bootstrap-flatly.min.css | 8 +- .../css/themes/bootstrap-spacelab.min.css | 9 +- .../assets/css/themes/remix-black_undtds.css | 8 +- .../assets/css/themes/remix-candy_ikhg4m.css | 8 +- .../assets/css/themes/remix-dark_tvx1s2.css | 8 +- .../assets/css/themes/remix-hacker_owl.css | 8 +- .../assets/css/themes/remix-light_powaqg.css | 8 +- .../css/themes/remix-midcentury_hrzph3.css | 10 +- .../debugger-ui/src/lib/debugger-ui.tsx | 35 +++-- .../src/lib/components/custom-tooltip.tsx | 10 +- .../src/lib/components/pluginButton.tsx | 2 +- .../src/lib/remix-ui-modal-dialog.tsx | 2 +- .../panel/src/lib/plugins/panel-header.tsx | 9 +- .../src/lib/components/ActivePluginCard.tsx | 70 +++++++-- .../src/lib/components/InactivePluginCard.tsx | 66 ++++++-- .../src/lib/components/recorderCardUI.tsx | 12 +- .../settings/src/lib/remix-ui-settings.tsx | 41 +++-- .../src/lib/api/compiler-api.ts | 12 +- .../src/lib/compiler-container.tsx | 28 ++-- libs/remix-ui/tabs/src/lib/remix-ui-tabs.css | 73 +++++---- libs/remix-ui/tabs/src/lib/remix-ui-tabs.tsx | 143 +++++++++++------- .../src/lib/components/Badge.tsx | 22 ++- .../src/lib/css/remix-ui-workspace.css | 12 -- 29 files changed, 375 insertions(+), 260 deletions(-) diff --git a/apps/etherscan/src/app/components/HeaderWithSettings.tsx b/apps/etherscan/src/app/components/HeaderWithSettings.tsx index 14e048d6cd..fb6fb0dab7 100644 --- a/apps/etherscan/src/app/components/HeaderWithSettings.tsx +++ b/apps/etherscan/src/app/components/HeaderWithSettings.tsx @@ -148,9 +148,7 @@ export const HeaderWithSettings: React.FC = ({
{title}
- -
diff --git a/apps/etherscan/src/app/views/VerifyView.tsx b/apps/etherscan/src/app/views/VerifyView.tsx index f13fea1929..cc71a46418 100644 --- a/apps/etherscan/src/app/views/VerifyView.tsx +++ b/apps/etherscan/src/app/views/VerifyView.tsx @@ -23,8 +23,6 @@ interface FormValues { contractAddress: string } - - export const VerifyView: React.FC = ({ apiKey, client, diff --git a/apps/remix-ide/src/app/panels/tab-proxy.js b/apps/remix-ide/src/app/panels/tab-proxy.js index d9b62256b4..269e48b51a 100644 --- a/apps/remix-ide/src/app/panels/tab-proxy.js +++ b/apps/remix-ide/src/app/panels/tab-proxy.js @@ -244,7 +244,7 @@ export class TabProxy extends Plugin { name, title, icon, - tooltip: name, + tooltip: title || name, iconClass: getPathIcon(name) }) formatPath.shift() @@ -252,6 +252,7 @@ export class TabProxy extends Plugin { const index = this.loadedTabs.findIndex(({ title }) => title === formatPath.join('/')) if (index > -1) { const duplicateTabName = this.loadedTabs[index].name + const duplicateTabTooltip = this.loadedTabs[index].tooltip const duplicateTabPath = duplicateTabName.split('/') const duplicateTabFormatPath = [...duplicateTabPath].reverse() const duplicateTabTitle = duplicateTabFormatPath.slice(0, titleLength).reverse().join('/') @@ -260,7 +261,7 @@ export class TabProxy extends Plugin { name: duplicateTabName, title: duplicateTabTitle, icon, - tooltip: duplicateTabName, + tooltip: duplicateTabTooltip, iconClass: getPathIcon(duplicateTabName) } } @@ -274,7 +275,7 @@ export class TabProxy extends Plugin { name, title, icon, - tooltip: name, + tooltip: title || name, iconClass: getPathIcon(name) }) } diff --git a/apps/remix-ide/src/app/tabs/locales/en/udapp.json b/apps/remix-ide/src/app/tabs/locales/en/udapp.json index c2a864e32b..b820b73f8b 100644 --- a/apps/remix-ide/src/app/tabs/locales/en/udapp.json +++ b/apps/remix-ide/src/app/tabs/locales/en/udapp.json @@ -40,8 +40,8 @@ "udapp.transactionSaveTooltip1": "No transactions to save", "udapp.transactionSaveTooltip2": "Save {count} transaction as scenario file", "udapp.transactionSaveTooltip3": "Save {count} transactions as scenario file", - "udapp.infoRecorderTooltip": "Save transactions (deployed contracts and function executions) {br}and replay them in another environment e.g Transactions created {br}in Remix VM can be replayed in the Injected Provider.", - "udapp.livemodeRecorderTooltip": "If contracts are updated after recording transactions,{br} checking this box will run recorded transactions {br}with the latest copy of the compiled contracts", + "udapp.infoRecorderTooltip": "Save transactions (deployed contracts and function executions) and replay them in another environment e.g Transactions created in Remix VM can be replayed in the Injected Provider.", + "udapp.livemodeRecorderTooltip": "If contracts are updated after recording transactions, checking this box will run recorded transactions with the latest copy of the compiled contracts", "udapp.livemodeRecorderLabel": "Run transactions using the latest compilation result", "udapp.runRecorderTooltip": "Run transaction(s) from the current scenario file", "udapp.save": "Save", diff --git a/apps/remix-ide/src/assets/css/themes/bootstrap-cerulean.min.css b/apps/remix-ide/src/assets/css/themes/bootstrap-cerulean.min.css index 17bdde289a..9542aa513a 100644 --- a/apps/remix-ide/src/assets/css/themes/bootstrap-cerulean.min.css +++ b/apps/remix-ide/src/assets/css/themes/bootstrap-cerulean.min.css @@ -5250,7 +5250,7 @@ a.close.disabled { .bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after { bottom:1px; border-width:.5rem .5rem 0; - border-top-color:#fff + border-top-color: var(--secondary) } .bs-popover-auto[x-placement^=right],.bs-popover-right { margin-left:.5rem @@ -5269,7 +5269,7 @@ a.close.disabled { .bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after { left:1px; border-width:.5rem .5rem .5rem 0; - border-right-color:#fff + border-right-color: var(--secondary) } .bs-popover-auto[x-placement^=bottom],.bs-popover-bottom { margin-top:.5rem @@ -5285,7 +5285,7 @@ a.close.disabled { .bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after { top:1px; border-width:0 .5rem .5rem .5rem; - border-bottom-color:#fff + border-bottom-color: var(--secondary) } .bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before { position:absolute; @@ -5314,7 +5314,7 @@ a.close.disabled { .bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after { right:1px; border-width:.5rem 0 .5rem .5rem; - border-left-color:#fff + border-left-color: var(--secondary) } .popover-header { padding:.5rem .75rem; diff --git a/apps/remix-ide/src/assets/css/themes/bootstrap-cyborg.min.css b/apps/remix-ide/src/assets/css/themes/bootstrap-cyborg.min.css index 918bbb71b7..5e813c6d42 100644 --- a/apps/remix-ide/src/assets/css/themes/bootstrap-cyborg.min.css +++ b/apps/remix-ide/src/assets/css/themes/bootstrap-cyborg.min.css @@ -5252,7 +5252,7 @@ a.close.disabled { .bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after { bottom:1px; border-width:.5rem .5rem 0; - border-top-color:#282828 + border-top-color: var(--secondary); } .bs-popover-auto[x-placement^=right],.bs-popover-right { margin-left:.5rem @@ -5271,7 +5271,7 @@ a.close.disabled { .bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after { left:1px; border-width:.5rem .5rem .5rem 0; - border-right-color:#282828 + border-right-color: var(--secondary); } .bs-popover-auto[x-placement^=bottom],.bs-popover-bottom { margin-top:.5rem @@ -5287,7 +5287,7 @@ a.close.disabled { .bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after { top:1px; border-width:0 .5rem .5rem .5rem; - border-bottom-color:#282828 + border-bottom-color: var(--secondary); } .bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before { position:absolute; @@ -5316,7 +5316,7 @@ a.close.disabled { .bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after { right:1px; border-width:.5rem 0 .5rem .5rem; - border-left-color:#282828 + border-left-color: var(--secondary); } .popover-header { padding:.5rem .75rem; diff --git a/apps/remix-ide/src/assets/css/themes/bootstrap-flatly.min.css b/apps/remix-ide/src/assets/css/themes/bootstrap-flatly.min.css index 5940867b25..648375ddc8 100644 --- a/apps/remix-ide/src/assets/css/themes/bootstrap-flatly.min.css +++ b/apps/remix-ide/src/assets/css/themes/bootstrap-flatly.min.css @@ -4253,7 +4253,7 @@ a.close.disabled { bottom:0; border-width:.5rem .5rem 0; border-top-color:rgba(0,0,0,.25) } .bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after { - bottom:1px; border-width:.5rem .5rem 0; border-top-color:#fff + bottom:1px; border-width:.5rem .5rem 0; border-top-color: var(--secondary) } .bs-popover-auto[x-placement^=right],.bs-popover-right { margin-left:.5rem @@ -4265,7 +4265,7 @@ a.close.disabled { left:0; border-width:.5rem .5rem .5rem 0; border-right-color:rgba(0,0,0,.25) } .bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after { - left:1px; border-width:.5rem .5rem .5rem 0; border-right-color:#fff + left:1px; border-width:.5rem .5rem .5rem 0; border-right-color: var(--secondary) } .bs-popover-auto[x-placement^=bottom],.bs-popover-bottom { margin-top:.5rem @@ -4277,7 +4277,7 @@ a.close.disabled { top:0; border-width:0 .5rem .5rem .5rem; border-bottom-color:rgba(0,0,0,.25) } .bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after { - top:1px; border-width:0 .5rem .5rem .5rem; border-bottom-color:#fff + top:1px; border-width:0 .5rem .5rem .5rem; border-bottom-color: var(--secondary) } .bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before { position:absolute; top:0; left:50%; display:block; width:1rem; margin-left:-.5rem; content:""; border-bottom:1px solid #f7f7f7 @@ -4292,7 +4292,7 @@ a.close.disabled { right:0; border-width:.5rem 0 .5rem .5rem; border-left-color:rgba(0,0,0,.25) } .bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after { - right:1px; border-width:.5rem 0 .5rem .5rem; border-left-color:#fff + right:1px; border-width:.5rem 0 .5rem .5rem; border-left-color: var(--secondary) } .popover-header { padding:.5rem .75rem; margin-bottom:0; font-size:.9375rem; background-color:#f7f7f7; border-bottom:1px solid #ebebeb; border-top-left-radius:calc(.3rem - 1px); border-top-right-radius:calc(.3rem - 1px) diff --git a/apps/remix-ide/src/assets/css/themes/bootstrap-spacelab.min.css b/apps/remix-ide/src/assets/css/themes/bootstrap-spacelab.min.css index b8e90b0107..4c792a1245 100644 --- a/apps/remix-ide/src/assets/css/themes/bootstrap-spacelab.min.css +++ b/apps/remix-ide/src/assets/css/themes/bootstrap-spacelab.min.css @@ -5253,7 +5253,7 @@ a.close.disabled { .bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after { bottom:1px; border-width:.5rem .5rem 0; - border-top-color:#fff + border-top-color: var(--secondary) } .bs-popover-auto[x-placement^=right],.bs-popover-right { margin-left:.5rem @@ -5272,7 +5272,7 @@ a.close.disabled { .bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after { left:1px; border-width:.5rem .5rem .5rem 0; - border-right-color:#fff + border-right-color: var(--secondary) } .bs-popover-auto[x-placement^=bottom],.bs-popover-bottom { margin-top:.5rem @@ -5288,7 +5288,7 @@ a.close.disabled { .bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after { top:1px; border-width:0 .5rem .5rem .5rem; - border-bottom-color:#fff + border-bottom-color: var(--secondary) } .bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before { position:absolute; @@ -5317,7 +5317,7 @@ a.close.disabled { .bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after { right:1px; border-width:.5rem 0 .5rem .5rem; - border-left-color:#fff + border-left-color: var(--secondary) } .popover-header { padding:.5rem .75rem; @@ -5486,7 +5486,6 @@ a.close.disabled { .carousel-indicators li { transition:none } - } .carousel-indicators .active { opacity:1 diff --git a/apps/remix-ide/src/assets/css/themes/remix-black_undtds.css b/apps/remix-ide/src/assets/css/themes/remix-black_undtds.css index 36381f4163..61dbb692ce 100644 --- a/apps/remix-ide/src/assets/css/themes/remix-black_undtds.css +++ b/apps/remix-ide/src/assets/css/themes/remix-black_undtds.css @@ -5310,7 +5310,7 @@ a.close.disabled { .bs-popover-top > .arrow::after { bottom: 1px; border-width: 5px 5px 0; - border-top-color: #000; + border-top-color: var(--secondary); } .bs-popover-auto[x-placement^="right"], .bs-popover-right { @@ -5333,7 +5333,7 @@ a.close.disabled { .bs-popover-right > .arrow::after { left: 1px; border-width: 5px 5px 5px 0; - border-right-color: #000; + border-right-color: var(--secondary); } .bs-popover-auto[x-placement^="bottom"], .bs-popover-bottom { @@ -5353,7 +5353,7 @@ a.close.disabled { .bs-popover-bottom > .arrow::after { top: 1px; border-width: 0 5px 5px 5px; - border-bottom-color: #000; + border-bottom-color: var(--secondary); } .bs-popover-auto[x-placement^="bottom"] .popover-header::before, .bs-popover-bottom .popover-header::before { @@ -5387,7 +5387,7 @@ a.close.disabled { .bs-popover-left > .arrow::after { right: 1px; border-width: 5px 0 5px 5px; - border-left-color: #000; + border-left-color: var(--secondary); } .popover-header { padding: 8px 14px; diff --git a/apps/remix-ide/src/assets/css/themes/remix-candy_ikhg4m.css b/apps/remix-ide/src/assets/css/themes/remix-candy_ikhg4m.css index 14764f2994..fd25e0642d 100644 --- a/apps/remix-ide/src/assets/css/themes/remix-candy_ikhg4m.css +++ b/apps/remix-ide/src/assets/css/themes/remix-candy_ikhg4m.css @@ -5773,7 +5773,7 @@ a.close.disabled { .bs-popover-auto[x-placement^="top"] > .arrow::after { bottom: 1px; border-width: 0.5rem 0.5rem 0; - border-top-color: #fff; + border-top-color: var(--secondary); } .bs-popover-right, @@ -5797,7 +5797,7 @@ a.close.disabled { .bs-popover-auto[x-placement^="right"] > .arrow::after { left: 1px; border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: #fff; + border-right-color: var(--secondary); } .bs-popover-bottom, @@ -5818,7 +5818,7 @@ a.close.disabled { .bs-popover-auto[x-placement^="bottom"] > .arrow::after { top: 1px; border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: #fff; + border-bottom-color: var(--secondary); } .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { @@ -5853,7 +5853,7 @@ a.close.disabled { .bs-popover-auto[x-placement^="left"] > .arrow::after { right: 1px; border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: #fff; + border-left-color: var(--secondary); } .popover-header { diff --git a/apps/remix-ide/src/assets/css/themes/remix-dark_tvx1s2.css b/apps/remix-ide/src/assets/css/themes/remix-dark_tvx1s2.css index a38163a92c..c53a7e7ac3 100644 --- a/apps/remix-ide/src/assets/css/themes/remix-dark_tvx1s2.css +++ b/apps/remix-ide/src/assets/css/themes/remix-dark_tvx1s2.css @@ -5312,7 +5312,7 @@ a.close.disabled { .bs-popover-top > .arrow::after { bottom: 1px; border-width: 5px 5px 0; - border-top-color: #000; + border-top-color: var(--secondary); } .bs-popover-auto[x-placement^="right"], .bs-popover-right { @@ -5335,7 +5335,7 @@ a.close.disabled { .bs-popover-right > .arrow::after { left: 1px; border-width: 5px 5px 5px 0; - border-right-color: #000; + border-right-color: var(--secondary); } .bs-popover-auto[x-placement^="bottom"], .bs-popover-bottom { @@ -5355,7 +5355,7 @@ a.close.disabled { .bs-popover-bottom > .arrow::after { top: 1px; border-width: 0 5px 5px 5px; - border-bottom-color: #000; + border-bottom-color: var(--secondary); } .bs-popover-auto[x-placement^="bottom"] .popover-header::before, .bs-popover-bottom .popover-header::before { @@ -5389,7 +5389,7 @@ a.close.disabled { .bs-popover-left > .arrow::after { right: 1px; border-width: 5px 0 5px 5px; - border-left-color: #000; + border-left-color: var(--secondary); } .popover-header { padding: 8px 14px; diff --git a/apps/remix-ide/src/assets/css/themes/remix-hacker_owl.css b/apps/remix-ide/src/assets/css/themes/remix-hacker_owl.css index 3db8d66dec..58f3aa64fc 100644 --- a/apps/remix-ide/src/assets/css/themes/remix-hacker_owl.css +++ b/apps/remix-ide/src/assets/css/themes/remix-hacker_owl.css @@ -5323,7 +5323,7 @@ a.close.disabled { .bs-popover-top > .arrow::after { bottom: 1px; border-width: 5px 5px 0; - border-top-color: #000; + border-top-color: var(--secondary); } .bs-popover-auto[x-placement^="right"], .bs-popover-right { @@ -5346,7 +5346,7 @@ a.close.disabled { .bs-popover-right > .arrow::after { left: 1px; border-width: 5px 5px 5px 0; - border-right-color: #000; + border-right-color: var(--secondary); } .bs-popover-auto[x-placement^="bottom"], .bs-popover-bottom { @@ -5366,7 +5366,7 @@ a.close.disabled { .bs-popover-bottom > .arrow::after { top: 1px; border-width: 0 5px 5px 5px; - border-bottom-color: #000; + border-bottom-color: var(--secondary); } .bs-popover-auto[x-placement^="bottom"] .popover-header::before, .bs-popover-bottom .popover-header::before { @@ -5400,7 +5400,7 @@ a.close.disabled { .bs-popover-left > .arrow::after { right: 1px; border-width: 5px 0 5px 5px; - border-left-color: #000; + border-left-color: var(--secondary); } .popover-header { padding: 8px 14px; diff --git a/apps/remix-ide/src/assets/css/themes/remix-light_powaqg.css b/apps/remix-ide/src/assets/css/themes/remix-light_powaqg.css index 66b438c4d6..800b7dc5a8 100644 --- a/apps/remix-ide/src/assets/css/themes/remix-light_powaqg.css +++ b/apps/remix-ide/src/assets/css/themes/remix-light_powaqg.css @@ -5769,7 +5769,7 @@ a.close.disabled { .bs-popover-auto[x-placement^="top"] > .arrow::after { bottom: 1px; border-width: 0.5rem 0.5rem 0; - border-top-color: #fff; + border-top-color: var(--secondary); } .bs-popover-right, @@ -5793,7 +5793,7 @@ a.close.disabled { .bs-popover-auto[x-placement^="right"] > .arrow::after { left: 1px; border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: #fff; + border-right-color: var(--secondary); } .bs-popover-bottom, @@ -5814,7 +5814,7 @@ a.close.disabled { .bs-popover-auto[x-placement^="bottom"] > .arrow::after { top: 1px; border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: #fff; + border-bottom-color: var(--secondary); } .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { @@ -5849,7 +5849,7 @@ a.close.disabled { .bs-popover-auto[x-placement^="left"] > .arrow::after { right: 1px; border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: #fff; + border-left-color: var(--secondary); } .popover-header { diff --git a/apps/remix-ide/src/assets/css/themes/remix-midcentury_hrzph3.css b/apps/remix-ide/src/assets/css/themes/remix-midcentury_hrzph3.css index c2501b8496..de6be478db 100644 --- a/apps/remix-ide/src/assets/css/themes/remix-midcentury_hrzph3.css +++ b/apps/remix-ide/src/assets/css/themes/remix-midcentury_hrzph3.css @@ -5775,7 +5775,7 @@ a.close.disabled { .bs-popover-auto[x-placement^="top"] > .arrow::after { bottom: 1px; border-width: 0.5rem 0.5rem 0; - border-top-color: #eeede9; + border-top-color: var(--secondary); } .bs-popover-right, @@ -5799,7 +5799,7 @@ a.close.disabled { .bs-popover-auto[x-placement^="right"] > .arrow::after { left: 1px; border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: #eeede9; + border-right-color: var(--secondary); } .bs-popover-bottom, @@ -5820,7 +5820,7 @@ a.close.disabled { .bs-popover-auto[x-placement^="bottom"] > .arrow::after { top: 1px; border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: #eeede9; + border-bottom-color: var(--secondary); } .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { @@ -5855,7 +5855,7 @@ a.close.disabled { .bs-popover-auto[x-placement^="left"] > .arrow::after { right: 1px; border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: #eeede9; + border-left-color: var(--secondary); } .popover-header { @@ -6141,7 +6141,7 @@ button.bg-primary:focus { } .bg-secondary { - background-color: #EDC2A1 !important; + background-color: #f1f1f100 !important; } a.bg-secondary:hover, 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 81e3624a00..1dc5f4bbfd 100644 --- a/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx +++ b/libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx @@ -384,20 +384,31 @@ export const DebuggerUI = (props: DebuggerUIProps) => {
- } - placement="top-start" - > - {customJSX} - + } + placement="top-start" + > + {customJSX} +
{ state.isLocalNodeUsed &&
- { - setState(prevState => { - return { ...prevState, opt: { ...prevState.opt, debugWithLocalNode: checked } } - }) - }} type="checkbox" title="Force the debugger to use the current local node" /> + + { + setState(prevState => { + return { ...prevState, opt: { ...prevState.opt, debugWithLocalNode: checked } } + }) + }} + type="checkbox" + /> +
} diff --git a/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx b/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx index 1f09b43f62..447edcf6dc 100644 --- a/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx +++ b/libs/remix-ui/helper/src/lib/components/custom-tooltip.tsx @@ -2,13 +2,12 @@ import React from 'react'; import { Fragment } from 'react'; import { OverlayTrigger, Popover } from 'react-bootstrap'; import { CustomTooltipType } from '../../types/customtooltip' - - +import './custom-tooltip.css' export function CustomTooltip({ children, placement, tooltipId, tooltipClasses, tooltipText, tooltipTextClasses, delay }: CustomTooltipType) { if (typeof tooltipText !== 'string') { const newTooltipText = React.cloneElement(tooltipText, { - className: " bg-secondary text-wrap p-1 " + className: " bg-secondary text-wrap p-1 px-2 " }) tooltipText = newTooltipText } @@ -19,12 +18,13 @@ export function CustomTooltip({ children, placement, tooltipId, tooltipClasses, placement={placement} overlay={ - - {typeof tooltipText === 'string' ? ({tooltipText}) : (tooltipText)} + + {typeof tooltipText === 'string' ? ({tooltipText}) : (tooltipText)} } delay={delay} + show={true} > {children} diff --git a/libs/remix-ui/home-tab/src/lib/components/pluginButton.tsx b/libs/remix-ui/home-tab/src/lib/components/pluginButton.tsx index 1b6bb08092..426c84bf2f 100644 --- a/libs/remix-ui/home-tab/src/lib/components/pluginButton.tsx +++ b/libs/remix-ui/home-tab/src/lib/components/pluginButton.tsx @@ -32,7 +32,7 @@ function PluginButton ({ imgPath, envID, envText, callback, l2, description, rem { remixMaintained && diff --git a/libs/remix-ui/modal-dialog/src/lib/remix-ui-modal-dialog.tsx b/libs/remix-ui/modal-dialog/src/lib/remix-ui-modal-dialog.tsx index 66330349b0..bb02249b82 100644 --- a/libs/remix-ui/modal-dialog/src/lib/remix-ui-modal-dialog.tsx +++ b/libs/remix-ui/modal-dialog/src/lib/remix-ui-modal-dialog.tsx @@ -87,7 +87,7 @@ export const ModalDialog = (props: ModalDialogProps) => { {!props.showCancelIcon && handleHide()}> - + }
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 ece0798719..066d664f27 100644 --- a/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx +++ b/libs/remix-ui/panel/src/lib/plugins/panel-header.tsx @@ -72,7 +72,14 @@ const RemixUIPanelHeader = (props: RemixPanelProps) => { {plugin?.profile?.documentation && - + + + } {plugin?.profile?.description && diff --git a/libs/remix-ui/plugin-manager/src/lib/components/ActivePluginCard.tsx b/libs/remix-ui/plugin-manager/src/lib/components/ActivePluginCard.tsx index 47e35a55db..b5c31302c2 100644 --- a/libs/remix-ui/plugin-manager/src/lib/components/ActivePluginCard.tsx +++ b/libs/remix-ui/plugin-manager/src/lib/components/ActivePluginCard.tsx @@ -1,6 +1,7 @@ // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-use-before-define import React from 'react' import '../remix-ui-plugin-manager.css' +import { CustomTooltip } from '@remix-ui/helper' interface PluginCardProps { profile: any buttonText: string @@ -14,35 +15,72 @@ function ActivePluginCard ({ }: PluginCardProps) { return (
-
+
{ profile.displayName || profile.name } { profile?.maintainedBy?.toLowerCase() == "remix" && - + + + } { profile.documentation && - -