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:
parent
ac926ce75b
commit
42112a1c03
@ -21,12 +21,8 @@ const extensionPreferencesModelInjectable = getInjectable({
|
|||||||
const { extensionId, tabId } = pathParameters.get();
|
const { extensionId, tabId } = pathParameters.get();
|
||||||
const targetExtension = extensions.get().find((extension) => extension.sanitizedExtensionId === extensionId);
|
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 {
|
return {
|
||||||
extensionName: targetExtension.manifest.name,
|
extensionName: targetExtension?.manifest.name,
|
||||||
preferenceItems: getExtensionPreferenceItems(targetExtension, tabId),
|
preferenceItems: getExtensionPreferenceItems(targetExtension, tabId),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import { Preferences } from "./preferences";
|
|||||||
|
|
||||||
interface Dependencies {
|
interface Dependencies {
|
||||||
preferenceItems: RegisteredAppPreference[];
|
preferenceItems: RegisteredAppPreference[];
|
||||||
extensionName: string;
|
extensionName?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const NonInjectedExtensions = ({ preferenceItems, extensionName }: Dependencies) => (
|
const NonInjectedExtensions = ({ preferenceItems, extensionName }: Dependencies) => (
|
||||||
@ -24,6 +24,9 @@ const NonInjectedExtensions = ({ preferenceItems, extensionName }: Dependencies)
|
|||||||
{" "}
|
{" "}
|
||||||
preferences
|
preferences
|
||||||
</h2>
|
</h2>
|
||||||
|
{!extensionName && (
|
||||||
|
<div className="flex items-center">No extension found</div>
|
||||||
|
)}
|
||||||
{preferenceItems.map((preferenceItem, index) => (
|
{preferenceItems.map((preferenceItem, index) => (
|
||||||
<ExtensionSettings
|
<ExtensionSettings
|
||||||
key={`${preferenceItem.id}-${index}`}
|
key={`${preferenceItem.id}-${index}`}
|
||||||
|
|||||||
@ -6,7 +6,11 @@
|
|||||||
import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension";
|
import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension";
|
||||||
import type { RegisteredAppPreference } from "./app-preferences/app-preference-registration";
|
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 => ({
|
const preferences = extension.appPreferences.map(preference => ({
|
||||||
id: preference.id || preference.title,
|
id: preference.id || preference.title,
|
||||||
...preference,
|
...preference,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user