From 2ee47a442a56d4cd128e34e4d49aeb3ce954c63c Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Wed, 12 Jan 2022 08:47:42 -0500 Subject: [PATCH] Reroute to landing page from previously registered extension cluster pages (#4385) --- src/extensions/registries/page-registry.ts | 5 +--- src/renderer/cluster-frame.tsx | 7 +++-- src/renderer/components/+404/index.ts | 22 -------------- src/renderer/components/+404/not-found.tsx | 35 ---------------------- 4 files changed, 6 insertions(+), 63 deletions(-) delete mode 100644 src/renderer/components/+404/index.ts delete mode 100644 src/renderer/components/+404/not-found.tsx diff --git a/src/extensions/registries/page-registry.ts b/src/extensions/registries/page-registry.ts index aa788681d5..5604538a91 100644 --- a/src/extensions/registries/page-registry.ts +++ b/src/extensions/registries/page-registry.ts @@ -135,10 +135,7 @@ class PageRegistry extends BaseRegistry { ); if (notAStringValue && !(parse || stringify)) { - throw new Error( - `PageRegistry: param's "${paramName}" initialization has failed: - paramInit.parse() and paramInit.stringify() are required for non string | string[] "defaultValue"`, - ); + throw new Error(`PageRegistry: param's "${paramName}" initialization has failed: paramInit.parse() and paramInit.stringify() are required for non string | string[] "defaultValue"`); } paramInit.defaultValue = value; diff --git a/src/renderer/cluster-frame.tsx b/src/renderer/cluster-frame.tsx index 5113377116..bcade8cf5d 100755 --- a/src/renderer/cluster-frame.tsx +++ b/src/renderer/cluster-frame.tsx @@ -23,7 +23,6 @@ import { observable, makeObservable, when } from "mobx"; import { disposeOnUnmount, observer } from "mobx-react"; import { Redirect, Route, Router, Switch } from "react-router"; import { history } from "./navigation"; -import { NotFound } from "./components/+404"; import { UserManagement } from "./components/+user-management/user-management"; import { ConfirmDialog } from "./components/confirm-dialog"; import { ClusterOverview } from "./components/+cluster/cluster-overview"; @@ -230,7 +229,11 @@ export class ClusterFrame extends React.Component { {this.renderExtensionTabLayoutRoutes()} {this.renderExtensionRoutes()} - + { + Notifications.error(`Unknown location ${location.pathname}, redirecting to main page.`); + + return ; + }} /> diff --git a/src/renderer/components/+404/index.ts b/src/renderer/components/+404/index.ts deleted file mode 100644 index f0b33889c2..0000000000 --- a/src/renderer/components/+404/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copyright (c) 2021 OpenLens Authors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -export * from "./not-found"; diff --git a/src/renderer/components/+404/not-found.tsx b/src/renderer/components/+404/not-found.tsx deleted file mode 100644 index 25f8756afd..0000000000 --- a/src/renderer/components/+404/not-found.tsx +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright (c) 2021 OpenLens Authors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -import React from "react"; -import { TabLayout } from "../layout/tab-layout"; - -export class NotFound extends React.Component { - render() { - return ( - -

- Page not found -

-
- ); - } -}