Skip to content

fix: site optimizations - #40

Merged
theamankumarsingh merged 10 commits into
mainfrom
develop
Mar 1, 2026
Merged

theamankumarsingh merged 10 commits into
mainfrom
develop

Conversation

@theamankumarsingh

Copy link
Copy Markdown
Member

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR migrates the site from the legacy Pages Router to the Next.js App Router, while introducing a new shared theme wrapper and several UI/behavior optimizations (including GSAP-based background parallax and TopBar scroll handling).

Changes:

  • Migrate routes from pages/* to app/* and move most page bodies into new *Content components under src/components/*.
  • Introduce AppThemeWrapper to centralize shared layout/background rendering across pages.
  • Add/adjust client-only behavior for animations, search modal, filtering, and GA integration.

Reviewed changes

Copilot reviewed 127 out of 132 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tsconfig.json Enables Next TS plugin, strict null checks, and includes .next generated types.
src/lib/analytics.ts Removes legacy GA helper utilities used by the Pages Router _app.
src/data/inctf/promote.json Updates promote header copy and JSON formatting.
src/data/inctf/about.json Updates header copy (“Junior” -> removed).
src/components/writeups/WriteupsListingContent.tsx New client listing UI for writeups (search + category filter).
src/components/writeups/WriteupContent.tsx New client writeup detail renderer (markdown + styling).
src/components/trainings/TrainingsContent.tsx New client page content wrapper for trainings schedule.
src/components/talent/diversity/acessibility.tsx Updates chart title copy.
src/components/talent-incubation/TalentIncubationContent.tsx New client content for talent incubation page.
src/components/stats/StatsContent.tsx New client stats page content with year tabs + leaderboard.
src/components/start/StartContent.tsx New client “Get Started” landing composition.
src/components/ssi/SSIContent.tsx New client SSI landing composition.
src/components/sponsors/SponsorsContent.tsx New client sponsors page content.
src/components/shared/TopBar/search.tsx Adjusts search modal formatting and placeholder copy.
src/components/shared/TopBar/item.tsx Switches navigation anchors to Next <Link>.
src/components/shared/TopBar/index.tsx Marks TopBar client-side; optimizes scroll handler and updates logo rendering.
src/components/shared/StarfieldBackground.tsx Moves parallax to GSAP/ScrollTrigger + useGSAP integration.
src/components/shared/SocialMediaLinks.tsx Marks client-side and makes social links access safer with optional chaining.
src/components/shared/Logo.tsx Marks client-side and adds fallback logo behavior when context is missing.
src/components/shared/Footer.tsx Marks client-side and updates footer logo alt text.
src/components/shared/DecodedText.tsx Marks client-side.
src/components/shared/Breadcrumb.tsx Fixes key usage (removes random shortid keys).
src/components/shared/AppThemeWrapper.tsx New wrapper that provides config context + shared background/topbar framing.
src/components/rules/RulesContent.tsx New rules page content for App Router route.
src/components/resources/YoutubeVideos.tsx Improves TS typing for tag state and cleans up formatting.
src/components/resources/ResourcesContent.tsx New resources page content for App Router route.
src/components/promote/PromoteClientWrapper.tsx Adds client wrapper for Promote page rendering.
src/components/organizers/OrganizersContent.tsx New organizers page content for App Router route.
src/components/mission-outreach/MissionOutreachPageContent.tsx New App Router page content wrapper for mission outreach.
src/components/mission-outreach/HeroSection.tsx Tweaks responsive title sizing.
src/components/mission-control/MissionControlPageContent.tsx Reworks mission-control page to use AppThemeWrapper + GSAP scroll animation.
src/components/mission-brief/MissionBriefPageContent.tsx New App Router page content wrapper for mission brief.
src/components/mission-brief/MissionBriefContent.tsx Responsive padding + title sizing tweaks.
src/components/landing/search/SearchBar.tsx Migrates router usage to next/navigation.
src/components/landing/StatsCounter.tsx Improves TS typing for stats state.
src/components/landing/PastSponsorsMarquee.tsx Marks client-side.
src/components/landing/PastSpeakers.tsx Marks client-side; adjusts responsive card sizing + scrolling behavior.
src/components/landing/MissionCredentials.tsx Updates image alt text.
src/components/landing/MissionBrief.tsx Marks client-side.
src/components/landing/Header.tsx Marks client-side; tweaks layout + adds hydration warning suppression on wrapper.
src/components/landing/EarlyBirdPopup.tsx Replaces Framer Motion presence animation with GSAP + portal rendering.
src/components/landing/CrewRewards.tsx Marks client-side.
src/components/landing/CrewEligibility.tsx Marks client-side.
src/components/faq/filterUtils.ts Adds TS annotations and formatting cleanup.
src/components/faq/FAQContent.tsx New App Router FAQ content (uses useSearchParams + Suspense).
src/components/comingsoon/ComingSoonContent.tsx New “Coming Soon” content under App Router.
src/components/championship/ChampionshipContent.tsx New championship page content under App Router.
src/components/branding/BrandingContent.tsx New branding page content under App Router.
src/components/blog/BlogPostContent.tsx New blog post renderer content under App Router.
src/components/blog/BlogListingPageContent.tsx New blog listing renderer content under App Router.
src/components/ambassador/AmbassadorContent.tsx New ambassador page content under App Router.
src/components/advisory-board/AdvisoryBoardContent.tsx New advisory board page content under App Router.
src/components/about/stats/index.tsx Updates heading copy (“InCTF Jr 21” -> “Amrita InCTF”).
src/components/about/AboutContent.tsx New about page content under App Router.
src/components/TagSelector.tsx Tightens TS typing and formatting.
src/components/SiteView/index.tsx Marks client-side.
src/components/SiteView/head.tsx Makes meta optional and fixes optional chaining in title/image access.
src/components/SiteView/context.ts Marks client-side.
src/components/PromotePage.tsx Stabilizes list keys for promotional video items.
src/components/ProfileCard.tsx Adds explicit prop typing and formatting.
src/components/PageHeader.tsx Adds explicit prop typing and safer defaults for breadcrumb/description.
src/components/HallOfFame/YearlyLeaderboard.tsx Improves state typing, stabilizes keys, and updates copy.
src/components/HallOfFame/SchoolLeaderboard.tsx Removes unstable keys and updates copy.
package.json Adds GSAP dependencies and updates package set for App Router implementation.
next.config.js Updates Next config (removes standalone output; adds component caching flag).
next-env.d.ts Updates doc link comment for App Router TS docs.
app/writeups/page.tsx New App Router writeups listing route (server component builds writeups list).
app/writeup/[id]/page.tsx New App Router writeup detail route + static params + metadata generation.
app/trainings/page.tsx New trainings route metadata + page composition.
app/telegram/page.tsx Migrates Telegram redirect to App Router redirect().
app/talent-incubation/page.tsx New talent-incubation route metadata + composition.
app/stats/page.tsx New stats route metadata + composition.
app/start/page.tsx New start route metadata + composition.
app/ssi/page.tsx New SSI route metadata + composition.
app/sponsors/page.tsx New sponsors route metadata + composition.
app/rules/page.tsx New rules route metadata + composition.
app/resources/page.tsx New resources route metadata + composition.
app/register/page.tsx Migrates register redirect to App Router redirect().
app/publicize/page.tsx New publicize route metadata + promote wrapper.
app/promote/page.tsx New promote route metadata + promote wrapper.
app/privacy/page.tsx Migrates privacy redirect to App Router redirect().
app/posts/[slug]/page.tsx New blog post route + static params + metadata generation.
app/page.tsx New App Router landing page composition (server component).
app/organizers/page.tsx New organizers route metadata + composition.
app/not-found.tsx New App Router not-found route page.
app/mission-outreach/page.tsx New mission-outreach route metadata + composition.
app/mission-control/page.tsx New mission-control route metadata + composition.
app/mission-brief/page.tsx New mission-brief route metadata + composition.
app/layout.tsx New App Router root layout (global styles, GA integration, SDK script).
app/faq/page.tsx New FAQ route metadata + composition.
app/discord/page.tsx Migrates Discord redirect to App Router redirect().
app/comingsoon/page.tsx New comingsoon route metadata + composition.
app/championship/page.tsx New championship route metadata + composition.
app/branding/page.tsx New branding route metadata + composition.
app/blog/page.tsx New blog listing route (server component loads posts list).
app/ambassador/page.tsx New ambassador route metadata + composition.
app/advisory-board/page.tsx New advisory-board route metadata + composition.
app/about/page.tsx New about route metadata + composition.
pages/writeups.tsx Removes legacy Pages Router writeups listing page (migrated to App Router).
pages/writeup/[id].tsx Removes legacy Pages Router writeup detail page (migrated to App Router).
pages/trainings.tsx Removes legacy Pages Router trainings page (migrated to App Router).
pages/telegram.tsx Removes legacy Pages Router telegram redirect (migrated to App Router).
pages/talent-incubation.tsx Removes legacy Pages Router talent-incubation page (migrated to App Router).
pages/stats.tsx Removes legacy Pages Router stats page (migrated to App Router).
pages/start.tsx Removes legacy Pages Router start page (migrated to App Router).
pages/ssi.tsx Removes legacy Pages Router SSI page (migrated to App Router).
pages/sponsors.tsx Removes legacy Pages Router sponsors page (migrated to App Router).
pages/rules.tsx Removes legacy Pages Router rules page (migrated to App Router).
pages/resources.tsx Removes legacy Pages Router resources page (migrated to App Router).
pages/register.tsx Removes legacy Pages Router register redirect (migrated to App Router).
pages/publicize.tsx Removes legacy Pages Router publicize page (migrated to App Router).
pages/promote.tsx Removes legacy Pages Router promote page (migrated to App Router).
pages/privacy.tsx Removes legacy Pages Router privacy redirect (migrated to App Router).
pages/posts/[slug].tsx Removes legacy Pages Router blog post page (migrated to App Router).
pages/organizers.tsx Removes legacy Pages Router organizers page (migrated to App Router).
pages/mission-outreach.tsx Removes legacy Pages Router mission-outreach page (migrated to App Router).
pages/mission-brief.tsx Removes legacy Pages Router mission-brief page (migrated to App Router).
pages/index.tsx Removes legacy Pages Router landing page (migrated to App Router).
pages/faq.tsx Removes legacy Pages Router FAQ page (migrated to App Router).
pages/discord.tsx Removes legacy Pages Router discord redirect (migrated to App Router).
pages/comingsoon.tsx Removes legacy Pages Router comingsoon page (migrated to App Router).
pages/championship.tsx Removes legacy Pages Router championship page (migrated to App Router).
pages/branding.tsx Removes legacy Pages Router branding page (migrated to App Router).
pages/blog.tsx Removes legacy Pages Router blog listing page (migrated to App Router).
pages/ambassador.tsx Removes legacy Pages Router ambassador page (migrated to App Router).
pages/advisory-board.tsx Removes legacy Pages Router advisory-board page (migrated to App Router).
pages/about.tsx Removes legacy Pages Router about page (migrated to App Router).
pages/_document.tsx Removes legacy Pages Router custom document.
pages/_app.tsx Removes legacy Pages Router custom app and GA wiring.
pages/404.tsx Removes legacy Pages Router 404 page (replaced by App Router not-found.tsx).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/components/shared/StarfieldBackground.tsx
@theamankumarsingh
theamankumarsingh merged commit 7975762 into main Mar 1, 2026
6 of 14 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.

3 participants