/** * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ import { withInjectables } from "@ogre-tools/injectable-react"; import type { IComputedValue } from "mobx"; import { observer } from "mobx-react"; import React from "react"; import type { RegisteredAppPreference } from "./app-preferences/app-preference-registration"; import extensionPreferencesModelInjectable from "./extension-preference-model.injectable"; import { ExtensionPreferenceItem } from "../../../features/preferences/renderer/compliance-for-legacy-extension-api/extension-preference-item"; interface Dependencies { model: IComputedValue<{ preferenceItems: RegisteredAppPreference[]; extensionName?: string; preferencePageTitle?: string; }>; } const NonInjectedExtensions = ({ model }: Dependencies) => { const { extensionName, preferenceItems, preferencePageTitle } = model.get(); return (

{preferencePageTitle}

{!extensionName && (
No extension found
)} {preferenceItems.map((preferenceItem, index) => ( ))}
); }; export const Extensions = withInjectables( observer(NonInjectedExtensions), { getProps: (di) => ({ model: di.inject(extensionPreferencesModelInjectable), }), }, );