From 42112a1c030734e012a6368dd8e196ae6b79d164 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Tue, 21 Jun 2022 13:51:36 +0300 Subject: [PATCH] Show 'No extension found' visual error instead of throwing an error in injectable Signed-off-by: Alex Andreev --- .../+preferences/extension-preference-model.injectable.ts | 6 +----- src/renderer/components/+preferences/extensions.tsx | 5 ++++- .../+preferences/get-extension-preference-items.ts | 6 +++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/renderer/components/+preferences/extension-preference-model.injectable.ts b/src/renderer/components/+preferences/extension-preference-model.injectable.ts index 9ac7df82a1..5e4fd06de0 100644 --- a/src/renderer/components/+preferences/extension-preference-model.injectable.ts +++ b/src/renderer/components/+preferences/extension-preference-model.injectable.ts @@ -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), }; }); diff --git a/src/renderer/components/+preferences/extensions.tsx b/src/renderer/components/+preferences/extensions.tsx index 043a3cc940..f219d5124b 100644 --- a/src/renderer/components/+preferences/extensions.tsx +++ b/src/renderer/components/+preferences/extensions.tsx @@ -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 + {!extensionName && ( +
No extension found
+ )} {preferenceItems.map((preferenceItem, index) => ( ({ id: preference.id || preference.title, ...preference,