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

fix: support-page extension

Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
Roman 2020-11-11 17:39:24 +02:00
parent 9b55a5fd0a
commit 296ba9023f
7 changed files with 29 additions and 28 deletions

View File

@ -1,13 +1,13 @@
import { LensMainExtension, windowManager } from "@k8slens/extensions"; import { LensMainExtension, windowManager } from "@k8slens/extensions";
import { supportPageURL } from "./src/support.route"; import { pageUrl } from "./src/common-vars";
export default class SupportPageMainExtension extends LensMainExtension { export default class SupportPageMainExtension extends LensMainExtension {
appMenus = [ appMenus = [
{ {
parentId: "help", parentId: "help",
label: "Support", label: "Support",
click() { click: () => {
windowManager.navigate(supportPageURL()); windowManager.navigate(this.getPageUrl(pageUrl)); // todo: simplify
} }
} }
] ]

View File

@ -26,6 +26,12 @@
"integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
"dev": true "dev": true
}, },
"@types/node": {
"version": "14.14.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.7.tgz",
"integrity": "sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg==",
"dev": true
},
"@types/prop-types": { "@types/prop-types": {
"version": "15.7.3", "version": "15.7.3",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz",

View File

@ -1,28 +1,26 @@
import React from "react"; import React from "react";
import { Component, LensRendererExtension, Navigation } from "@k8slens/extensions"; import { Component, Interface, LensRendererExtension, Navigation } from "@k8slens/extensions";
import { supportPageRoute, supportPageURL } from "./src/support.route";
import { Support } from "./src/support"; import { Support } from "./src/support";
import { pageRoute, pageUrl } from "./src/common-vars";
export default class SupportPageRendererExtension extends LensRendererExtension { export default class SupportPageRendererExtension extends LensRendererExtension {
// globalPages = [ globalPages: Interface.PageRegistration[] = [
// { {
// ...supportPageRoute, routePath: pageRoute,
// url: supportPageURL(), components: {
// hideInMenu: true, Page: Support,
// components: { }
// Page: Support, }
// } ]
// }
// ]
statusBarItems = [ statusBarItems = [
{ {
item: ( item: (
<div <div
className="flex align-center gaps hover-highlight" className="flex align-center gaps hover-highlight"
onClick={() => Navigation.navigate(supportPageURL())} onClick={() => Navigation.navigate(this.getPageUrl(pageUrl))}
> >
<Component.Icon material="help" smallest /> <Component.Icon material="help" smallest/>
</div> </div>
) )
} }

View File

@ -0,0 +1,4 @@
// Common variables for both processes (main & renderer)
export const pageRoute = "/support"
export const pageUrl = pageRoute; // same since no special :placeholder-s for react-router's route

View File

@ -1,7 +0,0 @@
import type { RouteProps } from "react-router";
export const supportPageRoute: RouteProps = {
path: "/support"
}
export const supportPageURL = () => supportPageRoute.path.toString();

View File

@ -241,6 +241,7 @@
"openid-client": "^3.15.2", "openid-client": "^3.15.2",
"path-to-regexp": "^6.1.0", "path-to-regexp": "^6.1.0",
"proper-lockfile": "^4.1.1", "proper-lockfile": "^4.1.1",
"react-router": "^5.2.0",
"request": "^2.88.2", "request": "^2.88.2",
"request-promise-native": "^1.0.8", "request-promise-native": "^1.0.8",
"semver": "^7.3.2", "semver": "^7.3.2",
@ -365,7 +366,6 @@
"react-beautiful-dnd": "^13.0.0", "react-beautiful-dnd": "^13.0.0",
"react-dom": "^16.13.1", "react-dom": "^16.13.1",
"react-refresh": "^0.9.0", "react-refresh": "^0.9.0",
"react-router": "^5.2.0",
"react-router-dom": "^5.2.0", "react-router-dom": "^5.2.0",
"react-select": "^3.1.0", "react-select": "^3.1.0",
"react-window": "^1.8.5", "react-window": "^1.8.5",

View File

@ -15,7 +15,7 @@ export interface LensExtensionManifest {
} }
export class LensExtension { export class LensExtension {
readonly routePrefix = "/extensions/:name" readonly routePrefix = "/extension/:name"
readonly manifest: LensExtensionManifest; readonly manifest: LensExtensionManifest;
readonly manifestPath: string; readonly manifestPath: string;
readonly isBundled: boolean; readonly isBundled: boolean;
@ -45,11 +45,11 @@ export class LensExtension {
} }
getPageUrl(baseUrl: string) { getPageUrl(baseUrl: string) {
return compile(this.routePrefix)({ name: this.name }) + "/" + baseUrl return compile(this.routePrefix)({ name: this.name }) + baseUrl
} }
getPageRoute(baseRoute: string) { getPageRoute(baseRoute: string) {
return this.routePrefix + "/" + baseRoute; return this.routePrefix + baseRoute;
} }
@action @action