"use client"; import NextLink from "next/link"; import { usePathname as useNextPathname } from "next/navigation"; import { useLocale } from "../context/LocaleContext"; type LocaleLinkProps = React.ComponentProps; export function LocaleLink({ href, ...props }: LocaleLinkProps) { const locale = useLocale(); const hrefStr = typeof href === "string" ? href : href.pathname ?? "/"; const localeHref = hrefStr.startsWith("/api/") || hrefStr.startsWith("/_next") ? hrefStr : hrefStr.startsWith("/") ? `/${locale}${hrefStr === "/" ? "" : hrefStr}` : hrefStr; return ; } export function usePathname() { const path = useNextPathname(); const match = path?.match(/^\/(zh|en)(\/.*)?$/); return match ? (match[2] ?? "/") : path ?? "/"; }