"use client" import { useState, useEffect } from "react" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Label } from "@/components/ui/label" import { Input } from "@/components/ui/input" import { Button } from "@/components/ui/button" import { Switch } from "@/components/ui/switch" import { useStore } from "@/lib/store" import { Save, Globe, Menu, FileText, Palette } from "lucide-react" const defaultSiteConfig = { siteName: "卡若日记", siteTitle: "一场SOUL的创业实验场", siteDescription: "来自Soul派对房的真实商业故事", logo: "/logo.png", favicon: "/favicon.ico", primaryColor: "#00CED1", } const defaultMenuConfig = { home: { enabled: true, label: "首页" }, chapters: { enabled: true, label: "目录" }, match: { enabled: true, label: "匹配" }, my: { enabled: true, label: "我的" }, } const defaultPageConfig = { homeTitle: "一场SOUL的创业实验场", homeSubtitle: "来自Soul派对房的真实商业故事", chaptersTitle: "我要看", matchTitle: "语音匹配", myTitle: "我的", aboutTitle: "关于作者", } export default function SiteConfigPage() { const { settings, updateSettings } = useStore() const [localSettings, setLocalSettings] = useState({ siteConfig: { ...defaultSiteConfig }, menuConfig: { ...defaultMenuConfig }, pageConfig: { ...defaultPageConfig }, }) const [saved, setSaved] = useState(false) const [mounted, setMounted] = useState(false) useEffect(() => { setMounted(true) setLocalSettings({ siteConfig: { ...defaultSiteConfig, ...settings.siteConfig }, menuConfig: { ...defaultMenuConfig, ...settings.menuConfig }, pageConfig: { ...defaultPageConfig, ...settings.pageConfig }, }) }, [settings.siteConfig, settings.menuConfig, settings.pageConfig]) const handleSave = () => { updateSettings(localSettings) setSaved(true) setTimeout(() => setSaved(false), 2000) } if (!mounted) { return (
配置网站名称、图标、菜单和页面标题