import {
Menu,
useMenuState,
MenuItem,
MenuButton,
MenuStateReturn,
} from 'reakit'
import classNames from 'classnames'
import IVAvatar from '~/components/IVAvatar'
import IconChevronDown from '~/icons/compiled/ChevronDown'
import IconCheck from '~/icons/compiled/Check'
import { useEffect } from 'react'
import useEnvSwitcher from '~/utils/useOrgEnvSwitcher'
import { useOrganization } from '../DashboardContext'
import { useOrgParams } from '~/utils/organization'
function MenuHeader({ label }) {
return (
{label}
)
}
function MenuListItem({
onClick,
label,
isActive,
...menu
}: MenuStateReturn & {
onClick: () => void
label: string
isActive?: boolean
}) {
return (
)
}
export function MobileEnvSwitcherButton(props: {
onToggleSwitcher: (visible: boolean) => void
}) {
const currentOrg = useOrganization()
const { onToggleSwitcher } = props
const menu = useMenuState({ animated: 200, gutter: -58 })
const { envSlug, orgEnvSlug } = useOrgParams()
const { envOptions, currentEnvName, switchToEnvironment } = useEnvSwitcher({
organization: currentOrg,
envSlug,
orgEnvSlug,
})
useEffect(() => {
onToggleSwitcher(menu.visible)
}, [onToggleSwitcher, menu.visible])
return (
{currentOrg.name}
{currentEnvName && (
{currentEnvName}
)}
)
}
export default function MobileEnvSwitcher({
onToggleSwitcher,
}: {
onToggleSwitcher: (visible: boolean) => void
}) {
return
}