import type { LayoutNode } from 'officerdev';
import { WorkspaceView, SELECTED_DASHBOARD_KEY } from 'officerdev';
import { useIsMobile } from 'hooks/useIsMobile';
import { useGlobal } from 'hooks/useGlobal';
import { useDashboardState } from 'state/useDashboardState';
import { defaultLayout } from './defaultLayout';

export const DashboardsScreen = () => {
  const workspace = useDashboardState<LayoutNode>('screens/dashboards', defaultLayout);
  const isMobile = useIsMobile();
  const [selected, setSelected] = useGlobal<string | null>(SELECTED_DASHBOARD_KEY, null);
  const mobilePanelId = isMobile && selected ? 'ws-home-right' : undefined;

  return (
    <div className="h-full w-full">
      <WorkspaceView
        workspace={workspace}
        locked
        mobilePanelId={mobilePanelId}
        onMobilePanelChange={(id) => {
          if (!id) setSelected(null);
        }}
      />
    </div>
  );
};
