Skip to content

Add footerΒ #1

Description

@AJaccP

🧠 Context

No footer exists yet. The app layout lives in src/App.tsx β€” it's a full-height flex column with a <Header /> at the top and a <main> that fills the remaining space. The footer should sit below <main>

The footer should contain:

  • The full CCSS logo (SVG asset β€” ask Jacc for the asset)
  • Copyright line using the current year dynamically: Β© {new Date().getFullYear()} Carleton Computer Science Society
  • A link to the GitHub repository: https://github.com/CarletonComputerScienceSociety/course-graph
  • Two short disclaimer lines:
    • "Not affiliated with or endorsed by Carleton University."
    • "Always verify course requirements in the official undergraduate calendar."

πŸ› οΈ Implementation Plan

  1. Place the logo asset at src/assets/ccss-logo.svg (ask Jacc for the file).

  2. Model the visual design after the footer on ccss.carleton.ca β€” our footer will have less content but should follow the same general layout and style.

  3. Create src/components/Footer.tsx and wire it into src/App.tsx below <main>.

  4. Run pnpm dev and check that the footer appears on both /explorer and /planner. Verify <main> still fills the remaining height correctly and the footer doesn't overlap content.


βœ… Acceptance Criteria

  • Footer is visible on both the Explorer and Planner routes
  • Contains CCSS logo
  • Copyright year is dynamic (new Date().getFullYear()) β€” not hardcoded
  • Contains a working link to the GitHub repository
  • Contains the disclaimer "Not affiliated with or endorsed by Carleton University."
  • Contains "Always verify course requirements in the official undergraduate calendar."
  • Main content area still fills available height correctly β€” footer does not overlap the graph or planner grid

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions