From dea08868d3b7f482a9b94be9a0b5e25d6633d9e9 Mon Sep 17 00:00:00 2001
From: AAGaming <aa@mail.catvibers.me>
Date: Mon, 3 Jul 2023 23:57:53 -0400
Subject: fix router hook recursively wrapping routes when patched multiple
 times

---
 frontend/src/router-hook.tsx | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

(limited to 'frontend/src/router-hook.tsx')

diff --git a/frontend/src/router-hook.tsx b/frontend/src/router-hook.tsx
index cfacaddd..28f6923c 100644
--- a/frontend/src/router-hook.tsx
+++ b/frontend/src/router-hook.tsx
@@ -22,6 +22,8 @@ declare global {
   }
 }
 
+const isPatched = Symbol('is patched');
+
 class RouterHook extends Logger {
   private router: any;
   private memoizedRouter: any;
@@ -90,9 +92,10 @@ class RouterHook extends Logger {
               ...routeList[index].props,
               children: {
                 ...cloneElement(routeList[index].props.children),
-                type: (props) => createElement(oType, props),
+                type: routeList[index].props.children[isPatched] ? oType : (props) => createElement(oType, props),
               },
             }).children;
+            routeList[index].props.children[isPatched] = true;
           });
         }
       });
-- 
cgit v1.2.3

