mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Adding more control over extension preferences page title (#5901)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
parent
392d548bf0
commit
e334a6aeda
@ -172,10 +172,10 @@ exports[`preferences - navigation to extension specific preferences given in pre
|
|||||||
<section
|
<section
|
||||||
id="extensions"
|
id="extensions"
|
||||||
>
|
>
|
||||||
<h2>
|
<h2
|
||||||
|
data-testid="extension-preferences-page-title"
|
||||||
|
>
|
||||||
Metrics tab
|
Metrics tab
|
||||||
|
|
||||||
preferences
|
|
||||||
</h2>
|
</h2>
|
||||||
<section
|
<section
|
||||||
class="small"
|
class="small"
|
||||||
@ -472,10 +472,10 @@ exports[`preferences - navigation to extension specific preferences given in pre
|
|||||||
<section
|
<section
|
||||||
id="extensions"
|
id="extensions"
|
||||||
>
|
>
|
||||||
<h2>
|
<h2
|
||||||
|
data-testid="extension-preferences-page-title"
|
||||||
|
>
|
||||||
Metrics tab
|
Metrics tab
|
||||||
|
|
||||||
preferences
|
|
||||||
</h2>
|
</h2>
|
||||||
<section
|
<section
|
||||||
class="small"
|
class="small"
|
||||||
@ -772,10 +772,10 @@ exports[`preferences - navigation to extension specific preferences given in pre
|
|||||||
<section
|
<section
|
||||||
id="extensions"
|
id="extensions"
|
||||||
>
|
>
|
||||||
<h2>
|
<h2
|
||||||
|
data-testid="extension-preferences-page-title"
|
||||||
|
>
|
||||||
Metrics tab
|
Metrics tab
|
||||||
|
|
||||||
preferences
|
|
||||||
</h2>
|
</h2>
|
||||||
<section
|
<section
|
||||||
class="small"
|
class="small"
|
||||||
@ -1095,10 +1095,10 @@ exports[`preferences - navigation to extension specific preferences given in pre
|
|||||||
<section
|
<section
|
||||||
id="extensions"
|
id="extensions"
|
||||||
>
|
>
|
||||||
<h2>
|
<h2
|
||||||
some-test-extension-id
|
data-testid="extension-preferences-page-title"
|
||||||
|
>
|
||||||
preferences
|
some-test-extension-id preferences
|
||||||
</h2>
|
</h2>
|
||||||
<section
|
<section
|
||||||
class="small"
|
class="small"
|
||||||
@ -2717,10 +2717,10 @@ exports[`preferences - navigation to extension specific preferences given in pre
|
|||||||
<section
|
<section
|
||||||
id="extensions"
|
id="extensions"
|
||||||
>
|
>
|
||||||
<h2>
|
<h2
|
||||||
some-test-extension-id
|
data-testid="extension-preferences-page-title"
|
||||||
|
>
|
||||||
preferences
|
some-test-extension-id preferences
|
||||||
</h2>
|
</h2>
|
||||||
<section
|
<section
|
||||||
class="small"
|
class="small"
|
||||||
@ -2994,9 +2994,10 @@ exports[`preferences - navigation to extension specific preferences given in pre
|
|||||||
<section
|
<section
|
||||||
id="extensions"
|
id="extensions"
|
||||||
>
|
>
|
||||||
<h2>
|
<h2
|
||||||
|
data-testid="extension-preferences-page-title"
|
||||||
preferences
|
>
|
||||||
|
Extension preferences
|
||||||
</h2>
|
</h2>
|
||||||
<div
|
<div
|
||||||
class="flex items-center"
|
class="flex items-center"
|
||||||
@ -3263,10 +3264,10 @@ exports[`preferences - navigation to extension specific preferences when navigat
|
|||||||
<section
|
<section
|
||||||
id="extensions"
|
id="extensions"
|
||||||
>
|
>
|
||||||
<h2>
|
<h2
|
||||||
|
data-testid="extension-preferences-page-title"
|
||||||
|
>
|
||||||
Metrics tab
|
Metrics tab
|
||||||
|
|
||||||
preferences
|
|
||||||
</h2>
|
</h2>
|
||||||
<section
|
<section
|
||||||
class="small"
|
class="small"
|
||||||
@ -3551,10 +3552,10 @@ exports[`preferences - navigation to extension specific preferences when navigat
|
|||||||
<section
|
<section
|
||||||
id="extensions"
|
id="extensions"
|
||||||
>
|
>
|
||||||
<h2>
|
<h2
|
||||||
extension-using-someone-else-tab-id
|
data-testid="extension-preferences-page-title"
|
||||||
|
>
|
||||||
preferences
|
extension-using-someone-else-tab-id preferences
|
||||||
</h2>
|
</h2>
|
||||||
<section
|
<section
|
||||||
class="small"
|
class="small"
|
||||||
|
|||||||
@ -225,6 +225,18 @@ describe("preferences - navigation to extension specific preferences", () => {
|
|||||||
|
|
||||||
expect(actual).not.toBeInTheDocument();
|
expect(actual).not.toBeInTheDocument();
|
||||||
});
|
});
|
||||||
|
it("shows page title", () => {
|
||||||
|
const pageTitle = rendered.queryByTestId("extension-preferences-page-title");
|
||||||
|
|
||||||
|
expect(pageTitle).toBeInTheDocument();
|
||||||
|
});
|
||||||
|
it("shows page title same as tab title", () => {
|
||||||
|
const pageTitle = rendered.queryByTestId("extension-preferences-page-title");
|
||||||
|
const tabs = extensionStubWithWithRegisteredTab.appPreferenceTabs;
|
||||||
|
const tabTitle = tabs && tabs[0].title;
|
||||||
|
|
||||||
|
expect(pageTitle?.innerHTML).toBe(tabTitle);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -21,10 +21,12 @@ 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);
|
||||||
const targetAppTab = targetExtension?.appPreferenceTabs.find(tab => tab.id === tabId);
|
const targetAppTab = targetExtension?.appPreferenceTabs.find(tab => tab.id === tabId);
|
||||||
|
const preferencePageTitle = targetAppTab?.title || `${targetExtension?.manifest.name || "Extension"} preferences`;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
extensionName: targetAppTab?.title ?? targetExtension?.manifest.name,
|
extensionName: targetExtension?.manifest.name,
|
||||||
preferenceItems: getExtensionPreferenceItems(targetExtension, tabId),
|
preferenceItems: getExtensionPreferenceItems(targetExtension, tabId),
|
||||||
|
preferencePageTitle,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@ -16,19 +16,18 @@ interface Dependencies {
|
|||||||
model: IComputedValue<{
|
model: IComputedValue<{
|
||||||
preferenceItems: RegisteredAppPreference[];
|
preferenceItems: RegisteredAppPreference[];
|
||||||
extensionName?: string;
|
extensionName?: string;
|
||||||
|
preferencePageTitle?: string;
|
||||||
}>;
|
}>;
|
||||||
}
|
}
|
||||||
|
|
||||||
const NonInjectedExtensions = ({ model }: Dependencies) => {
|
const NonInjectedExtensions = ({ model }: Dependencies) => {
|
||||||
const { extensionName, preferenceItems } = model.get();
|
const { extensionName, preferenceItems, preferencePageTitle } = model.get();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Preferences data-testid="extension-preferences-page">
|
<Preferences data-testid="extension-preferences-page">
|
||||||
<section id="extensions">
|
<section id="extensions">
|
||||||
<h2>
|
<h2 data-testid="extension-preferences-page-title">
|
||||||
{extensionName}
|
{preferencePageTitle}
|
||||||
{" "}
|
|
||||||
preferences
|
|
||||||
</h2>
|
</h2>
|
||||||
{!extensionName && (
|
{!extensionName && (
|
||||||
<div
|
<div
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user