Skip to content

Commit 918d77f

Browse files
committed
Fixed ids
1 parent 80a0939 commit 918d77f

File tree

2 files changed

+33
-16
lines changed

2 files changed

+33
-16
lines changed

libs/remix-ui/home-tab/src/lib/components/homeTabFeaturedPlugins.tsx

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/* eslint-disable @typescript-eslint/no-unused-vars */
2-
import React, { useContext, useState } from 'react'
2+
import React, { useContext, useEffect, useState } from 'react'
33
import { useIntl } from 'react-intl'
44
import { ThemeContext } from '../themeContext'
55
import { ToggleSwitch } from '@remix-ui/toggle'
66
import fetchResults from '../fetch2.json'
7-
import { RenderIf } from '@remix-ui/helper'
7+
import { RenderIf, RenderIfNot } from '@remix-ui/helper'
88
declare global {
99
interface Window {
1010
_paq: any
@@ -32,22 +32,34 @@ interface PluginInfo {
3232

3333
function HomeTabFeaturedPlugins({ plugin }: HomeTabFeaturedPluginsProps) {
3434
const [activePlugins, setActivePlugins] = useState<string[]>([])
35-
const intl = useIntl()
35+
const [loadingPlugins, setLoadingPlugins] = useState<string[]>([])
3636
const theme = useContext(ThemeContext)
3737
const isDark = theme.name === 'dark'
3838

39+
// TODO: Fix this
40+
// useEffect(() => {
41+
// const fetchActivePlugins = async () => {
42+
// fetchResults.plugins.forEach(async (pluginInfo: PluginInfo) => {
43+
// const isActive = await plugin.appManager.isActive(pluginInfo.pluginId)
44+
// if (isActive) {
45+
// setActivePlugins([...activePlugins, pluginInfo.pluginId])
46+
// }
47+
// })
48+
// }
49+
// fetchActivePlugins()
50+
// }, [])
51+
3952
const activateFeaturedPlugin = async (pluginId: string) => {
40-
if (await plugin.call('manager', 'isActive', pluginId)) {
41-
console.log('deactivate', pluginId)
42-
plugin.verticalIcons.select(pluginId)
43-
await plugin.call('manager', 'deactivatePlugin', pluginId)
44-
setActivePlugins(activePlugins.filter((pluginId) => pluginId !== pluginId))
53+
setLoadingPlugins([...loadingPlugins, pluginId])
54+
if (await plugin.appManager.isActive(pluginId)) {
55+
await plugin.appManager.deactivatePlugin(pluginId)
56+
setActivePlugins(activePlugins.filter((id) => id !== pluginId))
4557
} else {
46-
console.log('activate', pluginId)
47-
await plugin.call('manager', 'activatePlugin', pluginId)
48-
plugin.verticalIcons.select(pluginId)
58+
await plugin.appManager.activatePlugin([pluginId])
59+
await plugin.verticalIcons.select(pluginId)
4960
setActivePlugins([...activePlugins, pluginId])
5061
}
62+
setLoadingPlugins(loadingPlugins.filter((id) => id !== pluginId))
5163
_paq.push(['trackEvent', 'hometabActivate', 'userActivate', pluginId])
5264
}
5365

@@ -56,7 +68,12 @@ function HomeTabFeaturedPlugins({ plugin }: HomeTabFeaturedPluginsProps) {
5668
<div className="card mb-3">
5769
<div className="d-flex align-items-center px-2 justify-content-between border-bottom">
5870
<div className='d-flex align-items-center'>
59-
{ pluginInfo.iconClass ? <i className={`${pluginInfo.iconClass} mr-2`}></i> : <i className="fa-solid fa-file-book mr-2"></i> }
71+
<RenderIf condition={loadingPlugins.includes(pluginInfo.pluginId)}>
72+
<i className="fad fa-spinner fa-spin mr-2"></i>
73+
</RenderIf>
74+
<RenderIfNot condition={loadingPlugins.includes(pluginInfo.pluginId)}>
75+
{ pluginInfo.iconClass ? <i className={`${pluginInfo.iconClass} mr-2`}></i> : <i className="fa-solid fa-file-book mr-2"></i> }
76+
</RenderIfNot>
6077
<span className="fw-bold" style={{ color: isDark ? 'white' : 'black' }}>{pluginInfo.pluginTitle}</span>
6178
</div>
6279
<ToggleSwitch id={`toggleSwitch-${pluginInfo.pluginId}`} isOn={activePlugins.includes(pluginInfo.pluginId)} onClick={() => activateFeaturedPlugin(pluginInfo.pluginId)} />

libs/remix-ui/home-tab/src/lib/fetch2.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"caption": "Most used plugins",
33
"plugins": [{
4-
"pluginId": "contractVerification",
4+
"pluginId": "contract-verification",
55
"pluginTitle": "Contract Verification",
66
"action": {
77
"type": "link",
@@ -13,7 +13,7 @@
1313
"description": "Verify your contracts on multiple services at the same time."
1414
},
1515
{
16-
"pluginId": "learnEth",
16+
"pluginId": "LearnEth",
1717
"pluginTitle": "LearnEth Tutorials",
1818
"action": {
1919
"type": "methodCall",
@@ -25,7 +25,7 @@
2525
"description": "Learn about Remix, Solidity, and other Web3 projects."
2626
},
2727
{
28-
"pluginId": "staticAnalysis",
28+
"pluginId": "solidityStaticAnalysis",
2929
"pluginTitle": "Solidity Analyzers",
3030
"action": {
3131
"type": "link",
@@ -37,7 +37,7 @@
3737
"description": "Analyze your code using Remix, Solhint and Slither."
3838
},
3939
{
40-
"pluginId": "cookbook",
40+
"pluginId": "cookbookdev",
4141
"pluginTitle": "Cookbook",
4242
"action": {
4343
"type": "link",

0 commit comments

Comments
 (0)