import * as React from 'react'; import { useRecoilState, useRecoilValue } from 'recoil'; import { ViewAtom, SettingsSelector } from '../../state'; import { Bars4Icon, Squares2X2Icon } from '@heroicons/react/24/solid'; import { Messenger } from '@estruyf/vscode/dist/client'; import { DashboardMessage } from '../../DashboardMessage'; import { DashboardViewType } from '../../models'; import useThemeColors from '../../hooks/useThemeColors'; import * as l10n from '@vscode/l10n'; import { LocalizationKey } from '../../../localization'; export interface IViewSwitchProps { } export const ViewSwitch: React.FunctionComponent = ( props: React.PropsWithChildren ) => { const [view, setView] = useRecoilState(ViewAtom); const settings = useRecoilValue(SettingsSelector); const { getColors } = useThemeColors(); const toggleView = () => { const newView = view === DashboardViewType.Grid ? DashboardViewType.List : DashboardViewType.Grid; setView(newView); Messenger.send(DashboardMessage.setPageViewType, newView); }; React.useEffect(() => { if (settings?.pageViewType) { setView(settings?.pageViewType); } }, [settings?.pageViewType]); return (
); };