Add newsletter and wiki archives - #61
Conversation
The newsletter navigation pointed to one mislabeled Wiki edition, leaving past publications difficult to find.\n\nAdd separate archive pages and responsive year menus so students can browse verified editions while unpublished years remain clearly marked.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
Centralize archive content so cards and menus use the same destinations. Add the supplied AY24/25 and AY25/26 Semester 1 newsletters from team-owned Blob storage.
There was a problem hiding this comment.
Pull request overview
This PR introduces internal Newsletter and Wiki archive pages (with “forthcoming” handling) and updates site navigation to point to these new archives, alongside improved dropdown/menu interaction support for desktop and mobile.
Changes:
- Added archive data models + concrete newsletter/wiki archive definitions and a shared archive page renderer.
- Added
/newsletterand/wikiroutes and updated the header to link to them (including mobile sheet behavior/accessibility tweaks). - Enhanced the custom dropdown to better support hover, keyboard navigation, and outside-click dismissal.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| lib/archive.ts | Defines archive types, newsletter/wiki archive data, and a year→anchor helper. |
| components/Header.tsx | Replaces the mislinked “NEWSLETTER” nav item with internal archive routing; adds WIKI nav item and improves mobile menu accessibility/scroll. |
| components/custom-dropdown.tsx | Improves dropdown interaction model (pointer + keyboard), ARIA, and external-link handling. |
| components/ArchivePage.tsx | Adds a reusable archive layout that renders yearly cards with editions or a forthcoming state. |
| app/wiki/page.tsx | Adds the Wiki archive route using the shared ArchivePage. |
| app/newsletter/page.tsx | Adds the Newsletter archive route using the shared ArchivePage. |
Suppressed comments (1)
components/custom-dropdown.tsx:213
z-9999is not a default Tailwind z-index utility (and there is no custom z-index scale defined), so this menu may render behind other UI unexpectedly. Use an arbitrary value (z-[9999]) or a standard token (e.g.z-50).
className={`fixed top-[calc(100%+4px)] left-1/2 z-9999 w-40 origin-top -translate-x-1/2 transform overflow-hidden rounded-md bg-white shadow-lg transition-all duration-300 md:absolute ${
isOpen
? 'scale-y-100 opacity-100'
: 'pointer-events-none scale-y-0 opacity-0'
}`}
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Closes #29
Summary
nusc-website-blobVercel Blob storeVerification
npm run build- passes, including compilation, TypeScript, and static generationnpx prettier --check app/newsletter/page.tsx- passesnpx eslint app/newsletter/page.tsx- passes; GitHublintcheck also passesapplication/pdf, 58,495,962 bytes, with SHA-256 matching the supplied PDF