import { ChevronDown, Minus, Plus } from '@liam-hq/ui' import { useStore } from '@xyflow/react' import { type FC, useCallback } from 'react' import { useVersionOrThrow } from '../../../../../../providers' import type { ShowMode } from '../../../../../../schemas/showMode' import { useUserEditingOrThrow } from '../../../../../../stores' import { toolbarActionLogEvent } from '../../../../../gtm/utils' import { useCustomReactflow } from '../../../../../reactflow/hooks' import { FitviewButton } from '../FitviewButton' import { TidyUpButton } from '../TidyUpButton' import { ToolbarIconButton } from '../ToolbarIconButton' import styles from './OpenedMobileToolbar.module.css' type Props = { toggleOpenClose: () => void toggleShowModeMenu: () => void } export const OpenedMobileToolbar: FC = ({ toggleOpenClose, toggleShowModeMenu, }) => { const { zoomIn, zoomOut } = useCustomReactflow() const zoomLevel = useStore((store) => store.transform[2]) const { showMode } = useUserEditingOrThrow() const { version } = useVersionOrThrow() const LabelList: Record = { ALL_FIELDS: 'All Fields', TABLE_NAME: 'Table Name', KEY_ONLY: 'Key Only', } const showModeLabel = LabelList[showMode] const handleClickZoomOut = useCallback(() => { toolbarActionLogEvent({ element: 'zoom', zoomLevel: zoomLevel.toFixed(2), showMode, platform: version.displayedOn, gitHash: version.gitHash, ver: version.version, appEnv: version.envName, }) zoomOut() }, [zoomOut, zoomLevel, showMode, version]) const handleClickZoomIn = useCallback(() => { toolbarActionLogEvent({ element: 'zoom', zoomLevel: zoomLevel.toFixed(2), showMode: showMode, platform: version.displayedOn, gitHash: version.gitHash, ver: version.version, appEnv: version.envName, }) zoomIn() }, [zoomIn, zoomLevel, showMode, version]) return (
Zoom
{Math.floor(zoomLevel * 100)}%

} > Zoom in } > Zoom out Zoom to Fit Tidy up

show
) }