import React, { useCallback, useState } from 'react'; import PropTypes from 'prop-types'; import { Collapse, Button } from 'reactstrap'; import EditorContainer from '~/client/services/EditorContainer'; import AppContainer from '~/client/services/AppContainer'; import { EditorMode, useDrawerOpened, useEditorMode, useIsDeviceSmallerThanMd, } from '~/stores/ui'; import { SlackNotification } from '../SlackNotification'; import SlackLogo from '../SlackLogo'; import { withUnstatedContainers } from '../UnstatedUtils'; import SavePageControls from '../SavePageControls'; import OptionsSelector from './OptionsSelector'; import { useIsSlackEnabled } from '~/stores/editor'; import { useSlackChannels } from '~/stores/context'; const EditorNavbarBottom = (props) => { const { data: editorMode } = useEditorMode(); const [isExpanded, setExpanded] = useState(false); const [isSlackExpanded, setSlackExpanded] = useState(false); const isSlackConfigured = props.appContainer.getConfig().isSlackConfigured; const { mutate: mutateDrawerOpened } = useDrawerOpened(); const { data: isDeviceSmallerThanMd } = useIsDeviceSmallerThanMd(); const { data: isSlackEnabled, mutate: mutateIsSlackEnabled } = useIsSlackEnabled(); const { data: slackChannels, mutate: mutateSlackChannels } = useSlackChannels(); const additionalClasses = ['grw-editor-navbar-bottom']; const isSlackEnabledToggleHandler = useCallback( (bool: boolean) => mutateIsSlackEnabled(bool), [mutateIsSlackEnabled], ); const slackChannelsChangedHandler = useCallback( (slackChannels: string) => mutateSlackChannels(slackChannels), [mutateSlackChannels], ); const renderDrawerButton = () => ( ); const renderExpandButton = () => (