Files
LunaTV/src/components/SiteProvider.tsx
SongPro 6c81f52953 feat(公告): 添加网站公告功能及弹窗提示
- 从环境变量读取公告内容,提供默认值
- 扩展SiteProvider组件以支持公告功能
- 在首页添加公告弹窗组件,支持本地存储记录用户已读状态
- 弹窗包含关闭功能和完善的样式交互
2025-07-01 16:02:33 +08:00

29 lines
737 B
TypeScript

'use client';
import { createContext, ReactNode, useContext } from 'react';
const SiteContext = createContext<{ siteName: string; announcement?: string }>({
// 默认值
siteName: 'MoonTV',
announcement:
'本网站仅提供影视信息搜索服务,所有内容均来自第三方网站。本站不存储任何视频资源,不对任何内容的准确性、合法性、完整性负责。',
});
export const useSite = () => useContext(SiteContext);
export function SiteProvider({
children,
siteName,
announcement,
}: {
children: ReactNode;
siteName: string;
announcement?: string;
}) {
return (
<SiteContext.Provider value={{ siteName, announcement }}>
{children}
</SiteContext.Provider>
);
}