Skip to content

Committee List + Detail Pages UI#54

Merged
calebyhan merged 14 commits intocssgunc:mainfrom
pakxander10:ticket-13
Mar 24, 2026
Merged

Committee List + Detail Pages UI#54
calebyhan merged 14 commits intocssgunc:mainfrom
pakxander10:ticket-13

Conversation

@pakxander10
Copy link
Copy Markdown
Contributor

@pakxander10 pakxander10 commented Mar 16, 2026

Motivation
Committees are a key organizational unit of the senate. Students need to see what each committee does and who serves on it.

Deliverables
Build /committees/page.tsx with a card for each active committee showing: name, short description (truncated), chair name
Each card links to /committees/[id]
Build /committees/[id]/page.tsx with: full description, chair info (name, email, prominently displayed), and member roster table (name, role, email)
Wire to getCommittees() and getCommitteeById()
Handle 404 for invalid committee IDs
Important Notes
Depends on #7 (layout), #9 (API client)
Chair info should be visually distinct from the member list (e.g., separate card or highlighted row)
Use mock data if backend is not ready

Closes #46

KiNgRhIn08 and others added 11 commits February 21, 2026 18:01
…tion

Refactored the global header to use a three-tier stacked layout with
UNC branding, added a logo image, and enabled client-side routing
for navigation menu items.
The news detail page completes the news reading flow, and the homepage news tiles are the first content visitors see on the landing page. Together these deliver the core news experience end-to-end.

Deliverables
Build /news/[id]/page.tsx showing: full article title, image (full-width or large), author name, published date, last edited date, and full body content
Handle 404 / not found state with a friendly message
Build the homepage (/page.tsx) "Recent News" section: display the 3 most recent published news articles as tiles (image, title, description) with a "View All News" link to /news
Wire both to the API client (getNewsById, getNews with limit=3)
Important Notes
Depends on Shadcn Setup + Global Layout Shell + Navbar cssgunc#7 (layout) and TypeScript Types + API Client cssgunc#9 (API client)
The homepage will have more sections added in future sprints (carousel, calendar, finance hearing button, contact CTA) — build the news section as a self-contained component (src/components/home/RecentNews.tsx) so other sections can be added alongside it
News body content may be HTML or Markdown (TDD says body is TEXT) — for now render as plain text; rich text rendering can be added later
Use mock data if backend is not ready
@calebyhan calebyhan changed the title Ticket 13 Committee List + Detail Pages UI Mar 24, 2026
Copy link
Copy Markdown
Contributor

@calebyhan calebyhan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

small changes, LGTM. thanks!

@calebyhan calebyhan merged commit 441d6e5 into cssgunc:main Mar 24, 2026
2 checks passed
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.

Committee List + Detail Pages UI

3 participants