From 32657bc1c2e4a6814d8284faad9aad77ca42881d Mon Sep 17 00:00:00 2001
From: ArshVermaGit
Date: Mon, 1 Jun 2026 04:02:29 +0530
Subject: [PATCH] fix(navigation): replace a tags with Next.js Link components
for SPA routing
---
src/app/compare/[users]/page.tsx | 13 +++++++------
src/app/dashboard/settings/page.tsx | 5 +++--
src/app/u/[username]/page.tsx | 17 +++++++++--------
src/components/landing/LandingPage.tsx | 9 +++++----
4 files changed, 24 insertions(+), 20 deletions(-)
diff --git a/src/app/compare/[users]/page.tsx b/src/app/compare/[users]/page.tsx
index 8d858947a..0ebe3509a 100644
--- a/src/app/compare/[users]/page.tsx
+++ b/src/app/compare/[users]/page.tsx
@@ -1,4 +1,5 @@
import { Metadata } from "next";
+import Link from "next/link";
import { Scale, Trophy } from "lucide-react";
import Image from "next/image";
import { normalizeGitHubUsername } from "@/lib/validate-github-username";
@@ -110,12 +111,12 @@ export default async function PublicProfileComparePage({
Shareable comparison built only from publicly visible DevTrack stats.
-
View profile
-
+
@@ -201,9 +202,9 @@ function CompareUnavailable({
);
@@ -235,12 +236,12 @@ function ProfileHeader({
className="h-14 w-14 rounded-full border border-[var(--border)]"
/>
-
@{profile.username}
-
+
{profile.streak.current} day streak - {profile.contributions.total} commits
diff --git a/src/app/dashboard/settings/page.tsx b/src/app/dashboard/settings/page.tsx
index 1d4995b81..1887e9040 100644
--- a/src/app/dashboard/settings/page.tsx
+++ b/src/app/dashboard/settings/page.tsx
@@ -1196,12 +1196,13 @@ function SettingsPageContent() {
-
Add GitHub Account
-
+
{removeError && (
diff --git a/src/app/u/[username]/page.tsx b/src/app/u/[username]/page.tsx
index 2a653574f..91f1e79db 100644
--- a/src/app/u/[username]/page.tsx
+++ b/src/app/u/[username]/page.tsx
@@ -1,6 +1,7 @@
export const dynamic = "force-dynamic";
import { Metadata } from "next";
+import Link from "next/link";
import { redirect } from "next/navigation";
import { getServerSession } from "next-auth";
import BadgeSection from "@/components/BadgeSection";
@@ -98,20 +99,20 @@ export default async function PublicProfilePage({
If this is your profile, go to{" "}
-
Settings
- {" "}
+ {" "}
and enable Public Profile.
-
Back to Home
-
+
);
@@ -149,20 +150,20 @@ export default async function PublicProfilePage({
GitHub activity and coding stats
{compareHref && (
-
Compare with me
-
+
)}
{!loggedInUsername && (
-
Log in to compare
-
+
)}
{/* Download stats card button — client component */}
diff --git a/src/components/landing/LandingPage.tsx b/src/components/landing/LandingPage.tsx
index 0d07a799c..5a0735536 100644
--- a/src/components/landing/LandingPage.tsx
+++ b/src/components/landing/LandingPage.tsx
@@ -2,6 +2,7 @@
import { useEffect, useRef, useState } from 'react';
import Image from "next/image";
+import Link from 'next/link';
/* ═══════════════════════════════════════════════════════════
PUBLIC TYPES
@@ -422,7 +423,7 @@ function HeroSection() {
{/* CTAs */}
-
Sign in with GitHub
-
+