import { createAction as e } from "@reduxjs/toolkit"
import * as l from "./call-status.action"
import * as a from "./call-presence.action"
import { CALL_STATUS as o } from "./call.constants"
export const setCallIds = e("call/set-call-ids")
export const setCallStatus = e("call/set-call-status")
export const showCallConfirmLeave = e("call/show-call-confirm-leave")
export const showCallAutoEndPopup = e("call/show-call-auto-end-popup")
export const resetCallAutoEndTimer = e("call/reset-call-auto-end-timer")
export const updateCallAutoEndCountdown = e("call/udpate-call-auto-end-countdown")
export const setCallShareScreenDialogOpened = e("call/set-call-share-screen-dialog-opened")
export const openCallSettings = e("call/open-call-settings")
export const setCallRemoteMediaAudioError = e("call/set-call-remote-media-audio-error")
export const removeCallRemoteMediaAudioError = e("call/remove-call-remote-media-audio-error")
export const updateCallRemoteMedia = e("call/update-call-remote-media")
export const removeCallRemoteMedia = e("call/remove-call-remote-media")
export const increaseCallPeersCount = e("call/increase-call-peers-count")
export const decreaseCallPeersCount = e("call/decrease-call-peers-count")
export const removeCallPeersCount = e("call/remove-call-peers-count")
export const setCallPeers = e("call/set-call-peers")
export const setRoomActiveCall = e("call/set-room-active-call")
export const setActiveCalls = e("call/set-active-calls")
export const {
callCancel: callCancel,
callJoinCmd: callJoinCmd,
callJoinedEvt: callJoinedEvt,
callLeave: callLeave,
callResume: callResume,
callReset: callReset,
} = l
export const {
addCallMemberId: addCallMemberId,
addCallMemberStream: addCallMemberStream,
addCallUnknownPresenceEvt: addCallUnknownPresenceEvt,
removeCallMemberId: removeCallMemberId,
removeCallMemberStream: removeCallMemberStream,
isStreamRemovedPresenceData: isStreamRemovedPresenceData,
} = a
export const callOpenShareScreenDialog = e("call/open-share-screen-dialog")
export const callCloseShareScreenDialog = e("call/close-share-screen-dialog")
export const callSharedScreenUpdate = e("call/shared-screen-update")
export const callAudioStreamToggle = e("call/audio-stream-toggle")
export const callAudioDeviceUpdate = e("call/audio-device-update")
export const callAudioOutputDeviceUpdate = e("call/audio-output-device-update")
export const callVideoStreamToggle = e("call/video-stream-toggle")
export const callVideoDeviceUpdate = e("call/video-device-update")
export const callVideoQualityUpdate = e("call/video-quality-update")
export const callToggleVideo = e("call/toggle-video")
export const callSwapVideoCamera = e("call/swap-video-camera")
export const callCloseVideo = e("call/close-video")
export const callJoinDMIncoming = e("call/join-dm-call")
export const callDeclineDMIncoming = e("call/decline-dm-call")
export const callNotificationReceived = e("call/notification-received")
export const callSetIncomingDMCall = e("call/set-incoming-dm-call")
export const callResetIncomingDMCall = e("call/reset-incoming-dm-call")
export const setDmCallsV2Enabled = e("call/set-dm-calls-v2-enabled")
export const toggleDmCallsV2 = e("call/toggle-dm-calls-v2")
export const setPendingCall = e("call/set-pending-call")
export const isSetCallStatusReady = (e) => setCallStatus.match(e) && e.payload === o.READY