Skip to content

Commit 3049883

Browse files
committed
modify arrow animation on partners card
1 parent 6816272 commit 3049883

File tree

2 files changed

+28
-20
lines changed

2 files changed

+28
-20
lines changed

components/TitleSponsorCard/index.jsx

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
"use client";
22

3+
import { useState } from "react";
34
import Image from "next/image";
45
import logitech from "@/public/partnersPage/logitech.jpg";
56
import { ArrowRightIcon } from "@radix-ui/react-icons";
67
import { Tilt } from "react-tilt";
78

89
export default function TitleSponsorCard() {
10+
const [isHovered, setIsHovered] = useState(false);
911
const defaultOptions = {
1012
reverse: false,
1113
max: 4,
@@ -37,32 +39,34 @@ export default function TitleSponsorCard() {
3739
"--default-gradient": defaultGradient,
3840
"--hover-gradient": hoverGradient,
3941
}}
40-
onMouseEnter={(e) =>
41-
(e.currentTarget.style.background = "var(--hover-gradient)")
42-
}
43-
onMouseLeave={(e) =>
44-
(e.currentTarget.style.background = "var(--default-gradient)")
45-
}
42+
onMouseEnter={(e) => {
43+
e.currentTarget.style.background = "var(--hover-gradient)";
44+
setIsHovered(true);
45+
}}
46+
onMouseLeave={(e) => {
47+
e.currentTarget.style.background = "var(--default-gradient)";
48+
setIsHovered(false);
49+
}}
4650
>
4751
<Image
4852
className="w-full md:w-[300px] lg:w-[350px] xl:w-[450px] rounded-t-[8px]
49-
md:rounded-r-none md:rounded-l-[8px]"
53+
md:rounded-r-none md:rounded-l-[8px]"
5054
src={logitech}
5155
alt="Logitech"
5256
placeholder="blur"
5357
/>
5458
<div
5559
className="flex flex-col justify-center items-start px-4
56-
xl:px-8 py-8 md:py-4 gap-2 rounded-b-[8px] md:rounded-l-none
57-
md:rounded-r-[8px] border-x border-b md:border-l-0 md:border-y
58-
md:border-r border-[#FFFAEF]"
60+
xl:px-8 py-8 md:py-4 gap-2 rounded-b-[8px] md:rounded-l-none
61+
md:rounded-r-[8px] border-x border-b md:border-l-0 md:border-y
62+
md:border-r border-[#FFFAEF]"
5963
>
6064
<div className="w-full flex justify-between items-center">
6165
<p className="text-[1.25rem] md:text-[1.5rem]">Logitech</p>
6266
<div className="hover:bg-[#1B1B1B] mt-1 p-1">
6367
<ArrowRightIcon
64-
className="w-6 h-6 md:w-8 md:h-8 p-[2px] hover:-rotate-45
65-
transition-transform duration-300 ease-in-out"
68+
className={`w-6 h-6 lg:w-8 lg:h-8 p-[2px] transition-transform
69+
duration-300 ease-in-out ${isHovered ? "-rotate-45" : ""}`}
6670
/>
6771
</div>
6872
</div>

components/ui/cards.jsx

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
"use client";
22

3+
import { useState } from "react";
34
import Image from "next/image";
45
import { motion } from "framer-motion";
56
import { ArrowRightIcon } from "@radix-ui/react-icons";
67
import { Tilt } from "react-tilt";
78

89
const SponsorCard = ({ index, sponsor, category, sponsorimgsrc, site }) => {
10+
const [isHovered, setIsHovered] = useState(false);
911
const defaultOptions = {
1012
reverse: false,
1113
max: 4,
@@ -50,12 +52,14 @@ const SponsorCard = ({ index, sponsor, category, sponsorimgsrc, site }) => {
5052
"--default-gradient": defaultGradient,
5153
"--hover-gradient": hoverGradient,
5254
}}
53-
onMouseEnter={(e) =>
54-
(e.currentTarget.style.background = "var(--hover-gradient)")
55-
}
56-
onMouseLeave={(e) =>
57-
(e.currentTarget.style.background = "var(--default-gradient)")
58-
}
55+
onMouseEnter={(e) => {
56+
e.currentTarget.style.background = "var(--hover-gradient)";
57+
setIsHovered(true);
58+
}}
59+
onMouseLeave={(e) => {
60+
e.currentTarget.style.background = "var(--default-gradient)";
61+
setIsHovered(false);
62+
}}
5963
>
6064
<Image
6165
src={sponsorimgsrc}
@@ -74,8 +78,8 @@ const SponsorCard = ({ index, sponsor, category, sponsorimgsrc, site }) => {
7478
</div>
7579
<div className="hover:bg-[#1B1B1B] mt-1 p-1">
7680
<ArrowRightIcon
77-
className="w-6 h-6 p-[2px] hover:-rotate-45
78-
transition-transform duration-300 ease-in-out"
81+
className={`w-6 h-6 p-[2px] transition-transform duration-300
82+
ease-in-out ${isHovered ? "-rotate-45" : ""}`}
7983
/>
8084
</div>
8185
</div>

0 commit comments

Comments
 (0)