Skip to content

Faq page#248

Closed
deeg454 wants to merge 63 commits into
devfrom
faq-page
Closed

Faq page#248
deeg454 wants to merge 63 commits into
devfrom
faq-page

Conversation

@deeg454

@deeg454 deeg454 commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

What

  • Full faq page and fixes to faq landing component ( added hover animation)

Summary by CodeRabbit

  • New Features

    • Added a new FAQ page with updated hackathon questions and answers.
    • Introduced refreshed landing-page sections, including a map, team carousel, sponsors area, and richer footer/navigation.
    • Updated the site’s visual theme with new branding, imagery, and motion effects.
  • Bug Fixes

    • Simplified registration and RSVP handling so availability is shown more consistently.
    • Improved layout and responsiveness across desktop and mobile views.

MKorolyova and others added 30 commits March 21, 2026 18:39
partner section, partners must be updated later
…in component, implement useFindPosition hook to calculate overlay positions
implement  map section with dynamic pin positioning, create reusable …
@deeg454 deeg454 requested a review from MKorolyova June 27, 2026 02:26
@coderabbitai

coderabbitai Bot commented Jun 27, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6d574930-456b-4550-9f56-95e41b4f544d

📥 Commits

Reviewing files that changed from the base of the PR and between 1427c56 and 5e9b63c.

