Skip to content

Khixsitefix#491

Merged
Adr1an04 merged 8 commits into
mainfrom
khixsitefix
Jul 12, 2026
Merged

Khixsitefix#491
Adr1an04 merged 8 commits into
mainfrom
khixsitefix

Conversation

@cataladev

@cataladev cataladev commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Why

What

fixes the following

  1. when hover head w long name it bugs tf out, instead of doing 2 lines just do 1 and make font smaller or maybe dont push down the team like have name and teams be separate viewports w enough distance to not allow that bug to happen

^^^^^ went with making font smaller

  1. track click has weird bug on 3rd click that resets the position of the leaves instead of continuing the animation from the state it was in after the 2nd click

  2. faq sections arent clickable

Closes: #ISSUE_NUMBER

Test Plan

Checklist

  • Database: No schema changes, OR I ran pnpm db:generate and committed the generated files in packages/db/drizzle/
  • Environment Variables: No environment variables changed, OR I have contacted the Development Lead to modify them on Coolify BEFORE merging.

Summary by CodeRabbit

  • Visual Improvements
    • Refined dashboard layout layering and profile/lore backgrounds across breakpoints, including safer reduced-motion behavior.
    • Updated sponsor visuals: refreshed tier glow colors, added subtle mobile glisten effects, and improved sponsor team waterfall scrolling/stream offsets with new mobile artwork.
    • Polished animations (leaf movement, canopy leaf timing) and improved team-member name alignment.
  • Usability
    • Improved navbar badge visibility behavior on mobile and simplified navbar backdrop blur.
    • Ensured decorative separators don’t intercept clicks/taps.
  • Content Updates
    • Updated event date formatting and revised FAQ answers for clarity and location guidance.
  • Cleanup
    • Removed the internal component preview page.

cataladev and others added 3 commits July 12, 2026 00:41
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Codex <codex@openai.com>
@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@Adr1an04, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 53 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: f7c0ce7b-001c-419a-8725-c57a39b44fd1

📥 Commits

Reviewing files that changed from the base of the PR and between 29aeda9 and 750a8bd.

📒 Files selected for processing (1)
  • apps/khix/src/app/(portal)/_components/khix-dashboard.module.css
📝 Walkthrough

Walkthrough

The changes restructure dashboard layering around a new canvas wrapper, adjust navigation and responsive behavior, update leaf, sponsor, and waterfall visuals, revise event content, constrain long team-member names, and remove the test preview page.

Changes

Dashboard canvas layout

Layer / File(s) Summary
Canvas structure
apps/khix/src/app/(portal)/_components/khix-dashboard.tsx, apps/khix/src/app/(portal)/_components/khix-dashboard.module.css
Dashboard ornamentation and content now render inside .mainCanvas, which owns grid, overlay, and stacking behavior.
Responsive canvas behavior
apps/khix/src/app/(portal)/_components/khix-dashboard.module.css
Profile, lore, mobile, safe-area, and reduced-motion rules now target the canvas layer.

Visual effects

