Skip to content

[Task] Migrate Landing Page #124

Description

@Chijex5

Task Name

Migrate Landing Page to Next.js App Router

Summary

Port the existing landing page from client/index.html to app/(public)/page.tsx using the Next.js App Router. Recreate the page's dynamic sections as reusable components and remove the starter app/page.tsx to prevent duplicate root routes.

Contribution Area

  • Frontend (HTML / CSS / JavaScript)

Description / Requirements

  • Port client/index.html to app/(public)/page.tsx.
  • Ensure the page inherits Navbar and Footer from the root layout.
  • Remove the starter app/page.tsx to avoid a duplicate / route.
  • Create a Features component containing feature cards and the trust banner.
  • Create a Voices component that fetches the latest 3 media resources on the client side and provides a static fallback.
  • Create a Contributors component with a team carousel and profile modal.
  • Create a Faqs component using an accordion interface.
  • Create a SuggestDrawer component with:
    • A floating action button (FAB).
    • A suggestion form.
    • Submission to /api/v1/suggestions.
  • Add lib/resources.ts.
  • Copy the suggest-drawer and resources stylesheets into migration/styles.

Acceptance Criteria

  • Landing page is rendered from app/(public)/page.tsx.
  • Starter app/page.tsx has been removed and no duplicate / route exists.
  • Features, Voices, Contributors, Faqs, and SuggestDrawer are implemented as separate components.
  • Voices fetches the latest 3 media resources and falls back to static content when necessary.
  • SuggestDrawer successfully posts suggestions to /api/v1/suggestions.
  • Required stylesheets are copied into migration/styles.
  • lib/resources.ts has been added.

Branch

Branch name: migrate-index-page

Linked Pull Request

PR: #125

Checklist

  • Branched from migration and PR targets migration
  • No console errors
  • Responsive layout works at 360px width
  • Accessibility basics covered (WCAG 2.1 AA)
  • No broken links

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions