import { InspectorControls } from '@wordpress/block-editor'; import { PanelBody, BaseControl, SelectControl, CheckboxControl, } from '@wordpress/components'; import { sprintf, __ } from '@wordpress/i18n'; import { Theme } from 'shiki'; import defaultLanguages from '../../defaultLanguages.json'; import defaultThemes from '../../defaultThemes.json'; import { useLanguage } from '../../hooks/useLanguage'; import { useGlobalStore } from '../../state/global'; import { useThemeStore } from '../../state/theme'; import { AttributesPropsAndSetter } from '../../types'; import { Notice } from '../components/Notice'; import { ThemePreview } from '../components/ThemePreview'; export const SidebarControls = ({ attributes, setAttributes, }: AttributesPropsAndSetter) => { const [language, setLanguage] = useLanguage({ attributes, setAttributes }); const { setPreviousTheme } = useThemeStore(); const { setPreviousSettings } = useGlobalStore(); return (
({ label: value, value, }))} /> { setPreviousSettings({ copyButton: value }); setAttributes({ copyButton: value }); }} />
{Object.entries(defaultThemes).map(([slug, name]) => ( { setAttributes({ theme: slug as Theme }); setPreviousTheme(slug as Theme); }} code={attributes.code} /> ))}
); };