Skip to content

fix: use next/link for internal navigation#264

Open
adliebe wants to merge 1 commit into
profullstack:masterfrom
adliebe:fix/internal-page-links
Open

fix: use next/link for internal navigation#264
adliebe wants to merge 1 commit into
profullstack:masterfrom
adliebe:fix/internal-page-links

Conversation

@adliebe
Copy link
Copy Markdown

@adliebe adliebe commented May 27, 2026

Submitted for the active Ugig request to test the repo, file bugs, and submit PR fixes: https://ugig.net/gigs/abd6b2a0-e728-48cf-a46f-f99e419ed94e

Bug report: #263

Fix:

  • Replaces raw internal <a href="/..."> links with next/link in the blog detail back link, gigs/for-hire cross-links, and investor page CTA links.
  • Leaves the mailto: investor contact link as a normal anchor.
  • Removes the current @next/next/no-html-link-for-pages warnings for these routes.

Validation:

  • pnpm exec prettier --check src/app/blog/[slug]/page.tsx src/app/for-hire/[[...tags]]/page.tsx src/app/gigs/[[...tags]]/page.tsx src/app/investors/page.tsx
  • pnpm exec eslint src/app/blog/[slug]/page.tsx src/app/for-hire/[[...tags]]/page.tsx src/app/gigs/[[...tags]]/page.tsx src/app/investors/page.tsx
  • pnpm type-check
  • pnpm lint now reports 39 warnings instead of the 45-warning baseline; the internal page-link warnings fixed here are gone. Remaining warnings are pre-existing and unrelated.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 27, 2026

Greptile Summary

Converts raw <a href="..."> internal-page links to next/link <Link> components across four pages, resolving the @next/next/no-html-link-for-pages ESLint warnings. The mailto: investor-contact links are intentionally left as plain anchors.

  • blog detail, for-hire, gigs: Each had one internal cross-link converted to <Link>; Link was already imported in the gigs/for-hire pages, and is newly imported in the blog page.
  • investors page: Two CTA links (/funding, /mcp) converted to <Link>; both mailto: links correctly kept as <a> tags.
  • All non-functional changes are Prettier reformatting (line-length wrapping, arrow-function parens).

Confidence Score: 5/5

Safe to merge — all changes are minimal, targeted link replacements with no logic modifications.

Every changed line is either a → swap on an internal route or a Prettier reformat. The Link import is already present in the files that needed it, and the mailto: anchors are correctly left untouched. There are no logic changes, data flow modifications, or new dependencies introduced.

No files require special attention.

Important Files Changed

Filename Overview
src/app/blog/[slug]/page.tsx Adds import Link from 'next/link' and replaces the <a href='/blog'> back-link with <Link>; remaining changes are Prettier formatting only.
src/app/for-hire/[[...tags]]/page.tsx Replaces <a href='/gigs'> cross-link with <Link> (import already present); remaining changes are Prettier formatting and arrow-function parenthesis style.
src/app/gigs/[[...tags]]/page.tsx Replaces <a href='/for-hire'> cross-link with <Link> (import already present); remaining changes are Prettier formatting and arrow-function parenthesis style.
src/app/investors/page.tsx Adds import Link and replaces <a href='/funding'> and <a href='/mcp'> with <Link>; correctly retains both mailto: anchors as plain <a> tags.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["User on blog/for-hire/gigs/investors page"] --> B{"Link type?"}
    B -->|"Internal route (/blog, /gigs, /for-hire, /funding, /mcp)"| C["next/link <Link>\n(client-side navigation, prefetch)"]
    B -->|"External / mailto:"| D["Plain <a> tag\n(full page reload / email client)"]
    C --> E["No ESLint no-html-link-for-pages warning"]
    D --> F["Normal browser behaviour preserved"]
Loading

Reviews (1): Last reviewed commit: "fix: use next links for internal navigat..." | Re-trigger Greptile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant