Skip to content

Commit efa4be0

Browse files
authored
Merge pull request #4953 from ethereum/statusbarfix
fix plugin api & statusbar
2 parents 441600a + 324158c commit efa4be0

File tree

7 files changed

+24
-6
lines changed

7 files changed

+24
-6
lines changed

apps/remix-ide/src/app/components/status-bar.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { PluginProfile, StatusBarInterface } from '../../types'
77
import { RemixUIStatusBar } from '@remix-ui/statusbar'
88
import { FilePanelType } from '@remix-ui/workspace'
99
import { VerticalIcons } from './vertical-icons'
10+
import { CustomRemixApi } from '@remix-api'
1011

1112
const statusBarProfile: PluginProfile = {
1213
name: 'statusBar',
@@ -16,7 +17,7 @@ const statusBarProfile: PluginProfile = {
1617
version: packageJson.version,
1718
}
1819

19-
export class StatusBar extends Plugin implements StatusBarInterface {
20+
export class StatusBar extends Plugin<any, CustomRemixApi> implements StatusBarInterface {
2021
htmlElement: HTMLDivElement
2122
events: EventEmitter
2223
filePanelPlugin: FilePanelType
@@ -75,7 +76,7 @@ export class StatusBar extends Plugin implements StatusBarInterface {
7576
const workspaceName = localStorage.getItem('currentWorkspace')
7677
workspaceName && workspaceName.length > 0 ? this.currentWorkspaceName = workspaceName : this.currentWorkspaceName = 'error'
7778
})
78-
this.on('settings', 'copilotChoiceChanged', (isAiActive) => {
79+
this.on('settings', 'copilotChoiceChanged', (isAiActive: boolean) => {
7980
this.isAiActive = isAiActive
8081
})
8182
this.renderComponent()
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { IFilePanel } from '@remixproject/plugin-api'
2+
import { StatusEvents } from '@remixproject/plugin-utils'
3+
4+
export interface IFilePanelApi {
5+
events: IFilePanel['events'] & {
6+
workspaceInitializationCompleted: () => void;
7+
switchToWorkspace: (workspace: string) => Promise<void>;
8+
} & StatusEvents
9+
methods: IFilePanel['methods'] & {
10+
11+
}
12+
}

libs/remix-api/src/lib/plugins/fileSystem-api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { IFileSystem } from "@remixproject/plugin-api"
44
// Extended interface with 'diff' method
55
export interface IExtendedFileSystem extends IFileSystem {
66
methods: IFileSystem['methods'] & {
7-
/** Compare the differences between two files */
87
diff(change: commitChange): Promise<void>
8+
isGitRepo(): Promise<boolean>
99
};
1010
}

libs/remix-api/src/lib/plugins/settings-api.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import { StatusEvents } from '@remixproject/plugin-utils'
33
export interface ISettings {
44
events: {
55
configChanged: () => void,
6+
copilotChoiceUpdated: (isChecked: boolean) => void,
7+
copilotChoiceChanged: (isChecked: boolean) => void,
68
} & StatusEvents
79
methods: {
810
getGithubAccessToken(): string

libs/remix-api/src/lib/remix-api.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import { IFileDecoratorApi } from "./plugins/filedecorator-api"
66
import { IExtendedFileSystem } from "./plugins/fileSystem-api"
77
import { INotificationApi } from "./plugins/notification-api"
88
import { ISettings } from "./plugins/settings-api"
9+
import { IFilePanelApi } from "./plugins/filePanel-api"
10+
import { Plugin } from "@remixproject/engine"
911

1012
export interface ICustomRemixApi extends IRemixApi {
1113
dgitApi: IGitApi
@@ -14,6 +16,7 @@ export interface ICustomRemixApi extends IRemixApi {
1416
settings: ISettings
1517
fileDecorator: IFileDecoratorApi
1618
fileManager: IExtendedFileSystem
19+
filePanel: IFilePanelApi
1720
}
1821

1922
export declare type CustomRemixApi = Readonly<ICustomRemixApi>

libs/remix-ui/statusbar/src/lib/components/gitStatus.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export default function GitStatus({ plugin, gitBranchName, setGitBranchName }: G
3232
setGitBranchName('Not a git repo')
3333
}
3434
})
35-
plugin.on('dGitProvider', 'init', async () => {
35+
plugin.on('dgitApi', 'init', async () => {
3636
const isGit = await plugin.call('fileManager', 'isGitRepo')
3737
if (isGit) {
3838
const workspace = localStorage.getItem('currentWorkspace')
@@ -52,7 +52,7 @@ export default function GitStatus({ plugin, gitBranchName, setGitBranchName }: G
5252
}
5353

5454
const initializeNewGitRepo = async () => {
55-
await plugin.call('dGitProvider', 'init')
55+
await plugin.call('dgitApi', 'init')
5656
const isActive = await plugin.call('manager', 'isActive', 'dgit')
5757
if (isLocalHost === false) {
5858
if (!isActive) await plugin.call('manager', 'activatePlugin', 'dgit')

libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ export function Workspace() {
257257
}
258258
}
259259

260-
global.plugin.on('dGitProvider', 'repositoryWithSubmodulesCloned', () => {
260+
global.plugin.on('dgitApi', 'repositoryWithSubmodulesCloned', () => {
261261
setHighlightUpdateSubmodules(true)
262262
})
263263
}, [])

0 commit comments

Comments
 (0)