Skip to content

Dashboard#252

Closed
MKorolyova wants to merge 63 commits into
devfrom
dashboard
Closed

Dashboard#252
MKorolyova wants to merge 63 commits into
devfrom
dashboard

Conversation

@MKorolyova

@MKorolyova MKorolyova commented Jul 8, 2026

Copy link
Copy Markdown

Summary by CodeRabbit

  • New Features

    • Refreshed the public site with a redesigned landing page, FAQ, map, sponsor, and team sections.
    • Added a new Cloudflare deployment path and related preview/deploy commands.
  • Bug Fixes

    • Registration and RSVP availability now follow app-wide configuration more consistently.
    • Improved app styling, including theme colors, focus states, and mobile navigation.
  • Chores

    • Removed obsolete admin toggle screens and navigation controls no longer in use.

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 …
@coderabbitai

coderabbitai Bot commented Jul 8, 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: 579287d2-3419-4600-b800-72aed53374a1

📥 Commits

Reviewing files that changed from the base of the PR and between 1427c56 and 87147de.

⛔ 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 (130)
  • .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/dash/have-questions-background.webp
  • apps/web/public/img/assets/dash/lable-vertical.webp
  • apps/web/public/img/assets/dash/lable.webp
  • apps/web/public/img/assets/dash/lable1.webp
  • apps/web/public/img/assets/dash/lable2.webp
  • apps/web/public/img/assets/dash/time-background.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/layout.tsx
  • 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/dash/layout.tsx
  • apps/web/src/app/dash/page.tsx
  • apps/web/src/app/globals.css
  • apps/web/src/app/layout.tsx
  • 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/dash/overview/ClientBubbles.tsx
  • apps/web/src/components/dash/overview/ServerBubbles.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/registration/FormGroupWrapper.tsx
  • apps/web/src/components/registration/RegisterForm.tsx
  • apps/web/src/components/registration/RegistretionClosed.tsx
  • apps/web/src/components/shadcn/ui/button.tsx
  • apps/web/src/components/shadcn/ui/checkbox.tsx
  • apps/web/src/components/shadcn/ui/date-time-picker/date-field.tsx
  • apps/web/src/components/shadcn/ui/date-time-picker/time-field.tsx
  • apps/web/src/components/shadcn/ui/input.tsx
  • apps/web/src/components/shadcn/ui/select.tsx
  • apps/web/src/components/shadcn/ui/switch.tsx
  • apps/web/src/components/shadcn/ui/textarea.tsx
  • 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/constants/admin.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/tailwind.config.js
  • 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

This PR rebrands the site to RowdyHacks, adds OpenNext/Cloudflare deployment support, removes Redis-backed admin nav/registration toggle features in favor of static config flags, splits the DB client into Edge/Node variants, and redesigns the landing and dashboard UI with new decorative and QR/ticket components.

Changes

Deployment and Configuration

Layer / File(s) Summary
OpenNext Cloudflare setup
apps/web/open-next.config.ts, apps/web/wrangler.toml, apps/web/next.config.mjs, apps/web/package.json, package.json
Adds Cloudflare deployment config, scripts (preview/deploy/upload/cf-typegen), and dependencies (@opennextjs/cloudflare, wrangler, motion).
Environment/workspace cleanup
.env.example, apps/web/.gitignore, turbo.json, apps/web/src/env.ts
Removes NODE_ENV defaults, ignores build artifacts, and skips env validation in production.
DB client split
packages/db/index.ts, packages/db/node.ts
Moves the Node serverless libsql client into its own module, leaving index.ts with only the Edge client.
Rebrand config
packages/config/hackkit.config.ts
Updates icon assets, event type colors, and start date to RowdyHacks branding.

Registration/RSVP Config-Driven Gating

Layer / File(s) Summary
Config flags and admin nav removal
packages/config/hackkit.config.ts, apps/web/src/lib/constants/admin.ts
Adds registrationAvailable/rsvpAvailable/rsvpLimit/publicRoutes; removes the Toggles admin sidebar entry.
Shared closed-registration UI
apps/web/src/components/registration/RegistretionClosed.tsx
New component rendering the closed-registration message and navigation.
Page gating updates
apps/web/src/app/register/page.tsx, apps/web/src/app/rsvp/page.tsx, apps/web/src/app/sign-up/[[...sign-up]]/page.tsx
Switches from Redis lookups to config-driven flags and renders shared closed states.

Landing Page Redesign

Layer / File(s) Summary
Decorative primitives
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
Adds pin, positioning, and animated thread-connector utilities used across landing sections.
Hero/About/Map
apps/web/src/components/landing/Hero.tsx, About.tsx, Map.tsx
Rewrites hero animation, about content, and adds an interactive campus map.
Partners/Team/FAQ/Footer
apps/web/src/components/landing/Partners.tsx, PartnerCard.tsx, partners.json, WorkWithUs.tsx, Person.tsx, team.json, faq.tsx, faq.json, Footer.tsx, FooterLinks.tsx, CreatedWithHackkit.tsx, MLHBadge.tsx
Redesigns sponsor, team carousel, FAQ, and footer sections with new data and styling.
Page composition
apps/web/src/app/page.tsx
Reorders and adds landing sections including LandingThread, Map, and FAQ.

Dashboard Redesign

Layer / File(s) Summary
Countdown and ticket components
apps/web/src/components/dash/overview/ClientBubbles.tsx, ServerBubbles.tsx
Reworks countdown display and replaces bubble UI with QR/ticket components.
Dashboard page/layout
apps/web/src/app/dash/page.tsx, apps/web/src/app/dash/layout.tsx
Renders new ticket components and wraps content in updated layout containers.

Theme, Navigation, and Form Styling

Layer / File(s) Summary
Theme tokens and Tailwind colors
apps/web/src/app/globals.css, apps/web/tailwind.config.js
Switches color tokens to oklch/raw CSS variable references.
UI focus-ring styling
apps/web/src/components/shadcn/ui/*
Thins focus-visible ring styling across form controls.
Navbar and nav links
apps/web/src/components/shared/Navbar.tsx, NavbarItem.tsx, MobileNavbarMenu.tsx, MobileNavBarLinks.tsx, NavBarLinksGrouper.tsx, apps/web/src/app/admin/layout.tsx, apps/web/src/app/layout.tsx
Replaces Redis-fetched nav data with static links and updates navbar layout/fonts.
Registration form styling
apps/web/src/components/registration/RegisterForm.tsx, FormGroupWrapper.tsx
Applies updated fonts and card/border styling to form controls.

Estimated code review effort: 4 (Complex) | ~75 minutes

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Page as Register/RSVP/SignUp Page
  participant Config as hackkit.config
  participant DB
  participant RegisterClosed

  User->>Page: request page
  Page->>Config: read registrationAvailable / rsvpAvailable / rsvpLimit
  alt registration/RSVP disabled
    Page->>RegisterClosed: render closed UI
    RegisterClosed-->>User: show closed message
  else enabled
    Page->>DB: check RSVP count / user status
    DB-->>Page: current count
    Page-->>User: render form or redirect
  end
Loading

Possibly related PRs

  • acmutsa/HackKit#222: Both PRs modify .env.example environment variable definitions and enablement.
  • acmutsa/HackKit#241: Both PRs modify apps/web/src/app/admin/layout.tsx and its SidebarProvider usage.
✨ 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.

@MKorolyova MKorolyova closed this Jul 8, 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