Sfoglia il codice sorgente

Implemented null casing.

Added null casing to the SidebarLink to check if the properties that are going
to be added to the search params actually exists and we're not trying to access
empty objects.
jnfrati 3 anni fa
parent
commit
1d90119569
1 ha cambiato i file con 10 aggiunte e 3 eliminazioni
  1. 10 3
      dashboard/src/main/home/sidebar/SidebarLink.tsx

+ 10 - 3
dashboard/src/main/home/sidebar/SidebarLink.tsx

@@ -18,20 +18,27 @@ const SidebarLink: React.FC<{ path: string } & Omit<NavLinkProps, "to">> = ({
    */
    */
   const withQueryParams = (path: string) => (location: any) => {
   const withQueryParams = (path: string) => (location: any) => {
     let pathNamespace = params.namespace;
     let pathNamespace = params.namespace;
-    let search = `?cluster=${currentCluster.name}&project_id=${currentProject.id}`;
+    const search = new URLSearchParams();
+    if (currentCluster?.name) {
+      search.append("cluster", currentCluster.name);
+    }
+
+    if (currentProject?.id) {
+      search.append("project_id", String(currentProject.id));
+    }
 
 
     if (!pathNamespace) {
     if (!pathNamespace) {
       pathNamespace = getQueryParam("namespace");
       pathNamespace = getQueryParam("namespace");
     }
     }
 
 
     if (pathNamespace) {
     if (pathNamespace) {
-      search = search.concat(`&namespace=${pathNamespace}`);
+      search.append("namespace", pathNamespace);
     }
     }
 
 
     return {
     return {
       ...location,
       ...location,
       pathname: path,
       pathname: path,
-      search,
+      search: search.toString(),
     };
     };
   };
   };