import styles from '@/components/SpeakerModeModal/index.module.scss' import { Checkbox, Modal } from 'antd'; import { useState, useImperativeHandle, forwardRef, memo } from "react"; import { storage } from '@/utils'; import { useLocation } from 'react-router-dom'; import { GetSyncView } from '@/api/Meeting'; interface Props { onClick: () => void; meetingMode: string; } const SpeakerModeModal = forwardRef((props: any, ref: any) => { useImperativeHandle(ref, () => ({ changeSpeakerMode: () => { setIsSpeakerModeModal(true) } })) const [meetingMode, setMeetingMode] = useState('StandardMode') const { state } = useLocation(); const [isSpeakerModeModal, setIsSpeakerModeModal] = useState(false); const [isView, setIsView] = useState(false); const setMode = async (mode: string): Promise => { if (isView) { await GetSyncView(state.channelId, mode) } storage.setItem('meetingMode', mode) setMeetingMode(mode); setIsSpeakerModeModal(false) } return ( <> setIsSpeakerModeModal(false)} centered width={'560px'} >
setMode('FreedomMode')} meetingMode={meetingMode} /> setMode('StandardMode')} meetingMode={meetingMode} /> setMode('SpeakerMode')} meetingMode={meetingMode} /> setMode('SingleScreenMode')} meetingMode={meetingMode} /> setMode('DualScreenMode')} meetingMode={meetingMode} /> setMode('FourScreenMode')} meetingMode={meetingMode} />
{ setIsView(e.target.checked) }} checked={isView}>同步所有视图
) }) const FreedomMode: React.FC = ({ onClick, meetingMode }) => { // 宫格模式 return ( <>
{[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16].map(item =>
)}
宫格模式
) } const StandardMode: React.FC = ({ onClick, meetingMode }) => { // 标准模式 return ( <>
标准模式
) } const SpeakerMode: React.FC = ({ onClick, meetingMode }) => { // 演讲者模式 return ( <>
演讲者模式
) } const SingleScreenMode: React.FC = ({ onClick, meetingMode }) => { // 单画面模式 return ( <>
单画面模式
) } const DualScreenMode: React.FC = ({ onClick, meetingMode }) => { // 二分屏模式 return ( <>
二分屏模式
) } const FourScreenMode: React.FC = ({ onClick, meetingMode }) => { // 四分屏模式 return ( <>
四分屏模式
) } export default memo(SpeakerModeModal)