From 7d10f9686257e88b2646ff6a0ce1e76bc594ab67 Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Fri, 5 Jul 2024 01:32:43 +0100 Subject: [PATCH 1/8] add statusbar context. --- .../src/contexts/statusbarcontext.tsx | 17 ++++++++++ .../src/lib/remixui-statusbar-panel.tsx | 31 ++++++++++--------- .../remix-ui/statusbar/src/lib/types/index.ts | 12 ++++++- libs/remix-ui/statusbar/src/utils/index.ts | 0 4 files changed, 45 insertions(+), 15 deletions(-) create mode 100644 libs/remix-ui/statusbar/src/contexts/statusbarcontext.tsx create mode 100644 libs/remix-ui/statusbar/src/utils/index.ts diff --git a/libs/remix-ui/statusbar/src/contexts/statusbarcontext.tsx b/libs/remix-ui/statusbar/src/contexts/statusbarcontext.tsx new file mode 100644 index 0000000000..cabdc60008 --- /dev/null +++ b/libs/remix-ui/statusbar/src/contexts/statusbarcontext.tsx @@ -0,0 +1,17 @@ +import React, { createContext } from 'react' +import { defaultStatusBarContext, StatusBarContextType, StatusBarInterface } from '../lib/types' + +export const StatusBarContext = createContext(defaultStatusBarContext) + +export function StatusBarContextProvider ({ children }) { + const statusBarProviderValues = { + test: true + } + return ( + <> + + {children} + + + ) +} diff --git a/libs/remix-ui/statusbar/src/lib/remixui-statusbar-panel.tsx b/libs/remix-ui/statusbar/src/lib/remixui-statusbar-panel.tsx index 679a5e0b65..42efe00094 100644 --- a/libs/remix-ui/statusbar/src/lib/remixui-statusbar-panel.tsx +++ b/libs/remix-ui/statusbar/src/lib/remixui-statusbar-panel.tsx @@ -7,6 +7,7 @@ import { FloatingFocusManager, autoUpdate, flip, offset, shift, size, useClick, import axios from 'axios' // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries import { StatusBar } from 'apps/remix-ide/src/app/components/status-bar' +import { StatusBarContextProvider } from '../contexts/statusbarcontext' export interface RemixUIStatusBarProps { statusBarPlugin: StatusBar @@ -66,21 +67,23 @@ export function RemixUIStatusBar({ statusBarPlugin }: RemixUIStatusBarProps) { return ( <> - {showScamDetails && ( - - - - )} -
-
- + + {showScamDetails && ( + + + + )} +
+
+ +
+
+
+ + +
-
-
- - -
-
+ ) } diff --git a/libs/remix-ui/statusbar/src/lib/types/index.ts b/libs/remix-ui/statusbar/src/lib/types/index.ts index 19a4db6163..80f3ccce28 100644 --- a/libs/remix-ui/statusbar/src/lib/types/index.ts +++ b/libs/remix-ui/statusbar/src/lib/types/index.ts @@ -3,6 +3,7 @@ import { Plugin } from '@remixproject/engine' import { FilePanelType } from '@remix-ui/workspace' // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries import { VerticalIcons } from 'apps/remix-ide/src/app/components/vertical-icons' +import { CustomRemixApi } from '@remix-api' export interface PluginProfile { name: string displayName: string @@ -15,7 +16,7 @@ export interface PluginProfile { version?: string } -export interface StatusBarInterface extends Plugin { +export interface StatusBarInterface extends Plugin { htmlElement: HTMLDivElement events: EventEmitter dispatch: React.Dispatch @@ -25,3 +26,12 @@ export interface StatusBarInterface extends Plugin { getGitBranchName: () => Promise currentWorkspaceName: string } + +export const defaultStatusBarContext: StatusBarContextType = { + test: false +} + +export type StatusBarContextType = { + test: boolean +} + diff --git a/libs/remix-ui/statusbar/src/utils/index.ts b/libs/remix-ui/statusbar/src/utils/index.ts new file mode 100644 index 0000000000..e69de29bb2 From e93b74d28abb9ba14b128c12df141aee4eea149b Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Mon, 8 Jul 2024 12:36:50 +0100 Subject: [PATCH 2/8] update component positions. fix css --- libs/remix-ui/statusbar/src/css/statusbar.css | 8 ++++++++ .../statusbar/src/lib/components/didYouKnow.tsx | 13 +++++++++++++ .../src/lib/components/scamAlertStatus.tsx | 2 +- .../statusbar/src/lib/remixui-statusbar-panel.tsx | 15 ++++++++++++--- 4 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx diff --git a/libs/remix-ui/statusbar/src/css/statusbar.css b/libs/remix-ui/statusbar/src/css/statusbar.css index a66bd945e1..19007c71da 100644 --- a/libs/remix-ui/statusbar/src/css/statusbar.css +++ b/libs/remix-ui/statusbar/src/css/statusbar.css @@ -27,3 +27,11 @@ .remixui_statusbar_activelink:active { color: var(--danger); } + +.remixui_statusbar_didyouknow { + +} + +.remixui_statusbar_custom_padding { + padding: 0.421em; +} diff --git a/libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx b/libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx new file mode 100644 index 0000000000..fc3367cbac --- /dev/null +++ b/libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx @@ -0,0 +1,13 @@ +import { CustomTooltip } from '@remix-ui/helper' +import React from 'react' + +export default function DidYouKnow () { + return ( + +
+ +
Did you know?
+
+
+ ) +} diff --git a/libs/remix-ui/statusbar/src/lib/components/scamAlertStatus.tsx b/libs/remix-ui/statusbar/src/lib/components/scamAlertStatus.tsx index aab3dd31c8..d3cbce68fd 100644 --- a/libs/remix-ui/statusbar/src/lib/components/scamAlertStatus.tsx +++ b/libs/remix-ui/statusbar/src/lib/components/scamAlertStatus.tsx @@ -15,7 +15,7 @@ export default function ScamAlertStatus ({ refs, getReferenceProps }: ScamAlertS -
+
diff --git a/libs/remix-ui/statusbar/src/lib/remixui-statusbar-panel.tsx b/libs/remix-ui/statusbar/src/lib/remixui-statusbar-panel.tsx index 42efe00094..e5579639bf 100644 --- a/libs/remix-ui/statusbar/src/lib/remixui-statusbar-panel.tsx +++ b/libs/remix-ui/statusbar/src/lib/remixui-statusbar-panel.tsx @@ -8,6 +8,7 @@ import axios from 'axios' // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries import { StatusBar } from 'apps/remix-ide/src/app/components/status-bar' import { StatusBarContextProvider } from '../contexts/statusbarcontext' +import DidYouKnow from './components/didYouKnow' export interface RemixUIStatusBarProps { statusBarPlugin: StatusBar @@ -78,9 +79,17 @@ export function RemixUIStatusBar({ statusBarPlugin }: RemixUIStatusBarProps) {
-
- - +
+ +
+
+
+
+ +
+
+ +
From 664b1c8f7b27bcdb260154fa8c43f40f8a30c5d0 Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Mon, 8 Jul 2024 14:42:20 +0100 Subject: [PATCH 3/8] finish didyouknow and scamDetails sections --- .../src/lib/components/didYouKnow.tsx | 28 +++++++++++++++++-- .../src/lib/components/scamDetails.tsx | 6 ++-- .../src/lib/remixui-statusbar-panel.tsx | 2 +- 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx b/libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx index fc3367cbac..38f7176471 100644 --- a/libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx +++ b/libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx @@ -1,12 +1,34 @@ import { CustomTooltip } from '@remix-ui/helper' -import React from 'react' +import axios from 'axios' +import React, { useEffect, useState } from 'react' export default function DidYouKnow () { + const [tip, setTip] = useState('') + useEffect(() => { + const abortController = new AbortController() + const signal = abortController.signal + async function showRemixTips() { + const response = await axios.get('https://raw.githubusercontent.com/remix-project-org/remix-dynamics/main/ide/tips.json', { signal }) + if (signal.aborted) return + const tips = response.data + const index = Math.floor(Math.random() * (tips.length - 1)) + setTip(tips[index]) + } + try { + showRemixTips() + } catch (e) { + console.log(e) + } + return () => { + abortController.abort() + } + }, []) return (
- -
Did you know?
+ +
Did you know?
+ { tip && tip.length > 0 ?
{tip}
: null }
) diff --git a/libs/remix-ui/statusbar/src/lib/components/scamDetails.tsx b/libs/remix-ui/statusbar/src/lib/components/scamDetails.tsx index 1f971f72ac..d8572022b3 100644 --- a/libs/remix-ui/statusbar/src/lib/components/scamDetails.tsx +++ b/libs/remix-ui/statusbar/src/lib/components/scamDetails.tsx @@ -19,12 +19,12 @@ export default function ScamDetails ({ refs, floatStyle, scamAlerts }: ScamDetai
- + -
+
{scamAlerts && scamAlerts.map((alert, index) => ( {alert.url.length < 1 ? diff --git a/libs/remix-ui/statusbar/src/lib/remixui-statusbar-panel.tsx b/libs/remix-ui/statusbar/src/lib/remixui-statusbar-panel.tsx index e5579639bf..082ea69694 100644 --- a/libs/remix-ui/statusbar/src/lib/remixui-statusbar-panel.tsx +++ b/libs/remix-ui/statusbar/src/lib/remixui-statusbar-panel.tsx @@ -20,7 +20,7 @@ export type ScamAlert = { } export function RemixUIStatusBar({ statusBarPlugin }: RemixUIStatusBarProps) { - const [showScamDetails, setShowScamDetails] = useState(false) + const [showScamDetails, setShowScamDetails] = useState(true) const [scamAlerts, setScamAlerts] = useState([]) const [gitBranchName, setGitBranchName] = useState('') const [isAiActive, setIsAiActive] = useState(false) From 0b3193e8a800b15025bbc1fc09fc3e31baa1b296 Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Wed, 10 Jul 2024 09:34:30 +0100 Subject: [PATCH 4/8] change bulb to success --- libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx b/libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx index 38f7176471..37b66528d3 100644 --- a/libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx +++ b/libs/remix-ui/statusbar/src/lib/components/didYouKnow.tsx @@ -26,7 +26,7 @@ export default function DidYouKnow () { return (
- +
Did you know?
{ tip && tip.length > 0 ?
{tip}
: null }
From 8c4bfa2d4cf1f14276215a85e6941640efa6e94d Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Wed, 10 Jul 2024 09:58:36 +0100 Subject: [PATCH 5/8] fixes as per @LianaHus comments --- libs/remix-ui/statusbar/src/css/statusbar.css | 4 ++++ libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libs/remix-ui/statusbar/src/css/statusbar.css b/libs/remix-ui/statusbar/src/css/statusbar.css index 19007c71da..7530a72ab3 100644 --- a/libs/remix-ui/statusbar/src/css/statusbar.css +++ b/libs/remix-ui/statusbar/src/css/statusbar.css @@ -14,6 +14,10 @@ cursor: pointer; } +.remixui_statusbar_aistatusdisabled { + text-decoration: line-through; +} + /** * approximately same height with vscode statusbar **/ diff --git a/libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx b/libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx index d96a8fdace..687fcc69ac 100644 --- a/libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx +++ b/libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx @@ -36,8 +36,10 @@ export default function AIStatus(props: AIStatusProps) { tooltipText={copilotActive ? "Remix Copilot activated" : "Remix Copilot disabled."} >
- - Remix Copilot + + + {copilotActive === false ? 'Remix Copilot is disabled' : ''} +
) From 4b879f52e980708be11fe0c5830d15f1586fb68d Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Thu, 11 Jul 2024 09:44:12 +0100 Subject: [PATCH 6/8] add matomo tracking to git init from status bar --- libs/remix-ui/statusbar/src/lib/components/gitStatus.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/remix-ui/statusbar/src/lib/components/gitStatus.tsx b/libs/remix-ui/statusbar/src/lib/components/gitStatus.tsx index 68201b7c9f..050d580786 100644 --- a/libs/remix-ui/statusbar/src/lib/components/gitStatus.tsx +++ b/libs/remix-ui/statusbar/src/lib/components/gitStatus.tsx @@ -52,10 +52,11 @@ export default function GitStatus({ plugin, gitBranchName, setGitBranchName }: G } const initializeNewGitRepo = async () => { - await plugin.call('dgitApi', 'init') - const isActive = await plugin.call('manager', 'isActive', 'dgit') if (isLocalHost === false) { + const isActive = await plugin.call('manager', 'isActive', 'dgit') if (!isActive) await plugin.call('manager', 'activatePlugin', 'dgit') + await plugin.call('dgitApi', 'init') + ;(window as any)._paq.push('trackEvent', 'statusbar', 'initNewRepo') } } From 45424cd961aa1b487b53355b994b16d9b66a9678 Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Mon, 15 Jul 2024 12:11:15 +0100 Subject: [PATCH 7/8] changes to aisection --- libs/remix-ui/statusbar/src/css/statusbar.css | 1 + libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libs/remix-ui/statusbar/src/css/statusbar.css b/libs/remix-ui/statusbar/src/css/statusbar.css index 7530a72ab3..4792ca77f3 100644 --- a/libs/remix-ui/statusbar/src/css/statusbar.css +++ b/libs/remix-ui/statusbar/src/css/statusbar.css @@ -16,6 +16,7 @@ .remixui_statusbar_aistatusdisabled { text-decoration: line-through; + text-decoration-thickness: 3px; } /** diff --git a/libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx b/libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx index 687fcc69ac..9e9c92c37b 100644 --- a/libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx +++ b/libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx @@ -33,12 +33,12 @@ export default function AIStatus(props: AIStatusProps) { }, [props.plugin.isAiActive]) return ( -
- +
+ - {copilotActive === false ? 'Remix Copilot is disabled' : ''} + {copilotActive === false ? '' : ''}
From 3e3789504292fa674119794764b7f3e783fdc97d Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Mon, 15 Jul 2024 15:21:31 +0100 Subject: [PATCH 8/8] update ai status section --- libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx b/libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx index 9e9c92c37b..255602004f 100644 --- a/libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx +++ b/libs/remix-ui/statusbar/src/lib/components/aiStatus.tsx @@ -36,9 +36,8 @@ export default function AIStatus(props: AIStatusProps) { tooltipText={copilotActive ? "Remix Copilot activated" : "Remix Copilot disabled. To activate copilot, open a .sol file and toggle the ai switch at the top of the Ide"} >
- - - {copilotActive === false ? '' : ''} + + {copilotActive === false ? 'Remix Copilot (disabled)' : 'Remix Copilot (enabled)'}