import React from 'react'; import { FloatButton } from 'antd'; import { FormattedMessage } from 'dumi'; import { DarkTheme, Light, CompactTheme } from 'antd-token-previewer/es/icons'; import ThemeIcon from './ThemeIcon'; export type ThemeName = 'light' | 'dark' | 'compact'; export type ThemeSwitchProps = { value?: ThemeName[]; onChange: (value: ThemeName[]) => void; }; const ThemeSwitch: React.FC = ({ value, onChange }) => ( }> } type={!value.includes('dark') ? 'primary' : 'default'} onClick={() => { if (value.includes('dark')) { onChange(value.filter((theme) => theme !== 'dark')); } }} tooltip={} /> } type={value.includes('dark') ? 'primary' : 'default'} onClick={() => { if (!value.includes('dark')) { onChange([...value, 'dark']); } }} tooltip={} /> } type={value.includes('compact') ? 'primary' : 'default'} onClick={() => { if (value.includes('compact')) { onChange(value.filter((theme) => theme !== 'compact')); } else { onChange([...value, 'compact']); } }} tooltip={} /> ); export default ThemeSwitch;