/** * Copyright 2025 Beijing Volcano Engine Technology Co., Ltd. All Rights Reserved. * SPDX-license-identifier: BSD-3-Clause */ import { memo, useState } from 'react'; import { Drawer } from '@arco-design/web-react'; import { useDeviceState, useLeave, useScene } from '@/lib/useCommon'; import { isMobile } from '@/utils/utils'; import Menu from '../../Menu'; import style from './index.module.less'; import CameraOpenSVG from '@/assets/img/CameraOpen.svg'; import CameraCloseSVG from '@/assets/img/CameraClose.svg'; import MicOpenSVG from '@/assets/img/MicOpen.svg'; import MicCloseSVG from '@/assets/img/MicClose.svg'; import LeaveRoomSVG from '@/assets/img/LeaveRoom.svg'; import ScreenOnSVG from '@/assets/img/ScreenOn.svg'; import ScreenOffSVG from '@/assets/img/ScreenOff.svg'; function ToolBar(props: React.HTMLAttributes) { const { className, ...rest } = props; const [open, setOpen] = useState(false); const { isVision, isScreenMode } = useScene(); const leaveRoom = useLeave(); const { isAudioPublished, isVideoPublished, isScreenPublished, switchMic, switchCamera, switchScreenCapture, } = useDeviceState(); return (
switchMic(true)} className={style.btn} alt="mic" /> {!isVision ? null : isScreenMode && !isMobile() ? ( switchScreenCapture()} className={style.btn} alt="screenShare" /> ) : ( switchCamera(true)} className={style.btn} alt="camera" /> )} {isScreenMode && ( switchScreenCapture(true)} className={style.btn} alt="screenShare" /> )} leave {isMobile() ? ( setOpen(false)} style={{ width: 'max-content', }} footer={null} > ) : null}
); } export default memo(ToolBar);