{"version":3,"sources":["../ui/src/components/player-components/soundVolume/soundVolume.tsx","../ui/src/components/player-components/soundVolume/soundVolumeIcon.tsx"],"sourcesContent":["import { useRef, useState } from 'react';\r\nimport SoundVolumeIcon from './soundVolumeIcon';\r\nimport { useAppDispatch, useAppSelector } from 'redux-share/hooks';\r\nimport { sendFluentLog, volumeLog } from '../../../../../logs';\r\nimport { createSettings } from 'redux-share/actions/user.actions';\r\nimport { setUserSettings } from 'redux-share/slices/userSlice';\r\nimport { handleChangeSoundVolume } from 'redux-share/actions/controller.actions';\r\nimport store from 'redux-share/store';\r\nimport { conditions } from 'helpers';\r\nimport { ConditionName } from 'interfaces';\r\nimport { shallowEqual } from 'react-redux';\r\nimport dynamic from \"next/dynamic\";\r\n\r\nconst ControllbarTooltip = dynamic(() => import(\"../../mainComponent/footer/controllbar/controllbarTooltip\"));\r\n\r\nconst SoundVolume = () => {\r\n\r\n    const [showTooltip, setShowTooltip] = useState<boolean>(false);\r\n\r\n    const dispatch = useAppDispatch();\r\n    const { settings } = useAppSelector(({ user: { settings } }) => ({ settings }), shallowEqual);\r\n    useAppSelector(({ videoData: { ads } }) => ({ ads }), shallowEqual);\r\n\r\n    const primaryVolumeRef = useRef<number>(settings.volume);\r\n\r\n    const handleMouseUp = () => {\r\n        if (primaryVolumeRef.current !== settings.volume) {\r\n            const { settings } = store.getState().user;\r\n            sendFluentLog(volumeLog(primaryVolumeRef.current, settings.volume));\r\n            primaryVolumeRef.current = settings.volume;\r\n            createSettings({ ...settings, volume: settings.volume });\r\n            dispatch(setUserSettings({...settings, volume:settings.volume}))\r\n        }\r\n    }\r\n\r\n    const handleMute = (type:string) => {\r\n        const { settings } = store.getState().user;\r\n        if(type === \"mute\") {\r\n            handleChangeSoundVolume(0);\r\n            sendFluentLog(volumeLog(settings.volume, 0));\r\n            createSettings({ ...settings, volume: 0 });\r\n        } else {\r\n            sendFluentLog(volumeLog(settings.volume, 100));\r\n            handleChangeSoundVolume(100);\r\n            createSettings({...settings, volume: 100});\r\n        }\r\n    }\r\n\r\n    return (\r\n        <div className={`${conditions(ConditionName.isPlayingAd) && `pl-absolute ${conditions(ConditionName.isTouchScreen) ? \"pl-bottom-2 pl-left-[15px]\" : \"pl-bottom-3 pl-left-4\"}`} pl-inline-flex pl-items-center pl-gap-2 pl-sound-icon`}>\r\n            {!conditions(ConditionName.isTouchScreen) && (\r\n                <input\r\n                    onMouseUp={handleMouseUp}\r\n                    type=\"range\"\r\n                    min=\"0\"\r\n                    max=\"100\"\r\n                    value={settings.volume}\r\n                    onChange={(event) => handleChangeSoundVolume(+event.target.value)}\r\n                    className=\"pl-soundVolume pl-cursor-pointer\"\r\n                    style={{ background: `linear-gradient(to right, white ${settings.volume}%, rgba(255,255,255,0.3) 0)` }}\r\n                />\r\n\r\n            )}\r\n            <div className='pl-relative pl-flex pl-items-center'>\r\n                <SoundVolumeIcon \r\n                    onClick={() => conditions(ConditionName.hasSound) ? handleMute(\"mute\") : handleMute(\"unmute\")}\r\n                    onDoubleClick={(event: any) => event.stopPropagation()}\r\n                    onMouseOver={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(true)}\r\n                    onMouseLeave={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(false)}\r\n                />\r\n                {showTooltip && !conditions(ConditionName.isPlayingAd) && <ControllbarTooltip className={`${conditions(ConditionName.isStaticFormat) && \"pl-right-[-40px]\"}`} title={`${conditions(ConditionName.hasSound) ? \"با صدا\" : \"بی صدا\"} (m)`} />}\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default SoundVolume;","import Image from \"next/image\";\r\nimport { useAppSelector } from \"../../../../../redux/hooks\";\r\nimport { ConditionName, ISoundVolumeIconProps } from \"../../../../../interfaces\";\r\nimport { conditions } from \"../../../../../helpers\";\r\nimport IMAGES from \"../../../../../images/importImages\";\r\nimport { shallowEqual } from 'react-redux'\r\n\r\nconst SoundVolumeIcon = (props: ISoundVolumeIconProps) => {\r\n    const { params, videoElementSizeInfo } = useAppSelector(({ videoData: { params, videoElementSizeInfo } }) => ({ params, videoElementSizeInfo }), shallowEqual);\r\n    const { showMiniPlayer } = useAppSelector(({ controller: { showMiniPlayer } }) => ({ showMiniPlayer }), shallowEqual);\r\n\r\n    return (\r\n        <>\r\n            {conditions(ConditionName.isSplusEnvironment) ? (\r\n                <i \r\n                    className={`fa-solid ${conditions(ConditionName.hasSound) ? \"fa-volume\" : \"fa-volume-xmark\"} pl-text-white ${conditions(ConditionName.isMiniPlayer) ? \"pl-text-[13px]\" : \"pl-text-[22px]\"} pl-cursor-pointer pl-flex pl-items-center ${conditions(ConditionName.isMiniPlayer) ? \"pl-text-[13px]\" : \"pl-text-[18px]\"}`} \r\n                    {...props}\r\n                />\r\n            ) : (\r\n                <Image\r\n                    src={conditions(ConditionName.hasSound) ? IMAGES.unMute : IMAGES.mute}\r\n                    alt={conditions(ConditionName.hasSound) ? \"unmute-icon\" : \"mute-icon\"}\r\n                    className={`pl-flex pl-items-center pl-cursor-pointer`}\r\n                    width={((params.portrait !== \"true\" || showMiniPlayer) && videoElementSizeInfo.width < 520) ? 14 : 22}\r\n                    height={((params.portrait !== \"true\" || showMiniPlayer) && videoElementSizeInfo.width < 520) ? 13 : 22}\r\n                    {...props}\r\n                />\r\n            )}\r\n        </>\r\n\r\n    )\r\n\r\n}\r\n\r\nexport default SoundVolumeIcon;"],"mappings":"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","names":["init_esm_shims","useRef","useState","init_esm_shims","Image","shallowEqual","Fragment","jsx","SoundVolumeIcon","props","params","videoElementSizeInfo","useAppSelector","showMiniPlayer","conditions","Image","importImages_default","soundVolumeIcon_default","shallowEqual","dynamic","jsx","jsxs","ControllbarTooltip","SoundVolume","showTooltip","setShowTooltip","useState","dispatch","useAppDispatch","settings","useAppSelector","ads","primaryVolumeRef","useRef","handleMouseUp","store_default","sendFluentLog","volumeLog","createSettings","setUserSettings","handleMute","type","handleChangeSoundVolume","conditions","event","soundVolumeIcon_default","soundVolume_default"]}