'use client'; import React, { useState } from 'react'; import Link from 'next/link'; import Image from 'next/image'; import { Globe } from 'lucide-react'; import styles from './MenuButton.module.css'; interface MenuButtonProps { name: string; url: string; } function getDomain(url: string): string { try { return new URL(url).hostname; } catch { return url; } } export const MenuButton: React.FC = ({ name, url }) => { const domain = getDomain(url); const faviconUrl = `https://www.google.com/s2/favicons?domain=${domain}&sz=64`; const [faviconError, setFaviconError] = useState(false); return (
{!faviconError ? ( {`${name} setFaviconError(true)} unoptimized /> ) : (
)}
{name} ); };