mirror of
https://github.com/lensapp/lens.git
synced 2024-09-20 13:57:23 +03: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
|
||||
id="extensions"
|
||||
>
|
||||
<h2>
|
||||
<h2
|
||||
data-testid="extension-preferences-page-title"
|
||||
>
|
||||
Metrics tab
|
||||
|
||||
preferences
|
||||
</h2>
|
||||
<section
|
||||
class="small"
|
||||
@ -472,10 +472,10 @@ exports[`preferences - navigation to extension specific preferences given in pre
|
||||
<section
|
||||
id="extensions"
|
||||
>
|
||||
<h2>
|
||||
<h2
|
||||
data-testid="extension-preferences-page-title"
|
||||
>
|
||||
Metrics tab
|
||||
|
||||
preferences
|
||||
</h2>
|
||||
<section
|
||||
class="small"
|
||||
@ -772,10 +772,10 @@ exports[`preferences - navigation to extension specific preferences given in pre
|
||||
<section
|
||||
id="extensions"
|
||||
>
|
||||
<h2>
|
||||
<h2
|
||||
data-testid="extension-preferences-page-title"
|
||||
>
|
||||
Metrics tab
|
||||
|
||||
preferences
|
||||
</h2>
|
||||
<section
|
||||
class="small"
|
||||
@ -1095,10 +1095,10 @@ exports[`preferences - navigation to extension specific preferences given in pre
|
||||
<section
|
||||
id="extensions"
|
||||
>
|
||||
<h2>
|
||||
some-test-extension-id
|
||||
|
||||
preferences
|
||||
<h2
|
||||
data-testid="extension-preferences-page-title"
|
||||
>
|
||||
some-test-extension-id preferences
|
||||
</h2>
|
||||
<section
|
||||
class="small"
|
||||
@ -2717,10 +2717,10 @@ exports[`preferences - navigation to extension specific preferences given in pre
|
||||
<section
|
||||
id="extensions"
|
||||
>
|
||||
<h2>
|
||||
some-test-extension-id
|
||||
|
||||
preferences
|
||||
<h2
|
||||
data-testid="extension-preferences-page-title"
|
||||
>
|
||||
some-test-extension-id preferences
|
||||
</h2>
|
||||
<section
|
||||
class="small"
|
||||
@ -2994,9 +2994,10 @@ exports[`preferences - navigation to extension specific preferences given in pre
|
||||
<section
|
||||
id="extensions"
|
||||
>
|
||||
<h2>
|
||||
|
||||
preferences
|
||||
<h2
|
||||
data-testid="extension-preferences-page-title"
|
||||
>
|
||||
Extension preferences
|
||||
</h2>
|
||||
<div
|
||||
class="flex items-center"
|
||||
@ -3263,10 +3264,10 @@ exports[`preferences - navigation to extension specific preferences when navigat
|
||||
<section
|
||||
id="extensions"
|
||||
>
|
||||
<h2>
|
||||
<h2
|
||||
data-testid="extension-preferences-page-title"
|
||||
>
|
||||
Metrics tab
|
||||
|
||||
preferences
|
||||
</h2>
|
||||
<section
|
||||
class="small"
|
||||
@ -3551,10 +3552,10 @@ exports[`preferences - navigation to extension specific preferences when navigat
|
||||
<section
|
||||
id="extensions"
|
||||
>
|
||||
<h2>
|
||||
extension-using-someone-else-tab-id
|
||||
|
||||
preferences
|
||||
<h2
|
||||
data-testid="extension-preferences-page-title"
|
||||
>
|
||||
extension-using-someone-else-tab-id preferences
|
||||
</h2>
|
||||
<section
|
||||
class="small"
|
||||
|
@ -225,6 +225,18 @@ describe("preferences - navigation to extension specific preferences", () => {
|
||||
|
||||
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 targetExtension = extensions.get().find((extension) => extension.sanitizedExtensionId === extensionId);
|
||||
const targetAppTab = targetExtension?.appPreferenceTabs.find(tab => tab.id === tabId);
|
||||
const preferencePageTitle = targetAppTab?.title || `${targetExtension?.manifest.name || "Extension"} preferences`;
|
||||
|
||||
return {
|
||||
extensionName: targetAppTab?.title ?? targetExtension?.manifest.name,
|
||||
extensionName: targetExtension?.manifest.name,
|
||||
preferenceItems: getExtensionPreferenceItems(targetExtension, tabId),
|
||||
preferencePageTitle,
|
||||
};
|
||||
});
|
||||
},
|
||||
|
@ -16,19 +16,18 @@ interface Dependencies {
|
||||
model: IComputedValue<{
|
||||
preferenceItems: RegisteredAppPreference[];
|
||||
extensionName?: string;
|
||||
preferencePageTitle?: string;
|
||||
}>;
|
||||
}
|
||||
|
||||
const NonInjectedExtensions = ({ model }: Dependencies) => {
|
||||
const { extensionName, preferenceItems } = model.get();
|
||||
const { extensionName, preferenceItems, preferencePageTitle } = model.get();
|
||||
|
||||
return (
|
||||
<Preferences data-testid="extension-preferences-page">
|
||||
<section id="extensions">
|
||||
<h2>
|
||||
{extensionName}
|
||||
{" "}
|
||||
preferences
|
||||
<h2 data-testid="extension-preferences-page-title">
|
||||
{preferencePageTitle}
|
||||
</h2>
|
||||
{!extensionName && (
|
||||
<div
|
||||
|
Loading…
Reference in New Issue
Block a user