Skip to content

fix(ui): improve testimonial and mentorship section consistency#1646

Open
vishalpatil-45 wants to merge 2 commits into
recodehive:mainfrom
vishalpatil-45:fix/testimonial-theme-readability
Open

fix(ui): improve testimonial and mentorship section consistency#1646
vishalpatil-45 wants to merge 2 commits into
recodehive:mainfrom
vishalpatil-45:fix/testimonial-theme-readability

Conversation

@vishalpatil-45
Copy link
Copy Markdown

Summary

This PR improves the testimonial and mentorship section UI to better align with the Recode Hive design system and improve readability/accessibility.

Changes Made

  • redesigned testimonial layout into responsive vertical scrolling columns
  • improved text readability and visual hierarchy
  • aligned mentorship and testimonial card layouts
  • improved spacing and responsive behavior
  • standardized card styling and dark-theme consistency
  • improved overall homepage visual balance

Screenshots

Before

image

After

image

Technical Notes

  • no new dependencies added
  • no backend/business logic changes
  • responsiveness preserved
  • accessibility and readability improved
  • animations optimized for smoother visual flow

Validation

  • verified responsive layouts on mobile/tablet/desktop
  • verified smooth infinite scrolling behavior
  • verified dark/light theme compatibility
  • verified no layout overflow issues

Closes #1608

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 22, 2026

@vishalpatil-45 is attempting to deploy a commit to the recode Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Copy Markdown

Thank you for submitting your pull request! 🙌 We'll review it as soon as possible. The estimated time for response is 5–8 hrs.

In the meantime, please provide all necessary screenshots and make sure you run - npm build run , command and provide a screenshot, a video recording, or an image of the update you made below, which helps speed up the review and assignment. If you have questions, reach out to LinkedIn. Your contributions are highly appreciated!😊

Note: I maintain the repo issue every day twice at 8:00 AM IST and 9:00 PM IST. If your PR goes stale for more than one day, you can tag and comment on this same issue by tagging @sanjay-kv.

We are here to help you on this journey of open source. Consistent 20 contributions are eligible for sponsorship 💰

🎁 check our list of amazing people we sponsored so far: GitHub Sponsorship. ✨

📚Your perks for contribution to this community 👇🏻

  1. Get free Consultation use code recode50 to get free: Mentorship for free.

  2. Get the Ebook for free use code recode at checkout: Data Science cheatsheet for Beginners.

  3. Check out this weekly Newsletter: Sanjay's Newsletter.

If there are any specific instructions or feedback regarding your PR, we'll provide them here. Thanks again for your contribution! 😊

@github-actions github-actions Bot added in-review The current changes are in review and would need approval and testing before merging level 1 10 points recode this is label for leaderboard labels May 22, 2026
@github-actions github-actions Bot added this to the recode:launch 3.0 milestone May 22, 2026
@github-actions
Copy link
Copy Markdown

✅ Synchronized metadata from Issue #1608:

  • Labels: level 1, recode
  • Milestone: recode:launch 3.0

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 updates the homepage Mentorship + Testimonials area to better match the site’s dark-premium styling and to rework testimonials into a vertical, multi-column scrolling layout.

Changes:

  • Adjusted homepage grid layout to place Mentorship and Testimonials side-by-side with updated spans.
  • Restyled Mentorship (TopMate) section header/card for consistent typography, spacing, and dark theme visuals.
  • Replaced the testimonials carousel with a 1–3 column infinite vertical scrolling layout and refreshed card styling.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/pages/index.tsx Updates the Mentorship/Testimonials grid to a 4-column layout and adjusts spans/overflow behavior.
src/components/topmate/TopMateSection.tsx Adds shared reveal animation variants and restyles the Mentorship section header/layout.
src/components/topmate/TopMateCard.tsx Redesigns the TopMate card visuals, content layout, and CTA styling for theme consistency.
src/components/testimonials/TestimonialCarousel.tsx Replaces embla carousel with a 3-column vertical infinite scroll testimonial presentation and new header styling.
src/components/testimonials/TestimonialCard.tsx Updates testimonial card styling and content structure to match the new premium theme.
Comments suppressed due to low confidence (2)

src/components/testimonials/TestimonialCarousel.tsx:80

  • This introduces an always-on infinite vertical scrolling animation (repeat: Infinity) without any reduced-motion handling. The repo already uses @media (prefers-reduced-motion: reduce) in other UI areas; consider using useReducedMotion() (framer-motion) or a CSS media query to disable/stop the animation when the user prefers reduced motion.
      <motion.ul
        initial={{ y: -offset }}
        animate={{ y: -offset - cycleHeight }}
        transition={{
          duration,
          repeat: Infinity,
          ease: "linear",
          repeatType: "loop",
        }}

src/components/testimonials/TestimonialCarousel.tsx:187

  • revealVariants is cast to any, which triggers the repo's @typescript-eslint/no-explicit-any rule and removes type-safety for the framer-motion variants (especially with custom). Prefer typing this as Variants (from framer-motion) instead of using as any.
const revealVariants = {
  hidden: { opacity: 0, y: 16, filter: "blur(6px)" },
  visible: (i: number) => ({
    opacity: 1,
    y: 0,
    filter: "blur(0px)",
    transition: {
      delay: i * 0.12,
      duration: 0.5,
      ease: [0.215, 0.61, 0.355, 1],
    },
  }),
} as any;

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

Comment on lines +6 to +18
const revealVariants = {
hidden: { opacity: 0, y: 16, filter: "blur(6px)" },
visible: (i: number) => ({
opacity: 1,
y: 0,
filter: "blur(0px)",
transition: {
delay: i * 0.12,
duration: 0.5,
ease: [0.215, 0.61, 0.355, 1],
},
}),
} as any;
Comment thread src/components/topmate/TopMateCard.tsx Outdated
Comment on lines +48 to 51
const col1 = [testimonials[0], testimonials[1], testimonials[2]];
const col2 = [testimonials[3], testimonials[4], testimonials[0]];
const col3 = [testimonials[1], testimonials[2], testimonials[3]];

Comment on lines 8 to 26
interface TestimonialCardProps {
name: string;
username: string;
content: string;
date: string;
avatar: string;
gradient?: string;
borderColor?: string;
}

const TestimonialCard: React.FC<TestimonialCardProps> = ({
name,
username,
content,
date,
avatar,
gradient,
borderColor,
}) => {
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown

✅ Synchronized metadata from Issue #1608:

  • Labels: level 1, recode
  • Milestone: recode:launch 3.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhacement gssoc26 label gssoc:approved gssoc label in-review The current changes are in review and would need approval and testing before merging level:advanced gssoc label 55pts level:intermediate gssoc labels 35pts level 1 10 points recode this is label for leaderboard type:devops gssoc label 15pts

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

🐞[Bug]: Testimonial/Mentorship cards have poor text readability and inconsistent theme styling

3 participants