/* 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"; function SosmedView({ data, }: { data: Prisma.MediaSosialGetPayload<{ include: { image: true } }>[]; }) { const router = useTransitionRouter(); 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 ( {data && data.length > 0 ? ( data.map((item, k) => ( item.iconUrl && router.push(item.iconUrl)} style={{ transition: "all 0.3s ease", boxShadow: "0 0 12px rgba(28, 110, 164, 0.6)", }} > {(() => { const src = getIconSource(item); if (src) { return ( {item.name} ); } return ; })()} )) ) : ( Belum ada media sosial yang terhubung )} ); } export default SosmedView;