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

Show 'No extension found' visual error

instead of throwing an error in injectable

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
Alex Andreev 2022-06-21 13:51:36 +03:00
parent ac926ce75b
commit 42112a1c03
3 changed files with 10 additions and 7 deletions

View File

@ -21,12 +21,8 @@ const extensionPreferencesModelInjectable = getInjectable({
const { extensionId, tabId } = pathParameters.get();
const targetExtension = extensions.get().find((extension) => extension.sanitizedExtensionId === extensionId);
if (!targetExtension) {
throw new Error("Tried to get extension preferences for extension that does not exist.");
}
return {
extensionName: targetExtension.manifest.name,
extensionName: targetExtension?.manifest.name,
preferenceItems: getExtensionPreferenceItems(targetExtension, tabId),
};
});

View File

@ -13,7 +13,7 @@ import { Preferences } from "./preferences";
interface Dependencies {
preferenceItems: RegisteredAppPreference[];
extensionName: string;
extensionName?: string;
}
const NonInjectedExtensions = ({ preferenceItems, extensionName }: Dependencies) => (
@ -24,6 +24,9 @@ const NonInjectedExtensions = ({ preferenceItems, extensionName }: Dependencies)
{" "}
preferences
</h2>
{!extensionName && (
<div className="flex items-center">No extension found</div>
)}
{preferenceItems.map((preferenceItem, index) => (
<ExtensionSettings
key={`${preferenceItem.id}-${index}`}

View File

@ -6,7 +6,11 @@
import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension";
import type { RegisteredAppPreference } from "./app-preferences/app-preference-registration";
export function getExtensionPreferenceItems(extension: LensRendererExtension, tabId?: string): RegisteredAppPreference[] {
export function getExtensionPreferenceItems(extension?: LensRendererExtension, tabId?: string): RegisteredAppPreference[] {
if (!extension) {
return [];
}
const preferences = extension.appPreferences.map(preference => ({
id: preference.id || preference.title,
...preference,