Layer / File(s) Summary
Leaf release animation
apps/khix/src/app/_components/sections/tracks/TracksSection.module.css
Leaf release fill mode and intermediate transforms now include configured leaf shifts.
Sponsor effects
apps/khix/src/app/_components/sponsor-showcase/*
Sponsor tier colors and glows change, while mobile glisten keyframes and reduced-motion handling are added.
Waterfall mobile rendering
apps/khix/src/app/_components/sections/sponsor-team/*, apps/khix/public/assets/sponsor-mobile/*
Waterfall offsets, masking, mobile assets, and droplet visibility are updated.

Presentation and interactions

Layer / File(s) Summary
Navigation visibility
apps/khix/src/app/_components/navbar/*
Navbar scroll and mobile-query handling now control MLH badge visibility independently, with updated responsive styling.
Team-member name display
apps/khix/src/app/_components/team-cascade/*
Long names receive a data attribute and use constrained, centered, responsive styling.
FAQ separator interaction
apps/khix/src/app/page.module.css
The waterfall FAQ separator no longer receives pointer events.

Content and cleanup

Layer / File(s) Summary
Event content updates
apps/khix/src/app/_components/sections/{about,faq,hero}/*, apps/khix/src/app/(portal)/_components/khix-dashboard.tsx
Event date formatting and FAQ answers are revised.
Test page removal
apps/khix/src/app/test/*
The standalone test preview page and its CSS module are removed.

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

Possibly related PRs

Suggested labels: Bug, Minor, Hack Sites

Suggested reviewers: Adr1an04, DVidal1205

🚥 Pre-merge checks | ✅ 6 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title is vague and does not meet the required issue-number format, so it doesn't clearly describe the change. Use a title like "[#491] Fix Khix site UI issues" and keep it under 72 characters.
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
No Hardcoded Secrets ✅ Passed Scanned PR-touched files and repo-wide secret patterns; no hardcoded keys/passwords/tokens found. Hits were false positives (sessionToken, checker text).
Validated Env Access ✅ Passed Scanned all PR-changed text files; none contain raw process.env outside allowed env/config files.
No Typescript Escape Hatches ✅ Passed Scanned all edited TS/TSX files; no any, @ts-ignore, @ts-expect-error, or postfix non-null assertions were found—only ordinary negation/JSX ! uses.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch khixsitefix

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.

@alexanderpaolini alexanderpaolini left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code changes look good to me

Only nitpick might be to make longTeamMemberNameLength SCREAMING_SNAKE_CASE

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🧹 Nitpick comments (1)
apps/khix/src/app/_components/team-cascade/TeamCascade.module.css (1)

221-242: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Consider adding overflow handling for extremely long names.

white-space: nowrap combined with max-width: min(100%, 32rem) means names that exceed the container width even at the reduced data-long-name font size will overflow visibly. The smaller font mitigates this for most cases, but there's no safety net for edge-case names.

Adding overflow: hidden or text-overflow: ellipsis would prevent potential layout breakage. Note that text-overflow: ellipsis typically requires a block/flex context rather than display: grid, so a simpler defensive option is overflow: hidden on the grid container.

♻️ Optional: add overflow safety
 .teamMemberName {
   --team-member-name-slot-height: clamp(1.6625rem, 3.8vw, 2.5175rem);

   display: grid;
   height: var(--team-member-name-slot-height);
   max-width: min(100%, 32rem);
+  overflow: hidden;
   margin: 0;
   place-items: center;
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/khix/src/app/_components/team-cascade/TeamCascade.module.css` around
lines 221 - 242, Add overflow protection to the .teamMemberName grid container
so extremely long nowrap names cannot extend beyond its max-width; use overflow:
hidden as the defensive behavior while preserving the existing sizing and
typography, including the data-long-name rule.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/khix/src/app/_components/sponsor-showcase/SponsorShowcase.module.css`:
- Around line 631-653: Rename the four newly added camelCase keyframe
definitions to kebab-case and update every corresponding animation reference in
the mobile media query and the additional occurrences near the later keyframe
blocks. Keep each animation mapped to its original effect while ensuring all
names satisfy Stylelint’s keyframes-name-pattern rule.

---

Nitpick comments:
In `@apps/khix/src/app/_components/team-cascade/TeamCascade.module.css`:
- Around line 221-242: Add overflow protection to the .teamMemberName grid
container so extremely long nowrap names cannot extend beyond its max-width; use
overflow: hidden as the defensive behavior while preserving the existing sizing
and typography, including the data-long-name rule.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 5f1ef192-ed17-4163-bf49-93e03aae858e

📥 Commits

Reviewing files that changed from the base of the PR and between fd9022b and 7ef61f1.

📒 Files selected for processing (11)
  • apps/khix/src/app/(portal)/_components/khix-dashboard.module.css
  • apps/khix/src/app/(portal)/_components/khix-dashboard.tsx
  • apps/khix/src/app/_components/navbar/Navbar.module.css
  • apps/khix/src/app/_components/sections/tracks/TracksSection.module.css
  • apps/khix/src/app/_components/sponsor-showcase/SponsorShowcase.module.css
  • apps/khix/src/app/_components/sponsor-showcase/SponsorShowcase.tsx
  • apps/khix/src/app/_components/team-cascade/TeamCascade.module.css
  • apps/khix/src/app/_components/team-cascade/TeamCascadeClient.tsx
  • apps/khix/src/app/page.module.css
  • apps/khix/src/app/test/page.module.css
  • apps/khix/src/app/test/page.tsx
💤 Files with no reviewable changes (2)
  • apps/khix/src/app/test/page.module.css
  • apps/khix/src/app/test/page.tsx

Comment on lines +631 to +653
@media (max-width: 760px), (hover: none) {
.sponsorLink:not(:focus-visible) .rockFrame::before {
animation: sponsorMobileRockGlisten 20s ease-in-out var(--rune-delay)
infinite;
}

.sponsorLink:not(:focus-visible) .rockFrame::after {
animation: sponsorMobileTintGlisten 20s ease-in-out var(--rune-delay)
infinite;
}

.sponsorLink:not(:focus-visible) .rockSheen {
animation: sponsorMobileSheenGlisten 20s ease-in-out var(--rune-delay)
infinite;
}

.sponsorLink:not(:focus-visible) .rockShine {
opacity: 0;
animation: sponsorMobileShineGlisten 20s ease-in-out var(--rune-delay)
infinite;
will-change: background-position;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Rename keyframes to kebab-case to fix Stylelint violations.

Stylelint's keyframes-name-pattern rule requires kebab-case names. All four new @keyframes blocks use camelCase, which will fail CI. The animation references at lines 633, 638, 643, and 649 must be updated to match.

♻️ Proposed fix: rename keyframes and update references
 /* Line 633 */
   .sponsorLink:not(:focus-visible) .rockFrame::before {
-    animation: sponsorMobileRockGlisten 20s ease-in-out var(--rune-delay)
+    animation: sponsor-mobile-rock-glisten 20s ease-in-out var(--rune-delay)
       infinite;
   }

 /* Line 638 */
   .sponsorLink:not(:focus-visible) .rockFrame::after {
-    animation: sponsorMobileTintGlisten 20s ease-in-out var(--rune-delay)
+    animation: sponsor-mobile-tint-glisten 20s ease-in-out var(--rune-delay)
       infinite;
   }

 /* Line 643 */
   .sponsorLink:not(:focus-visible) .rockSheen {
-    animation: sponsorMobileSheenGlisten 20s ease-in-out var(--rune-delay)
+    animation: sponsor-mobile-sheen-glisten 20s ease-in-out var(--rune-delay)
       infinite;
   }

 /* Line 649 */
   .sponsorLink:not(:focus-visible) .rockShine {
     opacity: 0;
-    animation: sponsorMobileShineGlisten 20s ease-in-out var(--rune-delay)
+    animation: sponsor-mobile-shine-glisten 20s ease-in-out var(--rune-delay)
       infinite;
     will-change: background-position;
   }

 /* Line 853 */
