Merge branch 'master' of https://github.com/ethereum/remix-project into script-runner-custom

pull/5324/head
bunsenstraat 4 weeks ago
commit c30a52b2f5
  1. 14
      .github/workflows/pr-reminder.yml
  2. 10
      libs/remix-ui/home-tab/src/lib/components/homeTabFeaturedPlugins.tsx
  3. 18
      libs/remix-ui/home-tab/src/lib/components/pluginButton.tsx
  4. 18
      libs/remix-ui/panel/src/lib/plugins/panel-header.tsx
  5. 25
      libs/remix-ui/plugin-manager/src/lib/components/ActivePluginCard.tsx
  6. 27
      libs/remix-ui/plugin-manager/src/lib/components/InactivePluginCard.tsx
  7. 2
      package.json

@ -3,15 +3,25 @@ name: PRs reviews reminder
on: on:
schedule: schedule:
- cron: "0 8 * * 1-5" - cron: "0 8 * * 1-5"
- cron: '0 9 * * 1-5'
workflow_dispatch: workflow_dispatch:
jobs: jobs:
pr-reviews-reminder: pr-reviews-reminder:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: Aniket-Engg/pr-reviews-reminder-action@master - name: Reminder about PRs pending to review
if: github.event.schedule == '0 8 * * 1-5'
uses: Aniket-Engg/pr-reviews-reminder-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
freeze-date: '2024-11-04T18:00:00Z'
- name: Reminder for standup
if: github.event.schedule == '0 9 * * 1-5'
uses: Aniket-Engg/pr-reviews-reminder-action@master
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }} webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
freeze-date: '2024-10-21T18:00:00Z'

