From 17530c4bddf882fa3b305741925ee5e066e46e42 Mon Sep 17 00:00:00 2001 From: Pratyush Sharma <56130065+pratyush618@users.noreply.github.com> Date: Sun, 19 Apr 2026 11:51:39 +0530 Subject: [PATCH 1/2] fix(nav): use plain anchor for external URLs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Next Link with external URL corrupts App Router state on back navigation — page renders blank until refresh. Detect external URLs via isExternalUrl helper and use a plain instead. --- src/components/navbar.tsx | 43 +++++++++++++++++++++++++++------------ src/lib/url.ts | 3 +++ 2 files changed, 33 insertions(+), 13 deletions(-) create mode 100644 src/lib/url.ts diff --git a/src/components/navbar.tsx b/src/components/navbar.tsx index b5b8229..5cdaef4 100644 --- a/src/components/navbar.tsx +++ b/src/components/navbar.tsx @@ -5,9 +5,15 @@ import Link from "next/link"; import { cn } from "@/lib/cn"; import { nav, site } from "@/lib/site"; +import { isExternalUrl } from "@/lib/url"; import { ThemeToggle } from "./theme-toggle"; import { ArrowUpRight } from "./ui/icons"; +const linkClass = cn( + "hidden items-center gap-1 rounded-md px-3 py-1.5 sm:inline-flex", + "text-muted-foreground transition-colors hover:text-foreground", +); + export function Navbar() { return (
@@ -23,20 +29,31 @@ export function Navbar() {