'use client'; import { BlueskyIcon } from '@/components/icons/bluesky'; import { DiscordIcon } from '@/components/icons/discord'; import { FacebookIcon } from '@/components/icons/facebook'; import { GitHubIcon } from '@/components/icons/github'; import { InstagramIcon } from '@/components/icons/instagram'; import { LinkedInIcon } from '@/components/icons/linkedin'; import { MastodonIcon } from '@/components/icons/mastodon'; import { TelegramIcon } from '@/components/icons/telegram'; import { TikTokIcon } from '@/components/icons/tiktok'; import { XTwitterIcon } from '@/components/icons/x'; import { YouTubeIcon } from '@/components/icons/youtube'; import type { MenuItem } from '@/types'; import { MailIcon } from 'lucide-react'; import { websiteConfig } from './website'; /** * Get social config * * NOTICE: used in client components only * * docs: * https://mksaas.com/docs/config/social * * @returns The social config */ export function useSocialLinks(): MenuItem[] { const socialLinks: MenuItem[] = []; if (websiteConfig.metadata.social?.github) { socialLinks.push({ title: 'GitHub', href: websiteConfig.metadata.social.github, icon: , }); } if (websiteConfig.metadata.social?.twitter) { socialLinks.push({ title: 'Twitter', href: websiteConfig.metadata.social.twitter, icon: , }); } if (websiteConfig.metadata.social?.blueSky) { socialLinks.push({ title: 'Bluesky', href: websiteConfig.metadata.social.blueSky, icon: , }); } if (websiteConfig.metadata.social?.mastodon) { socialLinks.push({ title: 'Mastodon', href: websiteConfig.metadata.social.mastodon, icon: , }); } if (websiteConfig.metadata.social?.discord) { socialLinks.push({ title: 'Discord', href: websiteConfig.metadata.social.discord, icon: , }); } if (websiteConfig.metadata.social?.youtube) { socialLinks.push({ title: 'YouTube', href: websiteConfig.metadata.social.youtube, icon: , }); } if (websiteConfig.metadata.social?.linkedin) { socialLinks.push({ title: 'LinkedIn', href: websiteConfig.metadata.social.linkedin, icon: , }); } if (websiteConfig.metadata.social?.facebook) { socialLinks.push({ title: 'Facebook', href: websiteConfig.metadata.social.facebook, icon: , }); } if (websiteConfig.metadata.social?.instagram) { socialLinks.push({ title: 'Instagram', href: websiteConfig.metadata.social.instagram, icon: , }); } if (websiteConfig.metadata.social?.tiktok) { socialLinks.push({ title: 'TikTok', href: websiteConfig.metadata.social.tiktok, icon: , }); } if (websiteConfig.metadata.social?.telegram) { socialLinks.push({ title: 'Telegram', href: websiteConfig.metadata.social.telegram, icon: , }); } if (websiteConfig.mail.supportEmail) { socialLinks.push({ title: 'Email', href: `mailto:${websiteConfig.mail.supportEmail}`, icon: , }); } return socialLinks; }