From b9b56d9bb0d1a16f7a9463cacf9772b5911e3f33 Mon Sep 17 00:00:00 2001
From: Evgeny Zakharov <to@risen.dev>
Date: Tue, 11 Jul 2023 20:52:12 +0400
Subject: [PATCH] fix: skip navigation on prevent default

---
 src/link.tsx | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/link.tsx b/src/link.tsx
index 70b6a94..085d5d6 100644
--- a/src/link.tsx
+++ b/src/link.tsx
@@ -73,14 +73,20 @@ const RouteLinkView = <Params extends RouteParams>(
       {...linkProps}
       className={clsx(className, isOpened ? activeClassName : inactiveClassName)}
       onClick={(evt) => {
+        if (onClick) {
+          onClick(evt);
+        }
+
+        // allow user to prevent navigation
+        if (evt.defaultPrevented) {
+          return
+        }
+
         evt.preventDefault();
         navigate({
           params: params || ({} as Params),
           query: query || {},
         });
-        if (onClick) {
-          onClick(evt);
-        }
       }}
     >
       {children}