⛔ Files ignored due to path filters (23)
  • apps/web/public/img/assets/about/confidential.svg is excluded by !**/*.svg
  • apps/web/public/img/assets/faq/FAQ.svg is excluded by !**/*.svg
  • apps/web/public/img/assets/faq/classified.svg is excluded by !**/*.svg
  • apps/web/public/img/assets/faq/finger-print.svg is excluded by !**/*.svg
  • apps/web/public/img/assets/faq/marker-circle4.svg is excluded by !**/*.svg
  • apps/web/public/img/assets/footer/discord_icon.svg is excluded by !**/*.svg
  • apps/web/public/img/assets/footer/rh-city-logo-black.svg is excluded by !**/*.svg
  • apps/web/public/img/assets/hero/marker-circle3.svg is excluded by !**/*.svg
  • apps/web/public/img/assets/hero/rh-logo.svg is excluded by !**/*.svg
  • apps/web/public/img/assets/hero/top-secret.svg is excluded by !**/*.svg
  • apps/web/public/img/assets/map/red-circle1.svg is excluded by !**/*.svg
  • apps/web/public/img/assets/red-thread.svg is excluded by !**/*.svg
  • apps/web/public/img/assets/silver-pin.svg is excluded by !**/*.svg
  • apps/web/public/img/logo/rh-logo-black.png is excluded by !**/*.png
  • apps/web/public/img/logo/rh-logo-black.svg is excluded by !**/*.svg
  • apps/web/public/img/partner-logos/HEB.svg is excluded by !**/*.svg
  • apps/web/public/img/powered-by-vercel.svg is excluded by !**/*.svg
  • apps/web/public/img/sponsors/empty-paper.svg is excluded by !**/*.svg
  • apps/web/public/img/sponsors/sponsors-background.png is excluded by !**/*.png
  • apps/web/public/img/sponsors/sponsors-background.svg is excluded by !**/*.svg
  • apps/web/public/img/sponsors/sponsors-header-background.svg is excluded by !**/*.svg
  • package-lock.json is excluded by !**/package-lock.json
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (108)
  • .env.example
  • apps/web/.gitignore
  • apps/web/next.config.mjs
  • apps/web/open-next.config.ts
  • apps/web/package.json
  • apps/web/public/img/assets/about/about.webp
  • apps/web/public/img/assets/about/about1.webp
  • apps/web/public/img/assets/about/about2.webp
  • apps/web/public/img/assets/about/about_photos.webp
  • apps/web/public/img/assets/background.webp
  • apps/web/public/img/assets/buttons/blank-tape-stickers1.webp
  • apps/web/public/img/assets/buttons/blank-tape-stickers2.webp
  • apps/web/public/img/assets/hero/hero.webp
  • apps/web/public/img/assets/hero/logo-background.webp
  • apps/web/public/img/assets/hero/register/blank-tape-stickers3.webp
  • apps/web/public/img/assets/logo_stamp.webp
  • apps/web/public/img/assets/map/SP1.webp
  • apps/web/public/img/assets/map/main-campus.webp
  • apps/web/public/img/assets/map/map-background.webp
  • apps/web/public/img/assets/map/pin4.webp
  • apps/web/public/img/assets/map/pin5.webp
  • apps/web/public/img/assets/menu/menu.webp
  • apps/web/public/img/assets/menu/pin1.webp
  • apps/web/public/img/assets/team/Abrar Ahmed.webp
  • apps/web/public/img/assets/team/Alekzander Brysch.webp
  • apps/web/public/img/assets/team/Anam Sultana.webp
  • apps/web/public/img/assets/team/Anh Doan.webp
  • apps/web/public/img/assets/team/Ash Hernandez.webp
  • apps/web/public/img/assets/team/Blessy Kalluri.webp
  • apps/web/public/img/assets/team/Camille Hart.webp
  • apps/web/public/img/assets/team/Cayden Hutcheson.webp
  • apps/web/public/img/assets/team/Diego Medina.webp
  • apps/web/public/img/assets/team/Dyshana Torres Rivera.webp
  • apps/web/public/img/assets/team/Elisa Moran.webp
  • apps/web/public/img/assets/team/Eric Lee.webp
  • apps/web/public/img/assets/team/Evelynn Donaldson.webp
  • apps/web/public/img/assets/team/Francisco Epinoza.webp
  • apps/web/public/img/assets/team/Josie Sauceda.webp
  • apps/web/public/img/assets/team/Layla Mendiola.webp
  • apps/web/public/img/assets/team/Martin Llano.webp
  • apps/web/public/img/assets/team/Maryna Korolova.webp
  • apps/web/public/img/assets/team/Miguel Oseguera.webp
  • apps/web/public/img/assets/team/Paula Com.webp
  • apps/web/public/img/assets/team/Reese Sylvester.webp
  • apps/web/public/img/assets/team/Rufat Niftaliyev.webp
  • apps/web/public/img/assets/team/Savanah Schaefer.webp
  • apps/web/public/img/assets/team/Scherly Ramirez.webp
  • apps/web/public/img/assets/team/Shaun Philippe.webp
  • apps/web/public/img/assets/team/Tochi Kalu.webp
  • apps/web/public/img/assets/team/Tri Nguyen.webp
  • apps/web/public/img/assets/team/Victoria Rivas.webp
  • apps/web/src/actions/admin/modify-nav-item.ts
  • apps/web/src/actions/admin/registration-actions.ts
  • apps/web/src/app/admin/toggles/dashboard/page.tsx
  • apps/web/src/app/admin/toggles/landing/page.tsx
  • apps/web/src/app/admin/toggles/layout.tsx
  • apps/web/src/app/admin/toggles/page.tsx
  • apps/web/src/app/admin/toggles/registration/page.tsx
  • apps/web/src/app/faq/faq-client.tsx
  • apps/web/src/app/faq/faq.json
  • apps/web/src/app/faq/page.tsx
  • apps/web/src/app/globals.css
  • apps/web/src/app/page.tsx
  • apps/web/src/app/register/page.tsx
  • apps/web/src/app/rsvp/page.tsx
  • apps/web/src/app/sign-up/[[...sign-up]]/page.tsx
  • apps/web/src/components/admin/toggles/NavItemsManager.tsx
  • apps/web/src/components/admin/toggles/RegistrationSettings.tsx
  • apps/web/src/components/admin/toggles/ToggleItem.tsx
  • apps/web/src/components/admin/toggles/UpdateItemWithConfirmation.tsx
  • apps/web/src/components/landing/About.tsx
  • apps/web/src/components/landing/CreatedWithHackkit.tsx
  • apps/web/src/components/landing/Footer.tsx
  • apps/web/src/components/landing/FooterLinks.tsx
  • apps/web/src/components/landing/Hero.tsx
  • apps/web/src/components/landing/LandingThread.tsx
  • apps/web/src/components/landing/MLHBadge.tsx
  • apps/web/src/components/landing/Map.tsx
  • apps/web/src/components/landing/PartnerCard.tsx
  • apps/web/src/components/landing/Partners.tsx
  • apps/web/src/components/landing/Person.tsx
  • apps/web/src/components/landing/Pin.tsx
  • apps/web/src/components/landing/TeamMember.tsx
  • apps/web/src/components/landing/WorkWithUs.tsx
  • apps/web/src/components/landing/faq.json
  • apps/web/src/components/landing/faq.tsx
  • apps/web/src/components/landing/partners.json
  • apps/web/src/components/landing/team.json
  • apps/web/src/components/shared/MobileNavBarLinks.tsx
  • apps/web/src/components/shared/MobileNavbarMenu.tsx
  • apps/web/src/components/shared/NavBarLinksGrouper.tsx
  • apps/web/src/components/shared/Navbar.tsx
  • apps/web/src/components/shared/NavbarItem.tsx
  • apps/web/src/env.ts
  • apps/web/src/hooks/findPosition.ts
  • apps/web/src/lib/utils/client/thread.ts
  • apps/web/src/lib/utils/server/redis.ts
  • apps/web/src/validators/shared/basicRedir.ts
  • apps/web/src/validators/shared/navitemtoggle.ts
  • apps/web/src/validators/shared/team.ts
  • apps/web/wrangler.toml
  • package.json
  • packages/config/hackkit.config.ts
  • packages/db/index.ts
  • packages/db/node.ts
  • packages/devtunnel/index.js
  • packages/devtunnel/package.json
  • turbo.json

