diff --git a/src/app/darmasaba/_com/main-page/landing-page/SosmedView.tsx b/src/app/darmasaba/_com/main-page/landing-page/SosmedView.tsx
index 66d770fc..3279e2ef 100644
--- a/src/app/darmasaba/_com/main-page/landing-page/SosmedView.tsx
+++ b/src/app/darmasaba/_com/main-page/landing-page/SosmedView.tsx
@@ -1,7 +1,9 @@
-import { ActionIcon, Card, Flex, Image, Text, Tooltip } from "@mantine/core";
+/* eslint-disable @typescript-eslint/no-explicit-any */
+import { sosmedMap } from "@/app/admin/(dashboard)/landing-page/profil/_lib/sosmed";
+import colors from "@/con/colors";
+import { ActionIcon, Box, Card, Flex, Image, Text, Tooltip } from "@mantine/core";
import { Prisma } from "@prisma/client";
import { useTransitionRouter } from "next-view-transitions";
-import { IconBrandInstagram, IconBrandFacebook, IconBrandTwitter, IconWorld } from "@tabler/icons-react";
function SosmedView({
data,
@@ -10,17 +12,12 @@ function SosmedView({
}) {
const router = useTransitionRouter();
- const fallbackIcon = (platform?: string) => {
- switch (platform?.toLowerCase()) {
- case "instagram":
- return ;
- case "facebook":
- return ;
- case "twitter":
- return ;
- default:
- return ;
+ const getIconSource = (item: any) => {
+ if (item.image?.link) return item.image.link;
+ if (item.icon && sosmedMap[item.icon as keyof typeof sosmedMap]?.src) {
+ return sosmedMap[item.icon as keyof typeof sosmedMap].src;
}
+ return null;
};
return (
@@ -44,18 +41,22 @@ function SosmedView({
boxShadow: "0 0 12px rgba(28, 110, 164, 0.6)",
}}
>
- {item.image?.link ? (
-
- ) : (
- fallbackIcon(item.name)
- )}
+ {(() => {
+ const src = getIconSource(item);
+
+ if (src) {
+ return (
+
+ );
+ }
+
+ return ;
+ })()}
))