From 44073498ed929bca08025b9e92c419ba5d81bbd1 Mon Sep 17 00:00:00 2001 From: Ben Senescu <44480372+bensenescu@users.noreply.github.com> Date: Fri, 22 May 2026 21:29:45 -0400 Subject: [PATCH] Use TanStack links for internal table and shell navigation (#215) * Use TanStack Link for audit issues and external RD links * Use router link for billing menu * Fix brand lookup tooltip clipping --- .../components/BrandLookupResults.tsx | 4 ++-- .../features/audit/results/ResultsTables.tsx | 9 +++++--- .../backlinks/ReferringDomainsTable.tsx | 23 +++++++++++-------- src/client/layout/AppShell.tsx | 4 ++-- 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/client/features/ai-search/components/BrandLookupResults.tsx b/src/client/features/ai-search/components/BrandLookupResults.tsx index a7d68d4..553f38e 100644 --- a/src/client/features/ai-search/components/BrandLookupResults.tsx +++ b/src/client/features/ai-search/components/BrandLookupResults.tsx @@ -112,7 +112,7 @@ function BrandHeader({ result }: { result: BrandLookupResult }) { function KpiTiles({ result }: { result: BrandLookupResult }) { return ( -
+
diff --git a/src/client/features/audit/results/ResultsTables.tsx b/src/client/features/audit/results/ResultsTables.tsx index 7995607..6745f23 100644 --- a/src/client/features/audit/results/ResultsTables.tsx +++ b/src/client/features/audit/results/ResultsTables.tsx @@ -4,6 +4,7 @@ import { type ColumnDef, type SortingState, } from "@tanstack/react-table"; +import { Link } from "@tanstack/react-router"; import { ExternalLink } from "lucide-react"; import { AppDataTable, @@ -330,12 +331,14 @@ function buildPerformanceColumns({ header: () => "Issues", cell: ({ row }) => row.original.r2Key && !isLighthouseFailure(row.original) ? ( - View issues - + ) : ( - ), diff --git a/src/client/features/backlinks/ReferringDomainsTable.tsx b/src/client/features/backlinks/ReferringDomainsTable.tsx index 14cc1bb..7367717 100644 --- a/src/client/features/backlinks/ReferringDomainsTable.tsx +++ b/src/client/features/backlinks/ReferringDomainsTable.tsx @@ -3,7 +3,6 @@ import { type SortingFn, type SortingState, } from "@tanstack/react-table"; -import { Link } from "@tanstack/react-router"; import { useState } from "react"; import { AppDataTable, @@ -24,6 +23,7 @@ import { formatDecimal, formatNumber, } from "./backlinksPageUtils"; +import { BacklinksExternalLink } from "./BacklinksPageLinks"; type ReferringDomainRow = BacklinksOverviewData["referringDomains"][number]; @@ -60,14 +60,11 @@ const columns = [ const domain = getValue(); if (!domain) return "-"; return ( - - {domain} - + ); }, sortingFn: stringNullsLast, @@ -157,6 +154,14 @@ const columns = [ const DEFAULT_SORTING: SortingState = [{ id: "backlinks", desc: true }]; +function getDomainWebsiteHref(domain: string) { + try { + return new URL(domain).toString(); + } catch { + return `https://${domain}`; + } +} + export function ReferringDomainsTable({ rows, }: { diff --git a/src/client/layout/AppShell.tsx b/src/client/layout/AppShell.tsx index aff6d1b..34c8f22 100644 --- a/src/client/layout/AppShell.tsx +++ b/src/client/layout/AppShell.tsx @@ -338,10 +338,10 @@ function AccountMenu({ mobileOnly = false }: { mobileOnly?: boolean }) { ) : null} {isHostedMode ? (
  • - + Billing - +
  • ) : null}