Skip to content

feat: add branded custom 404 page in App Router#1010

Open
tmdeveloper007 wants to merge 3 commits into
Priyanshu-byte-coder:mainfrom
tmdeveloper007:patch-not-found
Open

feat: add branded custom 404 page in App Router#1010
tmdeveloper007 wants to merge 3 commits into
Priyanshu-byte-coder:mainfrom
tmdeveloper007:patch-not-found

Conversation

@tmdeveloper007
Copy link
Copy Markdown
Contributor

Closes #971.

Summary of What Has Been Done:
Created a custom branded 404 page in the Next.js App Router for DevTrack.

Changes Made:

  • Redesigned src/app/not-found.tsx with professional typography, rotated badge visual effects, and customized styles matching DevTrack theme system.
  • Added quick action navigation buttons to return to the Dashboard or Go Home.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 25, 2026

@TESTPERSONAL is attempting to deploy a commit to the PRIYANSHU DOSHI's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:feature GSSoC type bonus: new feature labels May 25, 2026
@github-actions
Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

The DashboardHeader renders the h1 as 'DASHBOARD' (all-caps via
design), but the Playwright selectors used an exact-case match
{ name: "Dashboard" } which never matched.

Changed all three heading assertions to /dashboard/i regex so they
match the actual DOM output and unblock every failing E2E test.
@github-actions github-actions Bot added the type:testing GSSoC type bonus: tests (+10 pts) label May 25, 2026
landing.spec.js:
- Remove assertion for 'DevTrack' h1 (hero reads 'YOUR CODE HAS A PULSE')
- Add .first() to 'Sign in with GitHub' link selectors (2 links on page,
  strict mode violation)
- Replace 'View on GitHub' link with '★ Star on GitHub' (actual text)

auth-bypass.spec.js:
- Add .first() to 'Sign in with GitHub' link (strict mode violation)
- Change heading assertions from exact 'Dashboard' to /dashboard/i regex

dashboard-widgets.spec.js:
- Add mock for /api/goals/sync so GoalTracker doesn't hang waiting for
  a real Supabase call (Goals heading was never rendering in CI)
- Add mocks for additional API routes hit on dashboard load
@Priyanshu-byte-coder
Copy link
Copy Markdown
Owner

Hi! This PR now has a merge conflict with main, likely on the shared e2e test files (e2e/dashboard-widgets.spec.js, e2e/auth-bypass.spec.js, e2e/landing.spec.js). Multiple PRs were merged recently and the e2e files updated. Please rebase onto the latest main:

git fetch origin
git rebase origin/main
# resolve any conflicts
git push --force-with-lease

Your actual feature/fix changes are valuable — we'd love to get this merged once rebased!

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

Labels

gssoc26 GSSoC 2026 contribution type:feature GSSoC type bonus: new feature type:testing GSSoC type bonus: tests (+10 pts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[GOOD FIRST ISSUE] Add 404 page with navigation back to home

2 participants