1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Show visible message instead of throwing and error in Extensions

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
Alex Andreev 2022-06-10 10:14:51 +03:00
parent ceafd03308
commit 4b20013b1b

View File

@ -16,7 +16,7 @@ import rendererExtensionsInjectable from "../../../extensions/renderer-extension
interface Dependencies { interface Dependencies {
preferenceItems: IComputedValue<RegisteredAppPreference[]>; preferenceItems: IComputedValue<RegisteredAppPreference[]>;
extensionName: string; extensionName: string | undefined;
} }
const NonInjectedExtensions = ({ preferenceItems, extensionName }: Dependencies) => ( const NonInjectedExtensions = ({ preferenceItems, extensionName }: Dependencies) => (
@ -27,6 +27,9 @@ const NonInjectedExtensions = ({ preferenceItems, extensionName }: Dependencies)
{" "} {" "}
preferences preferences
</h2> </h2>
{!extensionName && (
<div className="flex items-center">No extension found</div>
)}
{preferenceItems.get().map((preferenceItem, index) => ( {preferenceItems.get().map((preferenceItem, index) => (
<ExtensionSettings <ExtensionSettings
key={`${preferenceItem.id}-${index}`} key={`${preferenceItem.id}-${index}`}
@ -49,13 +52,13 @@ export const Extensions = withInjectables<Dependencies>(
const extensions = di.inject(rendererExtensionsInjectable); const extensions = di.inject(rendererExtensionsInjectable);
const extension = extensions.get().find((extension) => extension.sanitizedExtensionId === extensionId); const extension = extensions.get().find((extension) => extension.sanitizedExtensionId === extensionId);
if (!extension) { // if (!extension) {
throw new Error(`Extension ${extensionId} not found`); // throw new Error(`Extension ${extensionId} not found`);
} // }
return { return {
preferenceItems: di.inject(extensionsPreferenceItemsInjectable, pathParameters), preferenceItems: di.inject(extensionsPreferenceItemsInjectable, pathParameters),
extensionName: extension.manifest.name, extensionName: extension?.manifest.name,
}; };
}, },
}, },