import React from 'react'
import { observer } from 'mobx-react'
import { getEnv } from 'mobx-state-tree'
import { IconButton, FormGroup } from '@mui/material'
import { useTheme, alpha } from '@mui/material/styles'
import LinkIcon from '@mui/icons-material/Link'
import LinkOffIcon from '@mui/icons-material/LinkOff'
import FormatAlignCenterIcon from '@mui/icons-material/FormatAlignCenter'
import AlignHorizontalCenterIcon from '@mui/icons-material/AlignHorizontalCenter'
import { getSession } from '@jbrowse/core/util'
import { MultilevelLinearViewModel } from '../model'
import { PanControls } from './Controls'
import { RegionWidth } from './util'
type MLLV = MultilevelLinearViewModel
const LinkViews = observer(({ model }: { model: MLLV }) => {
return (
{model.linkViews ? (
) : (
)}
)
})
const AlignViews = observer(({ model }: { model: MLLV }) => {
return (
)
})
const ResetZooms = observer(({ model }: { model: MLLV }) => {
return (
)
})
const Header = observer(
({
model,
ExtraButtons,
}: {
model: MLLV
ExtraButtons?: React.ReactNode
}) => {
const theme = useTheme()
const { primary } = theme.palette
const colour = primary.light
// @ts-ignore
const anchorView = model?.views?.find((view) => view.isAnchor)
const pluginManager = getEnv(getSession(model)).pluginManager
const LGV = pluginManager.getPlugin(
'LinearGenomeViewPlugin',
) as import('@jbrowse/plugin-linear-genome-view').default
// @ts-ignore
const { ZoomControls, SearchBox } = LGV.exports
return (
{model?.initialized && anchorView?.initialized ? (
{/* @ts-ignore */}
{/* @ts-ignore */}
) : null}
)
},
)
export default Header