Skip to content

feat: implement Twitter Cards metadata across all app pages#698

Open
KingDavid9999 wants to merge 6 commits into
rinafcode:mainfrom
KingDavid9999:fixes-issue-#378
Open

feat: implement Twitter Cards metadata across all app pages#698
KingDavid9999 wants to merge 6 commits into
rinafcode:mainfrom
KingDavid9999:fixes-issue-#378

Conversation

@KingDavid9999

@KingDavid9999 KingDavid9999 commented Jun 26, 2026

Copy link
Copy Markdown

Summary
Implements Twitter Cards metadata across the TeachLink application to improve social sharing previews and overall SEO quality.

Changes

  • Root layout (src/app/layout.tsx): added twitter and openGraph to the global metadata export, serving as the default fallback for all pages
  • Auth group (src/app/(auth)/layout.tsx): created new server-side layout wrapper with Twitter Cards for login, signup, and verify-email pages (which are 'use client' and cannot export metadata directly)
  • Static pages: extended metadata on editor, search, study-groups, leaderboard, and privacy pages with twitter and openGraph fields
  • **Dynamic routes: extended generateMetadata in topics/[slug] and courses/[courseId] to include Twitter Cards using computed values
  • Tests (src/app/__tests__/twitter-cards.test.ts): added unit tests asserting correct card types, titles, descriptions, and site handles across root, auth, dashboard, and profile layouts

Type of Change

  • Bug fix / improvement (non-breaking change)

Testing

  • All new tests pass
  • No existing tests modified
  • Changes are purely additive, no logic, components, or routes were touched

Checklist

  • Twitter Cards implemented across all pages
  • Code follows existing project conventions (import type { Metadata } from 'next', same object shape and formatting)
  • No regression in existing functionality
  • Tests added and passing
  • Performance impact is minimal (static metadata, zero runtime cost)
  • Security considerations addressed (no user input reflected into meta tags)

Closes #378

- Add twitter and openGraph fields to root layout metadata (global default)
- Create (auth)/layout.tsx with Twitter Cards for login, signup, verify-email
- Extend metadata in editor, search, study-groups, leaderboard, privacy pages
- Add Twitter Cards to generateMetadata in topics/[slug] and courses/[courseId]
- Add unit tests to verify twitter card fields across layout files

Closes rinafcode#378
@drips-wave

drips-wave Bot commented Jun 26, 2026

Copy link
Copy Markdown

@KingDavid9999 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@RUKAYAT-CODER

Copy link
Copy Markdown
Contributor

Great job so far

There’s just one blocker — the workflow is failing. Could you take a look and fix it so all checks pass?

Happy to review again once that’s done.
You can pull from the main first before pushing. The workflow should pass

@KingDavid9999

KingDavid9999 commented Jun 27, 2026

Copy link
Copy Markdown
Author

Hi @RUKAYAT-CODER Conflicts resolved and line endings normalized. CI workflows are awaiting your approval to run. Ready for review!

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.

chore Token Refresh : Twitter Cards

2 participants