diff --git a/src/features/__snapshots__/extension-special-characters-in-page-registrations.test.tsx.snap b/src/features/__snapshots__/extension-special-characters-in-page-registrations.test.tsx.snap index dab11ecc9b..3eb46b81e9 100644 --- a/src/features/__snapshots__/extension-special-characters-in-page-registrations.test.tsx.snap +++ b/src/features/__snapshots__/extension-special-characters-in-page-registrations.test.tsx.snap @@ -182,6 +182,7 @@ exports[`extension special characters in page registrations renders 1`] = `
; position: "left" | "right"; visible: IComputedValue; diff --git a/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx b/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx index 71293126f7..ed909a8284 100644 --- a/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx +++ b/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx @@ -74,6 +74,7 @@ const toItemInjectableFor = (extension: LensRendererExtension, getRandomId: () = id, instantiate: () => ({ + origin: extension.sanitizedExtensionId, component, position, visible: visible ?? computed(() => true), diff --git a/src/renderer/components/status-bar/status-bar-items.injectable.tsx b/src/renderer/components/status-bar/status-bar-items.injectable.tsx index 855b8654c9..2b5be6fdb3 100644 --- a/src/renderer/components/status-bar/status-bar-items.injectable.tsx +++ b/src/renderer/components/status-bar/status-bar-items.injectable.tsx @@ -10,9 +10,14 @@ import type { StatusBarItem } from "./status-bar-item-injection-token"; import { statusBarItemInjectionToken } from "./status-bar-item-injection-token"; import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx"; +interface StatusItem { + origin?: string; + component: React.ComponentType; +} + export interface StatusBarItems { - right: React.ComponentType[]; - left: React.ComponentType[]; + right: StatusItem[]; + left: StatusItem[]; } interface Dependencies { @@ -27,13 +32,16 @@ function getStatusBarItems({ registrations }: Dependencies): IComputedValue", () => { builder.beforeWindowStart((windowDi) => { windowDi.override(statusBarItemsInjectable, () => computed(() => ({ - right: [ () => {text} ], + right: [ { origin: testId, component: () => {text} }], left: [], }) as StatusBarItems)); }); diff --git a/src/renderer/components/status-bar/status-bar.tsx b/src/renderer/components/status-bar/status-bar.tsx index 1214a104c7..dabad3bf17 100644 --- a/src/renderer/components/status-bar/status-bar.tsx +++ b/src/renderer/components/status-bar/status-bar.tsx @@ -22,18 +22,24 @@ const NonInjectedStatusBar = observer(({ items }: Dependencies & StatusBarProps) const { left, right } = items.get(); return ( -
+
{left.map((Item, index) => ( -
- +
+ {}
))}
{right.map((Item, index) => ( -
- +
+ {}
))}