Disabled knowledge base sources:

  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.


📝 Walkthrough

Walkthrough

The PR adds OpenNext/Cloudflare deployment config, switches navigation and registration flows to config-driven values, rewrites landing sections with new responsive visuals and thread overlays, and adds landing FAQ, footer, and page composition updates.

Changes

Site Refresh

Layer / File(s) Summary
Deployment and config
.env.example, apps/web/.gitignore, apps/web/next.config.mjs, apps/web/open-next.config.ts, apps/web/package.json, apps/web/wrangler.toml, package.json, turbo.json, apps/web/src/env.ts, packages/config/hackkit.config.ts, packages/db/index.ts, packages/db/node.ts
OpenNext/Wrangler scripts and settings are added, traced output includes @libsql/isomorphic-ws, environment and turbo config are updated, RowdyHacks branding/config values change, and the DB export splits into edge and node Drizzle clients.
Navigation and gating
apps/web/src/components/shared/NavBarLinksGrouper.tsx, apps/web/src/components/shared/NavbarItem.tsx, apps/web/src/components/shared/MobileNavBarLinks.tsx, apps/web/src/components/shared/MobileNavbarMenu.tsx, apps/web/src/components/shared/Navbar.tsx, apps/web/src/app/register/page.tsx, apps/web/src/app/rsvp/page.tsx, apps/web/src/app/sign-up/[[...sign-up]]/page.tsx, apps/web/src/validators/shared/basicRedir.ts
The navbar now reads from a static link list and mobile menu, while register, RSVP, and sign-up pages switch to config-driven availability checks; the redirect validator is removed.
Landing thread primitives
apps/web/src/app/globals.css, apps/web/src/components/landing/Pin.tsx, apps/web/src/hooks/findPosition.ts, apps/web/src/lib/utils/client/thread.ts, apps/web/src/components/landing/LandingThread.tsx
The theme palette, background image, and .pin utility change, and new Pin, findPosition, and thread utilities mount and redraw the landing thread overlay from client-side layout measurements.
Hero, About, and map
apps/web/src/components/landing/About.tsx, apps/web/src/components/landing/Hero.tsx, apps/web/src/components/landing/Map.tsx, apps/web/src/components/landing/MLHBadge.tsx
About, Hero, Map, and the MLH badge are rewritten with client-side fonts, motion effects, positioned pins, responsive image layouts, and animated map labels.
Sponsors and team carousel
apps/web/src/components/landing/Person.tsx, apps/web/src/components/landing/partners.json, apps/web/src/components/landing/team.json, apps/web/src/components/landing/PartnerCard.tsx, apps/web/src/components/landing/Partners.tsx, apps/web/src/components/landing/WorkWithUs.tsx
The person and partner data shapes change, partner cards and the sponsors section are reworked, and WorkWithUs becomes a responsive carousel sourced from team.json.
Footer assembly
apps/web/src/components/landing/CreatedWithHackkit.tsx, apps/web/src/components/landing/FooterLinks.tsx, apps/web/src/components/landing/Footer.tsx
The footer is rebuilt from reusable link groups, new social/icon links, and updated branding text using the Shadows_Into_Light font.
Landing FAQ component
apps/web/src/components/landing/faq.json, apps/web/src/components/landing/faq.tsx
The landing FAQ data and component are added with responsive two-column and mobile layouts, hover motion, and a linked callout to the dedicated FAQ route.
Home and FAQ pages
apps/web/src/app/page.tsx, apps/web/src/app/faq/faq.json, apps/web/src/app/faq/faq-client.tsx, apps/web/src/app/faq/page.tsx
The home page order is reshuffled to insert the new landing thread, map, FAQ, and footer sections, and the /faq route renders FAQClient inside the shared landing shell.

Sequence Diagram(s)

sequenceDiagram
  participant LandingThread
  participant mountLandingThread
  participant connectElementsWithThread
  participant ResizeObserver
  participant document
  LandingThread->>mountLandingThread: call on mount
  mountLandingThread->>connectElementsWithThread: draw landing thread overlay
  mountLandingThread->>ResizeObserver: observe document and .pin elements
  document-->>mountLandingThread: fonts.ready resolves
  ResizeObserver-->>mountLandingThread: layout or size change
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • acmutsa/HackKit#222: Adjusts .env.example entries around NODE_ENV and related env keys, which overlaps with the environment-template changes here.

Poem

I hopped through threads of red and light,
and found new maps beneath the night.
FAQ crumbs and footer bells now sing,
while bunny paws tap deploy in spring. 🐰
My whiskers twitch—this site can fly!

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@deeg454 deeg454 closed this Jun 27, 2026
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.

5 participants