-@keyframes sponsorMobileSheenGlisten {
+@keyframes sponsor-mobile-sheen-glisten {

 /* Line 864 */
-@keyframes sponsorMobileRockGlisten {
+@keyframes sponsor-mobile-rock-glisten {

 /* Line 879 */
-@keyframes sponsorMobileTintGlisten {
+@keyframes sponsor-mobile-tint-glisten {

 /* Line 890 */
-@keyframes sponsorMobileShineGlisten {
+@keyframes sponsor-mobile-shine-glisten {

Also applies to: 853-916

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/khix/src/app/_components/sponsor-showcase/SponsorShowcase.module.css`
around lines 631 - 653, Rename the four newly added camelCase keyframe
definitions to kebab-case and update every corresponding animation reference in
the mobile media query and the additional occurrences near the later keyframe
blocks. Keep each animation mapped to its original effect while ensuring all
names satisfy Stylelint’s keyframes-name-pattern rule.

Source: Linters/SAST tools

Adr1an04 and others added 2 commits July 12, 2026 11:37
Co-authored-by: Codex <codex@openai.com>

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🧹 Nitpick comments (1)
apps/khix/src/app/_components/navbar/Navbar.module.css (1)

682-698: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add .mlhTrustBadge to the reduced-motion transition: none list.

The badge has active transitions (opacity 300ms, transform 300ms, filter 180ms) that are not disabled under prefers-reduced-motion: reduce. The change removed .mlhTrustBadge from the animation: none rule (harmless since the badge uses transitions, not animations), but the badge was never added to the transition: none selector list either. Users who prefer reduced motion will still see the badge fade/slide.

♻️ Proposed fix: add `.mlhTrustBadge` to the transition list
   .brand,
   .link,
   .link::after,
   .socialLink,
   .menuButton,
   .menuIcon,
   .mobileLayer,
   .mobileSurface,
   .mobileMenu,
   .mobileLink,
-  .mobileSocialLink {
+  .mobileSocialLink,
+  .mlhTrustBadge {
     animation: none;
     transition: none;
   }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/khix/src/app/_components/navbar/Navbar.module.css` around lines 682 -
698, Update the reduced-motion selector list in the `.navbar` styles to include
`.mlhTrustBadge`, ensuring its opacity, transform, and filter transitions are
disabled under `prefers-reduced-motion: reduce`; do not add it back to the
animation rule.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/khix/src/app/_components/navbar/Navbar.tsx`:
- Around line 103-109: Update handleMobileNavChange to set isMlhHidden on every
media-query transition, including when event.matches is false, so the badge
reflects the current scroll position immediately after returning to desktop.
Preserve the existing mobile behavior and lastScrollY update.

---

Nitpick comments:
In `@apps/khix/src/app/_components/navbar/Navbar.module.css`:
- Around line 682-698: Update the reduced-motion selector list in the `.navbar`
styles to include `.mlhTrustBadge`, ensuring its opacity, transform, and filter
transitions are disabled under `prefers-reduced-motion: reduce`; do not add it
back to the animation rule.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 971bd250-4869-4608-b055-ee9355d8caa6

📥 Commits

Reviewing files that changed from the base of the PR and between 7ef61f1 and 29aeda9.

📒 Files selected for processing (15)
  • apps/khix/public/assets/sponsor-mobile/rocks-waterfall-bottom.webp
  • apps/khix/public/assets/sponsor-mobile/rocks-waterfall-top.webp
  • apps/khix/public/assets/sponsor-mobile/separator-rocks.webp
  • apps/khix/public/assets/sponsor-mobile/sponsor-rock-separator.webp
  • apps/khix/public/assets/sponsor-mobile/waterfall-animated-one.webp
  • apps/khix/public/assets/sponsor-mobile/waterfall-animated-three.webp
  • apps/khix/public/assets/sponsor-mobile/waterfall-animated-two.webp
  • apps/khix/src/app/(portal)/_components/khix-dashboard.tsx
  • apps/khix/src/app/_components/navbar/Navbar.module.css
  • apps/khix/src/app/_components/navbar/Navbar.tsx
  • apps/khix/src/app/_components/sections/about/AboutSection.tsx
  • apps/khix/src/app/_components/sections/faq/faq.tsx
  • apps/khix/src/app/_components/sections/hero/HeroTitle.tsx
  • apps/khix/src/app/_components/sections/sponsor-team/SponsorTeamSection.module.css
  • apps/khix/src/app/_components/sections/sponsor-team/WaterfallAtmosphere.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/khix/src/app/(portal)/_components/khix-dashboard.tsx

Comment thread apps/khix/src/app/_components/navbar/Navbar.tsx
@Adr1an04
Adr1an04 merged commit 65d8b41 into main Jul 12, 2026
11 checks passed
@Adr1an04
Adr1an04 deleted the khixsitefix branch July 12, 2026 15:47
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