feat: implement Twitter Cards metadata across all app pages#698
feat: implement Twitter Cards metadata across all app pages#698KingDavid9999 wants to merge 8 commits into
Conversation
- 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
|
@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! 🚀 |
|
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. |
|
Hi @RUKAYAT-CODER Conflicts resolved and line endings normalized. CI workflows are awaiting your approval to run. Ready for review! |
|
The workflow is still failing |
|
@RUKAYAT-CODER fixed already, kindly check and merge. thank you! |
|
@RUKAYAT-CODER work flow fixed. kindly merge. thank you |
Summary
Implements Twitter Cards metadata across the TeachLink application to improve social sharing previews and overall SEO quality.
Changes
src/app/layout.tsx): addedtwitterandopenGraphto the global metadata export, serving as the default fallback for all pagessrc/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)editor,search,study-groups,leaderboard, andprivacypages withtwitterandopenGraphfieldsgenerateMetadataintopics/[slug]andcourses/[courseId]to include Twitter Cards using computed valuessrc/app/__tests__/twitter-cards.test.ts): added unit tests asserting correct card types, titles, descriptions, and site handles across root, auth, dashboard, and profile layoutsType of Change
Testing
Checklist
import type { Metadata } from 'next', same object shape and formatting)Closes #378