diff --git a/src/common/components/Qris.tsx b/src/common/components/Qris.tsx
index 06ff592..4878180 100644
--- a/src/common/components/Qris.tsx
+++ b/src/common/components/Qris.tsx
@@ -12,8 +12,8 @@ const Qris = ({ onBack }: { onBack: () => void }) => {
return (
<>
-
-
+
+
,
- isShow: true,
- isExternal: true,
- eventName: "Social: X",
- className: "hover:bg-black",
+ className: "text-blue-600 hover:bg-blue-600",
},
{
title: "Instagram",
@@ -45,7 +36,16 @@ export const SOCIAL_MEDIA: SocialItemProps[] = [
isShow: true,
isExternal: true,
eventName: "Social: Instagram",
- className: "hover:bg-amber-700",
+ className: "text-pink-600 hover:bg-pink-600",
+ },
+ {
+ title: "X",
+ href: "https://x.com/aulianzaa",
+ icon:
,
+ isShow: true,
+ isExternal: true,
+ eventName: "Social: X",
+ className: "hover:bg-black",
},
{
title: "Blog",
@@ -54,6 +54,6 @@ export const SOCIAL_MEDIA: SocialItemProps[] = [
isShow: true,
isExternal: true,
eventName: "Social: Blog",
- className: "hover:bg-orange-500",
+ className: "text-orange-500 hover:bg-orange-500",
},
];
diff --git a/src/modules/homepage/components/ButtonLink.tsx b/src/modules/homepage/components/ButtonLink.tsx
deleted file mode 100644
index bdb49c7..0000000
--- a/src/modules/homepage/components/ButtonLink.tsx
+++ /dev/null
@@ -1,103 +0,0 @@
-"use client";
-
-import { clsx } from "clsx";
-import { useState } from "react";
-import { PiLinkBreakDuotone as LinkIcon } from "react-icons/pi";
-
-import BottomSheet from "@/common/components/BottomSheet";
-import { LINKS } from "@/common/constant/links";
-
-import BuyACoffee from "./BuyACoffee";
-
-const ButtonLink = () => {
- const [isBottomSheetOpen, setBottomSheetOpen] = useState(false);
-
- const handleClick = (url: string, target: string | undefined) => {
- if (url !== "#") {
- window.open(url, target);
- } else {
- setBottomSheetOpen(true);
- }
- };
-
- return (
- <>
-
-
-
Links
-
-
- {LINKS?.map((item, index) => (
-
- ))}
-
-
-
setBottomSheetOpen(false)}
- >
-
-
- >
- );
-};
-
-export default ButtonLink;
diff --git a/src/modules/homepage/components/Home.tsx b/src/modules/homepage/components/Home.tsx
index eb7a8b8..df6187f 100644
--- a/src/modules/homepage/components/Home.tsx
+++ b/src/modules/homepage/components/Home.tsx
@@ -1,9 +1,9 @@
import Breakline from "@/common/components/Breakline";
import Footer from "@/common/components/Footer";
-import ButtonLink from "./ButtonLink";
import Contact from "./Contact";
import Hero from "./Hero";
+import Links from "./Links";
import Socials from "./Socials";
const Home = () => {
@@ -12,7 +12,7 @@ const Home = () => {
-
+
diff --git a/src/modules/homepage/components/LinkItem.tsx b/src/modules/homepage/components/LinkItem.tsx
new file mode 100644
index 0000000..98e41f7
--- /dev/null
+++ b/src/modules/homepage/components/LinkItem.tsx
@@ -0,0 +1,77 @@
+"use client";
+
+import { clsx } from "clsx";
+
+import { LinkProps } from "@/common/types/link";
+
+interface LinkItemProps extends LinkProps {
+ key: number;
+ onClick: (href: string, target: string) => void;
+}
+
+const LinkItem = ({
+ key,
+ label,
+ icon,
+ href,
+ target = "",
+ className,
+ onClick,
+}: LinkItemProps) => {
+ return (
+
+ );
+};
+
+export default LinkItem;
diff --git a/src/modules/homepage/components/Links.tsx b/src/modules/homepage/components/Links.tsx
new file mode 100644
index 0000000..842448f
--- /dev/null
+++ b/src/modules/homepage/components/Links.tsx
@@ -0,0 +1,51 @@
+"use client";
+
+import { useState } from "react";
+import { PiLinkBreakDuotone as LinkIcon } from "react-icons/pi";
+
+import BottomSheet from "@/common/components/BottomSheet";
+import { LINKS } from "@/common/constant/links";
+
+import BuyACoffee from "./BuyACoffee";
+import LinkItem from "./LinkItem";
+
+const Links = () => {
+ const [isBottomSheetOpen, setBottomSheetOpen] = useState(false);
+
+ const handleClick = (url: string, target: string | undefined) => {
+ if (url !== "#") {
+ window.open(url, target);
+ } else {
+ setBottomSheetOpen(true);
+ }
+ };
+
+ return (
+ <>
+
+
+
Links
+
+
+ {LINKS?.map((item, index) => (
+
+ ))}
+
+
+
setBottomSheetOpen(false)}
+ >
+
+
+ >
+ );
+};
+
+export default Links;
diff --git a/src/modules/homepage/components/Socials.tsx b/src/modules/homepage/components/Socials.tsx
index 0c02b42..c5ebff1 100644
--- a/src/modules/homepage/components/Socials.tsx
+++ b/src/modules/homepage/components/Socials.tsx
@@ -25,6 +25,7 @@ const Socials = () => {
data-aos="zoom-in"
data-aos-duration="1000"
data-aos-delay={index * 100}
+ title={item?.title}
>
{item?.icon}