fix(ui): improve testimonial and mentorship section consistency#1646
fix(ui): improve testimonial and mentorship section consistency#1646vishalpatil-45 wants to merge 2 commits into
Conversation
|
@vishalpatil-45 is attempting to deploy a commit to the recode Team on Vercel. A member of the Team first needs to authorize it. |
|
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 👇🏻
If there are any specific instructions or feedback regarding your PR, we'll provide them here. Thanks again for your contribution! 😊 |
|
✅ Synchronized metadata from Issue #1608:
|
There was a problem hiding this comment.
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 usinguseReducedMotion()(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
revealVariantsis cast toany, which triggers the repo's@typescript-eslint/no-explicit-anyrule and removes type-safety for the framer-motion variants (especially withcustom). Prefer typing this asVariants(from framer-motion) instead of usingas 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.
| 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; |
| const col1 = [testimonials[0], testimonials[1], testimonials[2]]; | ||
| const col2 = [testimonials[3], testimonials[4], testimonials[0]]; | ||
| const col3 = [testimonials[1], testimonials[2], testimonials[3]]; | ||
|
|
| 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>
|
✅ Synchronized metadata from Issue #1608:
|
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
Screenshots
Before
After
Technical Notes
Validation
Closes #1608