Skip to content

Hover effect cards 461#554

Open
tubajavedd wants to merge 3 commits intoAOSSIE-Org:mainfrom
tubajavedd:hover-effect-cards-461
Open

Hover effect cards 461#554
tubajavedd wants to merge 3 commits intoAOSSIE-Org:mainfrom
tubajavedd:hover-effect-cards-461

Conversation

@tubajavedd
Copy link

@tubajavedd tubajavedd commented Feb 3, 2026

This PR adds a subtle hover effect to card components to improve visual feedback and UX.

Changes:

  • Added smooth hover transition, shadow, and slight lift to cards
  • Improved hover interaction for CTA and icon
  • Preserved existing background highlight behavior
  • screenshot:
Screenshot 2026-02-03 123839

Summary by CodeRabbit

Release Notes

  • Style
    • Cards now display with rounded corners, borders, and refined spacing for better visual presentation.
    • Interactive hover effects added to cards and buttons with smooth color transitions.
    • Project cards feature enhanced interactivity with hover animations for improved engagement.
    • Image elements include improved alt text attributes for better accessibility.

@vercel
Copy link

vercel bot commented Feb 3, 2026

Someone is attempting to deploy a commit to the AOSSIE Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link

coderabbitai bot commented Feb 3, 2026

📝 Walkthrough

Walkthrough

Three component files receive visual and interactive enhancements: Banner gets layout adjustments, Card gains richer styling with hover effects and transitions, and the Projects page adds interactive hover states, clickable action links, and improved accessibility through alt text.

Changes

Cohort / File(s) Summary
Layout Adjustments
src/components/Banner.jsx
Minor JSX indentation and whitespace adjustments around the Apply to GSoC button; no functional or semantic changes.
Visual & Interactive Enhancements
src/components/Card.jsx, src/pages/projects.jsx
Card component gains rounded corners, borders, background, padding, and hover/dark-mode visual effects with transitions. Projects page cards now include interactive hover states (transform, shadow transitions) and clickable action links that open in new tabs; alt attribute added to image for accessibility.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 Hoppy hops through cards so fine,
With rounded corners, shadows shine!
Hover effects that dance and sway,
Making buttons look their way.
Little tweaks make big delight,
UI polish, shiny bright! 🎨

🚥 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 'Hover effect cards 461' directly describes the main change—adding hover effects to card components—which aligns with all three commits and the file modifications across Banner, Card, and projects components.

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

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@src/components/Card.jsx`:
- Around line 61-68: The CTA container currently has aria-hidden="true", which
hides the link text from screen readers; remove the aria-hidden attribute from
the div inside the Link (the container with className starting "relative
font-mono...") so the link text is accessible, and if you still want to hide the
decorative icon, move or add aria-hidden="true" to the ChevronRightIcon
component instead; ensure the Link/children remain readable by assistive tech.

In `@src/pages/projects.jsx`:
- Around line 37-51: The sx style block on the project card contains an invalid
RGBA alpha value and an incorrect cursor semantic: update the hover boxShadow
color from 'rgba(255,255,0,255)' to a valid alpha (e.g., 'rgba(255,255,0,1)' or
a hex like '#FFFF00') and either remove the top-level 'cursor: "pointer"' from
the sx object or wire a card-level click handler (e.g., onClick in the card
component) if the entire card should be clickable; locate the sx object in the
project card component (the style block shown) and apply these changes to the
&:hover.boxShadow and cursor properties accordingly.

Comment on lines 61 to 68
<Link href={href}>
<div
aria-hidden="true"
className="relative font-mono z-10 mt-4 flex items-center text-sm font-semibold text-[#00843D] dark:text-yellow-400"
className="relative font-mono z-10 mt-4 flex items-center text-sm font-semibold text-[#00843D] dark:text-yellow-400 transition-colors group-hover:text-[#006b32]"
>
{children}
<ChevronRightIcon className="ml-1 h-4 w-4 stroke-current" />
<ChevronRightIcon className="ml-1 h-4 w-4 stroke-current transition-transform duration-300 group-hover:translate-x-1" />
</div>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Remove aria-hidden from the CTA container.
It hides the link text from screen readers; keep aria-hidden only on the icon if needed.

Suggested fix
-      <div
-      aria-hidden="true"
-className="relative font-mono z-10 mt-4 flex items-center text-sm font-semibold text-[`#00843D`] dark:text-yellow-400 transition-colors group-hover:text-[`#006b32`]"
-      >
+      <div className="relative font-mono z-10 mt-4 flex items-center text-sm font-semibold text-[`#00843D`] dark:text-yellow-400 transition-colors group-hover:text-[`#006b32`]">
         {children}
