import * as React from 'react'; import { useRecoilState, useRecoilValue } from 'recoil'; import { ViewAtom, SettingsSelector } from '../../state'; import { ViewListIcon, ViewGridIcon } from '@heroicons/react/solid'; import { Messenger } from '@estruyf/vscode/dist/client'; import { DashboardMessage } from '../../DashboardMessage'; import { DashboardViewType } from '../../models'; import useThemeColors from '../../hooks/useThemeColors'; 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 (
); };