@ -122,7 +122,7 @@ function HomeTabFeaturedPlugins({ plugin }: HomeTabFeaturedPluginsProps) {
description={intl.formatMessage({ description={intl.formatMessage({
id: 'home.codeAnalyizerPluginDesc' id: 'home.codeAnalyizerPluginDesc'
})} })}
remixMaintained={true} maintainedBy='Remix'
callback={() => startCodeAnalyzer()} callback={() => startCodeAnalyzer()}
/> />
<PluginButton <PluginButton
@ -132,7 +132,7 @@ function HomeTabFeaturedPlugins({ plugin }: HomeTabFeaturedPluginsProps) {
description={intl.formatMessage({ description={intl.formatMessage({
id: 'home.learnEthPluginDesc' id: 'home.learnEthPluginDesc'
})} })}
remixMaintained={true} maintainedBy='Remix'
callback={() => startLearnEth()} callback={() => startLearnEth()}
/> />
<PluginButton <PluginButton
@ -140,7 +140,7 @@ function HomeTabFeaturedPlugins({ plugin }: HomeTabFeaturedPluginsProps) {
envID="cookbookLogo" envID="cookbookLogo"
envText="Cookbook" envText="Cookbook"
description={intl.formatMessage({ id: 'home.cookbookDesc' })} description={intl.formatMessage({ id: 'home.cookbookDesc' })}
remixMaintained={false} maintainedBy="Cookbook"
callback={() => startCookbook()} callback={() => startCookbook()}
/> />
<PluginButton <PluginButton
@ -148,7 +148,7 @@ function HomeTabFeaturedPlugins({ plugin }: HomeTabFeaturedPluginsProps) {
envID="solidityLogo" envID="solidityLogo"
envText="Solidity" envText="Solidity"
description={intl.formatMessage({ id: 'home.solidityPluginDesc' })} description={intl.formatMessage({ id: 'home.solidityPluginDesc' })}
remixMaintained={true} maintainedBy='Remix'
callback={() => startSolidity()} callback={() => startSolidity()}
/> />
<PluginButton <PluginButton
@ -156,7 +156,7 @@ function HomeTabFeaturedPlugins({ plugin }: HomeTabFeaturedPluginsProps) {
envID="sUTLogo" envID="sUTLogo"
envText="Solidity unit testing" envText="Solidity unit testing"
description={intl.formatMessage({ id: 'home.unitTestPluginDesc' })} description={intl.formatMessage({ id: 'home.unitTestPluginDesc' })}
remixMaintained={true} maintainedBy='Remix'
callback={() => startSolidityUnitTesting()} callback={() => startSolidityUnitTesting()}
/> />
</Carousel> </Carousel>

@ -10,10 +10,10 @@ interface PluginButtonProps {
callback: any callback: any
l2?: boolean l2?: boolean
description: string description: string
remixMaintained?: boolean maintainedBy?: string
} }
function PluginButton({ imgPath, envID, envText, callback, l2, description, remixMaintained }: PluginButtonProps) { function PluginButton({ imgPath, envID, envText, callback, l2, description, maintainedBy }: PluginButtonProps) {
const themeFilter = useContext(ThemeContext) const themeFilter = useContext(ThemeContext)
return ( return (
@ -30,13 +30,17 @@ function PluginButton({ imgPath, envID, envText, callback, l2, description, remi
</div> </div>
</button> </button>
{l2 && <label className="bg-light mx-1 px-1 mb-0 mx-2 position-absolute remixui_home_l2Label">L2</label>} {l2 && <label className="bg-light mx-1 px-1 mb-0 mx-2 position-absolute remixui_home_l2Label">L2</label>}
{remixMaintained ? ( { maintainedBy?.toLowerCase() === 'remix' ? (
<CustomTooltip placement="bottom" tooltipId="overlay-tooltip-by-remix" tooltipText={<FormattedMessage id="home.maintainedByRemix" />}> <CustomTooltip placement="bottom" tooltipId="overlay-tooltip-by-remix" tooltipText={<FormattedMessage id="home.maintainedByRemix" />}>
<i className="bg-light text-success mx-1 px-1 mb-0 mx-2 position-absolute remixui_home_maintainedLabel fas fa-check"></i> <i className="bg-light text-success mx-1 px-1 mb-0 mx-2 position-absolute remixui_home_maintainedLabel fas fa-check"></i>
</CustomTooltip>) </CustomTooltip>) :
: (<CustomTooltip placement="bottom" tooltipId="overlay-tooltip-external" tooltipText={<FormattedMessage id="panel.maintainedExternally" />}> maintainedBy ?
<i aria-hidden="true" className="bg-light mx-1 px-1 mb-0 mx-2 position-absolute remixui_home_maintainedLabel text-warning far fa-exclamation-circle"></i> (<CustomTooltip placement="bottom" tooltipId="overlay-tooltip-external" tooltipText={"Maintained by " + maintainedBy}>
</CustomTooltip>) <i aria-hidden="true" className="bg-light mx-1 px-1 mb-0 mx-2 position-absolute remixui_home_maintainedLabel text-secondary far fa-exclamation-circle"></i>
</CustomTooltip>)
: (<CustomTooltip placement="bottom" tooltipId="overlay-tooltip-external" tooltipText={<FormattedMessage id="panel.maintainedExternally" />}>
<i aria-hidden="true" className="bg-light mx-1 px-1 mb-0 mx-2 position-absolute remixui_home_maintainedLabel text-secondary far fa-exclamation-circle"></i>
</CustomTooltip>)
} }
</div> </div>
) )

@ -48,13 +48,17 @@ const RemixUIPanelHeader = (props: RemixPanelProps) => {
</h6> </h6>
<div className="d-flex flex-row"> <div className="d-flex flex-row">
<div className="d-flex flex-row"> <div className="d-flex flex-row">
{plugin?.profile?.maintainedBy?.toLowerCase() === 'remix' ? ( { plugin?.profile?.maintainedBy?.toLowerCase() === 'remix' ? (
<CustomTooltip placement="auto-end" tooltipId="maintainedByTooltip" tooltipClasses="text-nowrap" tooltipText={<FormattedMessage id="panel.maintainedByRemix" />}> <CustomTooltip placement="auto" tooltipId="maintainedByTooltipRemix" tooltipText={<FormattedMessage id="home.maintainedByRemix" />}>
<i aria-hidden="true" className="text-success mt-1 px-1 fas fa-check"></i> <i className="text-success mt-1 px-1 fas fa-check"></i>
</CustomTooltip>) </CustomTooltip>) :
: (<CustomTooltip placement="auto-end" tooltipId="maintainedExternally" tooltipClasses="text-nowrap" tooltipText={<FormattedMessage id="panel.maintainedExternally" />}> plugin?.profile?.maintainedBy ?
<i aria-hidden="true" className="mt-1 px-1 text-warning far fa-exclamation-circle"></i> (<CustomTooltip placement="auto" tooltipId={"maintainedByTooltip" + plugin?.profile?.maintainedBy} tooltipText={"Maintained by " + plugin?.profile?.maintainedBy}>
</CustomTooltip>) <i aria-hidden="true" className="mt-1 px-1 text-secondary far fa-exclamation-circle"></i>
</CustomTooltip>)
: (<CustomTooltip placement="auto" tooltipId="maintainedByTooltipRemixUnknown" tooltipText={<FormattedMessage id="panel.maintainedExternally" />}>
<i aria-hidden="true" className="mt-1 px-1 text-secondary far fa-exclamation-circle"></i>
</CustomTooltip>)
} }
</div> </div>
<div className="swapitHeaderInfoSection d-flex justify-content-between" data-id="swapitHeaderInfoSectionId" onClick={toggleClass}> <div className="swapitHeaderInfoSection d-flex justify-content-between" data-id="swapitHeaderInfoSectionId" onClick={toggleClass}>

@ -26,14 +26,23 @@ function ActivePluginCard({ profile, buttonText, deactivatePlugin }: PluginCardP
> >
<i aria-hidden="true" className="px-1 text-success fas fa-check"></i> <i aria-hidden="true" className="px-1 text-success fas fa-check"></i>
</CustomTooltip>) </CustomTooltip>)
: (<CustomTooltip : profile?.maintainedBy ? (
placement="right" <CustomTooltip
tooltipId="pluginManagerActiveTitleExternally" placement="right"
tooltipClasses="text-nowrap" tooltipId="pluginManagerActiveTitleByRemix"
tooltipText={<FormattedMessage id="pluginManager.maintainedExternally" />} tooltipClasses="text-nowrap"
> tooltipText={"Maintained by " + profile?.maintainedBy}
<i aria-hidden="true" className="px-1 text-warning far fa-exclamation-circle"></i> >
</CustomTooltip>) <i aria-hidden="true" className="px-1 text-secondary far fa-exclamation-circle"></i>
</CustomTooltip>)
: (<CustomTooltip
placement="right"
tooltipId="pluginManagerActiveTitleExternally"
tooltipClasses="text-nowrap"
tooltipText={<FormattedMessage id="pluginManager.maintainedExternally" />}
>
<i aria-hidden="true" className="px-1 text-secondary far fa-exclamation-circle"></i>
</CustomTooltip>)
} }
{profile.documentation && ( {profile.documentation && (
<CustomTooltip <CustomTooltip

@ -37,20 +37,29 @@ function InactivePluginCard({ profile, buttonText, activatePlugin }: PluginCardP
{profile?.maintainedBy?.toLowerCase() == 'remix' ? ( {profile?.maintainedBy?.toLowerCase() == 'remix' ? (
<CustomTooltip <CustomTooltip
placement="right" placement="right"
tooltipId="pluginManagerInactiveTitleByRemix" tooltipId="pluginManagerActiveTitleByRemix"
tooltipClasses="text-nowrap" tooltipClasses="text-nowrap"
tooltipText={<FormattedMessage id="pluginManager.maintainedByRemix" />} tooltipText={<FormattedMessage id="pluginManager.maintainedByRemix" />}
> >
<i aria-hidden="true" className="px-1 text-success fas fa-check"></i> <i aria-hidden="true" className="px-1 text-success fas fa-check"></i>
</CustomTooltip>) </CustomTooltip>)
: (<CustomTooltip : profile?.maintainedBy ? (
placement="right" <CustomTooltip
tooltipId="pluginManagerInactiveTitleExternally" placement="right"
tooltipClasses="text-nowrap" tooltipId="pluginManagerActiveTitleByRemix"
tooltipText={<FormattedMessage id="pluginManager.maintainedExternally" />} tooltipClasses="text-nowrap"
> tooltipText={"Maintained by " + profile?.maintainedBy}
<i aria-hidden="true" className="px-1 text-warning far fa-exclamation-circle"></i> >
</CustomTooltip>) <i aria-hidden="true" className="px-1 text-secondary far fa-exclamation-circle"></i>
</CustomTooltip>)
: (<CustomTooltip
placement="right"
tooltipId="pluginManagerActiveTitleExternally"
tooltipClasses="text-nowrap"
tooltipText={<FormattedMessage id="pluginManager.maintainedExternally" />}
>
<i aria-hidden="true" className="px-1 text-secondary far fa-exclamation-circle"></i>
</CustomTooltip>)
} }
{profile.documentation && ( {profile.documentation && (
<CustomTooltip <CustomTooltip

@ -1,6 +1,6 @@
{ {
"name": "remix-project", "name": "remix-project",
"version": "0.56.0-dev", "version": "0.57.0-dev",
"license": "MIT", "license": "MIT",
"description": "Ethereum Remix Monorepo", "description": "Ethereum Remix Monorepo",
"main": "index.js", "main": "index.js",

Loading…
Cancel
Save