Skip to content

(SP: 1) [Frontend] About Us Page. Fixed game, topics, mobile layout#183

Merged
ViktorSvertoka merged 1 commit into
developfrom
yd/feat/about/page-improvements
Jan 22, 2026
Merged

(SP: 1) [Frontend] About Us Page. Fixed game, topics, mobile layout#183
ViktorSvertoka merged 1 commit into
developfrom
yd/feat/about/page-improvements

Conversation

@yevheniidatsenko
Copy link
Copy Markdown
Collaborator

@yevheniidatsenko yevheniidatsenko commented Jan 22, 2026

Description

The InteractiveGame now features proper collision detection, level progression with 4 obstacle types (ground, flying, fast, tall), and responsive sizing for mobile devices. TopicsSection now uses local SVG icons with colored hover borders matching each technology's brand color. DynamicGridBackground was refactored to make the static grid opt-in, preventing it from showing on other pages like Q&A.


Related Issue

Issue: N/A


Changes

  • FeaturesSection: Mobile tabs now show icons only, full text on desktop
  • InteractiveGame: Fixed collision detection, added 4 obstacle types, level progression, mobile sizing
  • TopicsSection: Switched to local SVGs, added colored hover borders in dark mode
  • DynamicGridBackground: Added showStaticGrid prop (defaults to false)
  • SponsorsWall: Limited display to max 10 sponsors
  • CommunitySection: Separate mobile/desktop button layouts

Database Changes (if applicable)

  • N/A - No database changes

How Has This Been Tested?

  • Tested locally
  • Checked responsive layout (if UI-related)

Checklist

Before submitting

  • Code has been self-reviewed
  • No TypeScript or console errors
  • Code follows project conventions
  • Scope is limited to this feature/fix
  • No unrelated refactors included
  • English used in code, commits, and docs
  • New dependencies discussed with team
  • GitHub Projects card moved to In Review

Reviewers

Summary by CodeRabbit

  • New Features

    • Enhanced interactive game with obstacle progression, physics-based jumping, level system, and high score tracking.
  • Improvements

    • Improved mobile responsiveness across About page sections.
    • Enhanced dark mode support throughout the app.
    • Redesigned feature selection interface for better usability.
    • Optimized hero section grid visualization.
    • Migrated to local icon assets for improved performance.
    • Limited sponsors display for cleaner presentation.

✏️ Tip: You can customize this high-level summary in your review settings.

- Fixed mobile tabs in FeaturesSection (icon-only on mobile)
- Fixed game bugs: collision detection, animation, scoring system
- Added multiple obstacle types with level progression
- Improved game sizing for mobile while preserving desktop
- Updated TopicsSection with local SVG icons and hover borders
- Made DynamicGridBackground static grid opt-in via showStaticGrid prop
- Limited SponsorsWall to display max 10 sponsors
- Optimized CommunitySection button layout for mobile
@netlify
Copy link
Copy Markdown

netlify Bot commented Jan 22, 2026

Deploy Preview for develop-devlovers ready!

Name Link
🔨 Latest commit 3f22192
🔍 Latest deploy log https://app.netlify.com/projects/develop-devlovers/deploys/69724e9e8ea5180008ae82a5
😎 Deploy Preview https://deploy-preview-183--develop-devlovers.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jan 22, 2026

📝 Walkthrough

Walkthrough

The pull request updates the About page with styling utilities, refactors multiple UI components for improved responsiveness and layout structure, and introduces a comprehensive obstacle-based game system with physics-based jumping, level progression, collision detection, and high score persistence.

Changes

Cohort / File(s) Summary
CSS & Styling Utilities
frontend/app/globals.css
Added .scrollbar-hide utility class with cross-browser support (IE/Edge, Firefox, WebKit) for hiding horizontal scrollbars.
About Page UI Components
frontend/components/about/CommunitySection.tsx, frontend/components/about/FeaturesSection.tsx, frontend/components/about/SponsorsWall.tsx, frontend/components/about/TopicsSection.tsx
Restructured mobile/desktop CTAs with responsive layouts; replaced tab-like feature controls with compact inline-flex button group; limited sponsors display to first 10 items; removed per-topic dynamic styling from image classes.
About Page Hero & Interactive Components
frontend/components/about/HeroSection.tsx, frontend/components/about/InteractiveGame.tsx
Added static grid rendering toggle to HeroSection; replaced InteractiveGame with comprehensive obstacle-based system featuring physics-style jump mechanics, level-based progression with speed multipliers, collision detection, localStorage-persisted high scores, responsive mobile/desktop layouts, and dynamic obstacle rendering with lucide-react icons.
Shared Components
frontend/components/shared/DynamicGridBackground.tsx
Introduced optional showStaticGrid prop to conditionally render static grid overlay; maintains existing dynamic mask behavior.
Data & Configuration
frontend/data/about.ts
Replaced external topic icon URLs with local /icons/*.svg paths; expanded color classes with dark mode variants; removed Next.js icon invert property.

Sequence Diagram

sequenceDiagram
    participant RAF as RequestAnimationFrame Loop
    participant Player as Player State
    participant Obstacle as Obstacle System
    participant Collision as Collision Detection
    participant Score as Score/Level Manager
    participant Render as UI Renderer

    loop Game Loop
        RAF->>Player: Update jump height & position based on physics
        RAF->>Obstacle: Calculate new obstacle position with speed multiplier
        RAF->>Collision: Check player-obstacle intersection
        alt Collision Detected
            Collision->>Score: Game Over
            Score->>Render: Show game over state & retry prompt
        else No Collision
            Collision->>Score: Continue game
            alt Score Milestone Reached
                Score->>Obstacle: Increase speed & unlock new obstacle types (level up)
                Score->>Render: Flash level-up visual feedback
            end
            Score->>Render: Update score, high score, level
            Obstacle->>Render: Render obstacle with icon based on type
            Player->>Render: Render player at current position
        end
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Possibly related PRs

Suggested labels

UI, refactor

Suggested reviewers

  • AM1007
  • ViktorSvertoka

Poem

🐰 A little bunny hops with glee,
Through grids that dance dynamically!
With obstacles to leap and bound,
And games refined on every ground.

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
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.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the primary changes across the About Us page, covering game fixes, topics updates, and mobile layout improvements.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

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 and usage tips.

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.

2 participants