-<ChevronRightIcon className="ml-1 h-4 w-4 stroke-current transition-transform duration-300 group-hover:translate-x-1" />
+        <ChevronRightIcon aria-hidden="true" className="ml-1 h-4 w-4 stroke-current transition-transform duration-300 group-hover:translate-x-1" />
       </div>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<Link href={href}>
<div
aria-hidden="true"
className="relative font-mono z-10 mt-4 flex items-center text-sm font-semibold text-[#00843D] dark:text-yellow-400"
className="relative font-mono z-10 mt-4 flex items-center text-sm font-semibold text-[#00843D] dark:text-yellow-400 transition-colors group-hover:text-[#006b32]"
>
{children}
<ChevronRightIcon className="ml-1 h-4 w-4 stroke-current" />
<ChevronRightIcon className="ml-1 h-4 w-4 stroke-current transition-transform duration-300 group-hover:translate-x-1" />
</div>
<Link href={href}>
<div className="relative font-mono z-10 mt-4 flex items-center text-sm font-semibold text-[`#00843D`] dark:text-yellow-400 transition-colors group-hover:text-[`#006b32`]">
{children}
<ChevronRightIcon aria-hidden="true" className="ml-1 h-4 w-4 stroke-current transition-transform duration-300 group-hover:translate-x-1" />
</div>
🤖 Prompt for AI Agents
In `@src/components/Card.jsx` around lines 61 - 68, The CTA container currently
has aria-hidden="true", which hides the link text from screen readers; remove
the aria-hidden attribute from the div inside the Link (the container with
className starting "relative font-mono...") so the link text is accessible, and
if you still want to hide the decorative icon, move or add aria-hidden="true" to
the ChevronRightIcon component instead; ensure the Link/children remain readable
by assistive tech.

Comment on lines +37 to +51
sx={{
height: 400,
borderRadius: 2,
border: '1px solid',
borderColor: '#3c982c',
boxShadow: '0px 4px 4px #00000040',
backdropFilter: 'blur(4px) brightness(100%)',
display: 'flex',
flexDirection: 'column',
transition: 'all 0.3s ease',
cursor: 'pointer',
'&:hover': {
transform: 'translateY(-6px)',
boxShadow: '1px 2px 1px 1px rgba(255,255,0,255)',
},
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix invalid RGBA alpha and cursor semantics.
rgba(..., 255) is invalid (alpha should be 0–1), so the hover shadow can be ignored. Also, cursor: pointer implies the whole card is clickable; remove it unless you wire up a card-level click.

Suggested fix
-    cursor: 'pointer',
@@
-      boxShadow: '1px 2px 1px 1px rgba(255,255,0,255)',
+      boxShadow: '1px 2px 1px 1px rgba(255,255,0,1)',
🤖 Prompt for AI Agents
In `@src/pages/projects.jsx` around lines 37 - 51, The sx style block on the
project card contains an invalid RGBA alpha value and an incorrect cursor
semantic: update the hover boxShadow color from 'rgba(255,255,0,255)' to a valid
alpha (e.g., 'rgba(255,255,0,1)' or a hex like '#FFFF00') and either remove the
top-level 'cursor: "pointer"' from the sx object or wire a card-level click
handler (e.g., onClick in the card component) if the entire card should be
clickable; locate the sx object in the project card component (the style block
shown) and apply these changes to the &:hover.boxShadow and cursor properties
accordingly.

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.

1 participant