import type { AnnouncementData } from "@/api"; import ReactMarkdown from "react-markdown"; import rehypeSanitize from "rehype-sanitize"; import remarkGfm from "remark-gfm"; import { Card, CardBody } from "@/shadcn-bridge/heroui/card"; interface AnnouncementBannerProps { announcement: AnnouncementData; } export const AnnouncementBanner = ({ announcement, }: AnnouncementBannerProps) => { if (!announcement.content) { return null; } return (

公告

(

{children}

), a: ({ children, href }) => ( {children} ), ul: ({ children }) => (
    {children}
), ol: ({ children }) => (
    {children}
), code: ({ children }) => ( {children} ), pre: ({ children }) => (
                      {children}
                    
), blockquote: ({ children }) => (
{children}
), }} rehypePlugins={[rehypeSanitize]} remarkPlugins={[remarkGfm]} > {announcement.content}
); };