import { useEffect, useState } from 'react' import Select from './Select' import { useGlobal } from '@/lib/global' import { THEMES } from '@/themes/theme' import { useRouter } from 'next/router' import { siteConfigMap } from '@/lib/config' import { getQueryParam } from '@/lib/utils' /** * * @returns 调试面板 */ const DebugPanel = () => { const [show, setShow] = useState(false) const { theme, switchTheme, locale } = useGlobal() const router = useRouter() const currentTheme = getQueryParam(router.asPath, 'theme') || theme const [siteConfig, updateSiteConfig] = useState({}) // 主题下拉框 const themeOptions = THEMES?.map(t => ({ value: t, text: t })) useEffect(() => { updateSiteConfig(Object.assign({}, siteConfigMap())) }, []) function toggleShow() { setShow(!show) } function handleChangeDebugTheme() { switchTheme() } function handleUpdateDebugTheme(newTheme) { const query = { ...router.query, theme: newTheme } router.push({ pathname: router.pathname, query }) } function filterResult(text) { switch (text) { case 'true': return true case 'false': return false case '': return '-' } return text } return ( <> {/* 调试按钮 */}