{"version":3,"sources":["../ui/src/components/player-components/settings/settings.tsx","../ui/src/components/player-components/settings/settingsIcon.tsx","../ui/src/components/player-components/qualityLevels/qualityLevels.tsx","../ui/src/components/player-components/multiAudio/multiAudio.tsx","../ui/src/components/player-components/subtitles/subtitlesMenu.tsx"],"sourcesContent":["import { memo, useEffect, useRef, useState } from \"react\";\r\nimport Popover from \"../popover/popover\";\r\nimport SettingsIcon from \"./settingsIcon\";\r\nimport { useAppDispatch, useAppSelector } from \"redux-share/hooks\";\r\nimport { setClearPopoversSlice, setSettingPopover, setSharePopover } from \"redux-share/slices/popoversSlice\";\r\nimport useOnClickOutside from \"helpers/hooks/useOnClickOutside\";\r\nimport { conditions, justAudio } from \"helpers\";\r\nimport { ConditionName } from \"interfaces\";\r\nimport { setUserSettings } from \"redux-share/slices/userSlice\";\r\nimport { createSettings } from \"redux-share/actions/user.actions\";\r\nimport { deActiveSettingLog, sendFluentLog } from \"../../../../../logs\";\r\nimport { handlePopoverSizeInMiniPlayer } from \"helpers/helpers\";\r\nimport { shallowEqual } from 'react-redux';\r\nimport ControllbarTooltip from \"../../mainComponent/footer/controllbar/controllbarTooltip\";\r\nimport ChevronLeftIcon from \"../../icon-components/chevronLeft\";\r\nimport Toggle from \"../toggle/toggle\";\r\nimport QualityLevels from \"../qualityLevels/qualityLevels\";\r\nimport MultiAudio from \"../multiAudio/multiAudio\";\r\nimport SubtitlesMenu from \"../subtitles/subtitlesMenu\";\r\n\r\nconst Settings = () => {\r\n    const dispatch = useAppDispatch();\r\n    const { multiAudio, selectedAudioId, selectedSubtitle } = useAppSelector(({ videoData: { multiAudio, selectedAudioId, selectedSubtitle, params, videoElementSizeInfo } }) => ({ multiAudio, selectedAudioId, selectedSubtitle, params, videoElementSizeInfo }), shallowEqual);\r\n    const { settingPopover } = useAppSelector(({ popovers: { settingPopover } }) => ({ settingPopover }), shallowEqual);\r\n    const { settings } = useAppSelector(({ user: { settings } }) => ({ settings }), shallowEqual);\r\n    const { qualityLevels, qualityBitrates, manualQuality, autoQuality, showMiniPlayer } = useAppSelector(({ controller: { qualityLevels, qualityBitrates, manualQuality, autoQuality, showMiniPlayer } }) => ({ qualityLevels, qualityBitrates, manualQuality, autoQuality, showMiniPlayer }), shallowEqual);\r\n\r\n    const [section, setSection] = useState<string>(\"main\");\r\n    const [elementHeight, setElementHeight] = useState<number>(0);\r\n    const [showTooltip, setShowTooltip] = useState<boolean>(false);\r\n\r\n    const settingsRef = useRef(null);\r\n\r\n    useOnClickOutside(settingsRef, () => {\r\n        dispatch(setSettingPopover(false))\r\n        setTimeout(() => setSection(\"main\"), 500)\r\n    });\r\n\r\n    useEffect(() => {\r\n        if (conditions(ConditionName.isMiniPlayer) || conditions(ConditionName.showMiniPlayer)) setSection(\"qualityLevels\")\r\n        setElementHeight(document.getElementById(section)?.offsetHeight!);\r\n    }, [section, showMiniPlayer])\r\n\r\n    const handleQualityLabel = () => {\r\n        const quality = conditions(ConditionName.isAutoQuality) ? Number(qualityLevels[autoQuality!]) : Number(qualityLevels[manualQuality !== undefined ? manualQuality : settings.quality])\r\n        if (quality >= 720 && quality < 1080) return \"HD\";\r\n        else if (quality >= 1080 && quality < 2160) return \"FHD\";\r\n        else if (quality >= 2160 && quality < 4320) return \"4K\";\r\n        else if (quality >= 4320) return \"8K\";\r\n        else return `${quality}p`;\r\n    }\r\n\r\n    const handleToggle = () => {\r\n        dispatch(setUserSettings({ ...settings, poll_emoji: !settings.poll_emoji }));\r\n        createSettings({ ...settings, poll_emoji: !settings.poll_emoji });\r\n        sendFluentLog(deActiveSettingLog());\r\n    }\r\n\r\n    const qualityTitle = () => {\r\n        let result: string;\r\n        if (conditions(ConditionName.isAutoQuality)) result = `خودکار (${qualityLevels[autoQuality!]}P - ${qualityBitrates[autoQuality!]})`\r\n        else if (Number(qualityLevels[manualQuality!]) === justAudio) result = \"فقط صدا\";\r\n        else result = `${qualityLevels[manualQuality!]}P - ${qualityBitrates[manualQuality!]}`;\r\n        return result;\r\n    }\r\n\r\n    const handleShowSettingPopover = () => {\r\n        if (conditions(ConditionName.isComplexPortrait)) dispatch(setClearPopoversSlice());\r\n        dispatch(setSettingPopover(!settingPopover));\r\n    }\r\n\r\n    return (\r\n        <div className={`pl-inline-flex ${conditions(ConditionName.isLandscape) && \"pl-relative\"}`} ref={settingsRef}>\r\n            <div\r\n                className={`pl-flex pl-items-center pl-relative pl-cursor-pointer`}\r\n                onClick={handleShowSettingPopover}\r\n                onMouseOver={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(true)}\r\n                onMouseLeave={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(false)}\r\n            >\r\n                <SettingsIcon />\r\n                {!conditions(ConditionName.isMiniPlayer) && <span className={`${Number(qualityLevels[conditions(ConditionName.isAutoQuality) ? autoQuality! : manualQuality !== undefined ? manualQuality : settings.quality]) >= 720 ? \"pl-bg-red-light pl-right-[-6px]\" : \"pl-bg-secondary-500 pl-right-[-10px]\"} pl-absolute pl-top-0 ${conditions(ConditionName.isComplexPortrait) && \"pl-top-[-4px] pl-right-[-16px]\"} pl-text-[8px] pl-text-white pl-px-1 pl-pt-[1px]`}>{handleQualityLabel()}</span>}\r\n                {showTooltip && <ControllbarTooltip title=\"تنظیمات\" />}\r\n            </div>\r\n            <Popover\r\n                classNames={`!pl-p-0 pl-overflow-hidden ${!conditions(ConditionName.isComplexPortrait) && \"pl-mb-[33px] pl-right-0\"} ${conditions(ConditionName.isMiniPlayer) && !conditions(ConditionName.isFullMobilePortrait) ? `!pl-fixed pl-rounded-r-none pl-w-[200px] !pl-mb-0` : \"pl-w-[285px]\"}`}\r\n                animation={conditions(ConditionName.isMiniPlayer) && !conditions(ConditionName.isFullMobilePortrait) ? (settingPopover ? \"animate__fadeInRight\" : \"animate__fadeOutRight\") : undefined}\r\n                styles={{ maxHeight: `${elementHeight}px`, ...handlePopoverSizeInMiniPlayer() }}\r\n                status={settingPopover}\r\n                onClose={() => dispatch(setSettingPopover(false))}\r\n                type={conditions(ConditionName.isComplexPortrait) ? \"modal\" : \"popover\"}\r\n                isBlurBackground={conditions(ConditionName.isComplexPortrait)}\r\n                ref={settingsRef}\r\n            >\r\n                <>\r\n                    {section === \"main\" && (\r\n                        <div id=\"main\" className=\"pl-px-4 pl-rounded-[10px] pl-flex pl-flex-col pl-gap-[14px] pl-py-3 animate__animated animate__fadeIn\">\r\n                            {!conditions(ConditionName.isStaticFormat) && (\r\n                                <>\r\n                                    <div\r\n                                        className=\"pl-flex pl-justify-between pl-items-center pl-border-b pl-pb-[14px] pl-cursor-pointer pl-text-[14px]\"\r\n                                        onClick={(e) => {\r\n                                            e.preventDefault();\r\n                                            e.stopPropagation();\r\n                                            setSection(\"qualityLevels\")\r\n                                        }}\r\n                                    >\r\n                                        <span className=\"pl-font-medium\">کیفیت</span>\r\n                                        <span className=\"pl-font-bold\">{qualityTitle()}</span>\r\n                                    </div>\r\n                                    {conditions(ConditionName.hasSubtitle) && (\r\n                                        <div\r\n                                            className=\"pl-flex pl-justify-between pl-items-center pl-border-b pl-pb-[14px] pl-cursor-pointer pl-text-[14px]\"\r\n                                            onClick={() => setSection(\"subtitles\")}\r\n                                        >\r\n                                            <span className=\"pl-font-medium\">انتخاب زیرنویس</span>\r\n                                            <span className=\"pl-font-bold\">{conditions(ConditionName.isSelectedSubtitle) ? selectedSubtitle.label : \"بدون زیرنویس\"}</span>\r\n                                        </div>\r\n                                    )}\r\n                                    {conditions(ConditionName.hasMultiAudio) && (\r\n                                        <div\r\n                                            className=\"pl-flex pl-justify-between pl-items-center pl-border-b pl-pb-[14px] pl-cursor-pointer pl-text-[14px]\"\r\n                                            onClick={() => setSection(\"multiAudio\")}\r\n                                        >\r\n                                            <span className=\"pl-font-medium\">انتخاب زبان</span>\r\n                                            <span className=\"pl-font-bold\">{multiAudio.find((audio: any, index: number) => index === selectedAudioId).name}</span>\r\n                                        </div>\r\n                                    )}\r\n                                    {conditions(ConditionName.showShareInSetting) && (\r\n                                        <div\r\n                                            className=\"pl-flex pl-justify-between pl-items-center pl-border-b pl-pb-3 pl-cursor-pointer pl-text-[14px]\"\r\n                                            onClick={() => dispatch(setSharePopover(true))}\r\n                                        >\r\n                                            <span className=\"pl-font-medium\">اشتراک گذاری</span>\r\n                                            <ChevronLeftIcon className=\"pl-stroke-gray-800 dark:pl-stroke-dark-5 pl-w-3 pl-h-3\" />\r\n                                        </div>\r\n                                    )}\r\n                                </>\r\n                            )}\r\n\r\n                            {conditions(ConditionName.isLiveParam) && (\r\n                                <div className=\"pl-flex pl-justify-between pl-items-center\">\r\n                                    <span className=\"pl-text-[14px] pl-font-medium pl-ml-10\">نمايش نظرسنجى و ايموجى ها</span>\r\n                                    <Toggle enabled={settings.poll_emoji} setEnabled={handleToggle} />\r\n                                </div>\r\n                            )}\r\n                        </div>\r\n                    )}\r\n                    {section === \"qualityLevels\" && !conditions(ConditionName.isStaticFormat) && <QualityLevels setSection={setSection} />}\r\n                    {section === \"multiAudio\" && <MultiAudio setSection={setSection} />}\r\n                    {section === \"subtitles\" && <SubtitlesMenu setSection={setSection} />}\r\n                </>\r\n            </Popover>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default memo(Settings);","import Image from \"next/image\";\r\nimport IMAGES from \"../../../../../images/importImages\";\r\nimport { conditions } from \"../../../../../helpers\";\r\nimport { ConditionName } from \"../../../../../interfaces\";\r\nimport { useAppSelector } from \"redux-share\";\r\nimport { shallowEqual } from 'react-redux'\r\n\r\nconst SettingsIcon = () => {\r\n\r\n    useAppSelector(({ controller: { showMiniPlayer } }) => ({ showMiniPlayer }), shallowEqual);\r\n    useAppSelector(({ videoData: { videoElementSizeInfo, params } }) => ({ videoElementSizeInfo, params }), shallowEqual);\r\n\r\n    return (\r\n        <>\r\n            {conditions(ConditionName.isSplusEnvironment) ? (\r\n                <i className={`fa-solid fa-gear pl-cursor-pointer pl-text-white ${conditions(ConditionName.isSpinSettingsIcon) && \"pl-animate-spin\"} ${conditions(ConditionName.isMiniPlayer) ? \"pl-text-[13px]\" : \"pl-text-[22px]\"}`} />\r\n            ) : (\r\n                <Image\r\n                    alt=\"settings-icon\"\r\n                    src={IMAGES.settings}\r\n                    width={conditions(ConditionName.isMiniPlayer) ? 13 : conditions(ConditionName.isComplexPortrait) ? 17 : 22}\r\n                    height={conditions(ConditionName.isMiniPlayer) ? 13 : conditions(ConditionName.isComplexPortrait) ? 17 : 22}\r\n                    className={`${conditions(ConditionName.isSpinSettingsIcon) && \"pl-animate-spin\"}`}\r\n                />\r\n            )}\r\n        </>\r\n    )\r\n}\r\n\r\nexport default SettingsIcon;","import { conditions, justAudio } from \"helpers\";\r\nimport { ConditionName } from \"interfaces\";\r\nimport { qualityChangeRequestLog, sendFluentLog } from \"../../../../../logs\";\r\nimport { createSettings } from \"redux-share/actions/user.actions\";\r\nimport { useAppDispatch, useAppSelector } from \"redux-share/hooks\";\r\nimport { setActiveElements } from \"redux-share/slices/controllerSlice\";\r\nimport { setSettingPopover } from \"redux-share/slices/popoversSlice\";\r\nimport { setUserSettings } from \"redux-share/slices/userSlice\";\r\nimport { shallowEqual } from 'react-redux';\r\nimport dynamic from \"next/dynamic\";\r\n\r\nconst ChevronRightIcon = dynamic(() => import(\"../../icon-components/chevronRight\"));\r\n\r\nconst QualityLevels = ({ setSection }: any) => {\r\n\r\n    const dispatch = useAppDispatch();\r\n    const { qualityLevels, qualityBitrates, manualQuality, autoQuality } = useAppSelector(({ controller: { qualityLevels, qualityBitrates, manualQuality, autoQuality, showMiniPlayer } }) => ({ qualityLevels, qualityBitrates, manualQuality, autoQuality, showMiniPlayer }), shallowEqual);\r\n    const { settings } = useAppSelector(({ user: { settings } }) => ({ settings }), shallowEqual);\r\n    useAppSelector(({ videoData: { params, videoElementSizeInfo } }) => ({ params, videoElementSizeInfo }), shallowEqual);\r\n\r\n    const handleTickSelectedQuality = (index: number, qualityLevel: number) => {\r\n        if (conditions(ConditionName.isAutoQuality) && qualityLevel === -1) return true;\r\n        else return !conditions(ConditionName.isAutoQuality) && settings.quality === index;\r\n    }\r\n\r\n    return (\r\n        <div id=\"qualityLevels\" className=\"animate__animated animate__fadeIn\">\r\n            <div className=\"pl-flex pl-items-center pl-cursor-pointer\" onClick={() => setSection(\"main\")}>\r\n                {!conditions(ConditionName.isMiniPlayer) && <ChevronRightIcon className=\"pl-absolute !pl-right-[5px] pl-w-5 pl-h-5 pl-stroke-gray-800 dark:pl-stroke-dark-5\" />}\r\n                <p className={`pl-text-[15px] pl-font-medium pl-py-3 ${conditions(ConditionName.isMiniPlayer) ? \"pl-relative pl-right-3\" : \"pl-pr-12\"}`}>کیفیت</p>\r\n            </div>\r\n            <ul className=\"pl-flex pl-flex-col pl-p-0 pl-m-0\">\r\n                {qualityLevels.map((qualityLevel: number, index: number) => (\r\n                    <li\r\n                        key={index}\r\n                        className={`pl-flex pl-items-center pl-text-[14px] pl-font-medium pl-pr-12 pl-relative pl-cursor-pointer pl-leading-6 hover:pl-bg-main/[0.1] hover:dark:pl-bg-white/[0.25] pl-p-1 ${handleTickSelectedQuality(index, qualityLevel) && \"pl-tick-icon pl-bg-main-light hover:!pl-bg-main-light pl-text-dark-5\"}`}\r\n                        onClick={() => {\r\n                            sendFluentLog(qualityChangeRequestLog(qualityLevel === -1 ? \"auto\" : `${qualityLevel}P`));\r\n                            dispatch(setActiveElements(false));\r\n                            dispatch(setSettingPopover(false));\r\n                            dispatch(setUserSettings({ ...settings, quality: qualityLevel === -1 ? -1 : index }));\r\n                            createSettings({ ...settings, quality: qualityLevel === -1 ? null : index });\r\n                            setSection(\"main\");\r\n                        }}\r\n                    >\r\n                        <span className=\"pl-w-full\">\r\n                            {qualityLevel === -1\r\n                                ? `خودکار ${conditions(ConditionName.isAutoQuality) ? `(${qualityLevels[autoQuality ?? manualQuality!]}P - ${qualityBitrates[autoQuality ?? manualQuality!]})` : \"\"}`\r\n                                : ((+qualityLevel === justAudio && conditions(ConditionName.isLiveParam)) ? \"فقط صدا\" : `${qualityLevel}P - ${qualityBitrates[index]}`)}\r\n                        </span>\r\n                    </li>\r\n                ))}\r\n            </ul>\r\n        </div>\r\n    )\r\n};\r\n\r\nexport default QualityLevels;","import { conditions } from \"helpers\";\r\nimport { ConditionName } from \"interfaces\";\r\nimport { useAppDispatch, useAppSelector } from \"redux-share/hooks\";\r\nimport { setActiveElements } from \"redux-share/slices/controllerSlice\";\r\nimport { setSettingPopover } from \"redux-share/slices/popoversSlice\";\r\nimport { setSelectedAudioId } from \"redux-share/slices/videoDataSlice\";\r\nimport ChevronRightIcon from \"../../icon-components/chevronRight\";\r\nimport { shallowEqual } from 'react-redux'\r\n\r\nconst MultiAudio = ({ setSection }: any) => {\r\n\r\n    const dispatch = useAppDispatch();\r\n    const { multiAudio, selectedAudioId } = useAppSelector(({ videoData: { multiAudio, selectedAudioId } }) => ({ multiAudio, selectedAudioId }), shallowEqual);\r\n\r\n    return (\r\n        <div id=\"multiAudio\" className=\"animate__animated animate__fadeIn\">\r\n            <div className=\"pl-flex pl-items-center pl-cursor-pointer\" onClick={() => setSection(\"main\")}>\r\n                <ChevronRightIcon className=\"pl-absolute !pl-right-[5px] pl-w-5 pl-h-5 pl-stroke-gray-800 dark:pl-stroke-dark-5\" />\r\n                <p className=\"pl-text-[15px] pl-font-medium pl-py-3 pl-pr-12\">انتخاب زبان</p>\r\n            </div>\r\n            <ul className=\"pl-flex pl-flex-col pl-p-0 pl-m-0\">\r\n                {conditions(ConditionName.hasMultiAudio) && multiAudio.map((audio: any, index:number) => (\r\n                    <li\r\n                        key={audio.id}\r\n                        className={`pl-flex pl-items-center pl-text-[14px] pl-pr-12 pl-relative pl-cursor-pointer pl-leading-6 hover:pl-bg-main/[0.1] hover:dark:pl-bg-white/[0.25] pl-p-1 ${selectedAudioId === index && \"pl-tick-icon pl-bg-main-light hover:!pl-bg-main-light  pl-text-dark-5\"}`}\r\n                        onClick={() => {\r\n                            dispatch(setSelectedAudioId(index));\r\n                            setSection(\"main\");\r\n                            dispatch(setActiveElements(false));\r\n                            dispatch(setSettingPopover(false));\r\n                        }}\r\n                    >\r\n                        <span>{audio.name}</span>\r\n                        {index === 0 && <span>(پیش فرض)</span>}\r\n                    </li>\r\n                ))}\r\n            </ul>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default MultiAudio;","import { videoTag } from \"helpers\";\r\nimport { sendFluentLog, subtitleLog } from \"../../../../../logs\";\r\nimport { useAppDispatch, useAppSelector } from \"redux-share/hooks\";\r\nimport { setActiveElements } from \"redux-share/slices/controllerSlice\";\r\nimport { setSettingPopover } from \"redux-share/slices/popoversSlice\";\r\nimport { setSelectedSubtitle, setSubtitleText } from \"redux-share/slices/videoDataSlice\";\r\nimport ChevronRightIcon from \"../../icon-components/chevronRight\";\r\nimport { shallowEqual } from 'react-redux'\r\n\r\nconst SubtitlesMenu = ({ setSection }: any) => {\r\n\r\n    const dispatch = useAppDispatch();\r\n    const { subtitles, selectedSubtitle } = useAppSelector(({ videoData: { subtitles, selectedSubtitle } }) => ({ subtitles, selectedSubtitle }), shallowEqual);\r\n\r\n    return (\r\n        <div id=\"subtitles\" className=\"animate__animated animate__fadeIn\">\r\n            <div className=\"pl-flex pl-items-center pl-cursor-pointer\" onClick={() => setSection(\"main\")}>\r\n                <ChevronRightIcon className=\"pl-absolute !pl-right-[5px] pl-w-5 pl-h-5 pl-stroke-gray-800 dark:pl-stroke-dark-5\" />\r\n                <p className=\"pl-text-[15px] pl-font-medium pl-py-3 pl-pr-12\">انتخاب زیرنویس</p>\r\n            </div>\r\n            <ul className=\"pl-flex pl-flex-col pl-p-0 pl-m-0\">\r\n                <li \r\n                    className={`pl-flex pl-items-center pl-text-[14px] pl-pr-12 pl-relative pl-cursor-pointer pl-leading-6 hover:pl-bg-main/[0.1] hover:dark:pl-bg-white/[0.25] pl-p-1 ${!selectedSubtitle && \"pl-tick-icon pl-bg-main-light hover:!pl-bg-main-light  pl-text-dark-5\"}`}\r\n                    onClick={() => {\r\n                        dispatch(setActiveElements(false));\r\n                        dispatch(setSettingPopover(false));\r\n                        dispatch(setSelectedSubtitle(undefined))\r\n                        setSection(\"main\");\r\n                        const result: any = Object.values(videoTag().textTracks).find((textTrack: any) => textTrack.mode === \"showing\")\r\n                        if (result) result.mode = \"disabled\"\r\n                        dispatch(setSubtitleText(\"\"));\r\n                        dispatch(setSelectedSubtitle(undefined));\r\n                        sendFluentLog(subtitleLog(\"empty\"));\r\n                    }}\r\n                >\r\n                    بدون زیرنویس\r\n                </li>\r\n                {subtitles.map((subtitle: any, index: number) => (\r\n                    <li\r\n                        key={index}\r\n                        className={`pl-flex pl-items-center pl-text-[14px] pl-pr-12 pl-relative pl-cursor-pointer pl-leading-6 hover:pl-bg-main/[0.1] hover:dark:pl-bg-white/[0.25] pl-p-1 ${(selectedSubtitle && selectedSubtitle.language === subtitle.language) && \"pl-tick-icon pl-bg-main-light hover:!pl-bg-main-light  pl-text-dark-5\"}`}\r\n                        onClick={() => {\r\n                            dispatch(setActiveElements(false));\r\n                            dispatch(setSettingPopover(false));\r\n                            dispatch(setSelectedSubtitle(subtitle))\r\n                            videoTag().textTracks[index].mode = \"showing\";\r\n                            setSection(\"main\");\r\n                            sendFluentLog(subtitleLog(subtitle.language));\r\n                        }}\r\n                    >\r\n                        <span>{subtitle.label}</span>\r\n                    </li>\r\n                ))}\r\n            </ul>\r\n        </div>\r\n    )\r\n};\r\n\r\nexport default SubtitlesMenu;"],"mappings":"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","names":["init_esm_shims","memo","useEffect","useRef","useState","init_esm_shims","Image","shallowEqual","Fragment","jsx","SettingsIcon","useAppSelector","showMiniPlayer","videoElementSizeInfo","params","conditions","Image","importImages_default","settingsIcon_default","shallowEqual","init_esm_shims","shallowEqual","dynamic","jsx","jsxs","ChevronRightIcon","QualityLevels","setSection","dispatch","useAppDispatch","qualityLevels","qualityBitrates","manualQuality","autoQuality","useAppSelector","showMiniPlayer","settings","params","videoElementSizeInfo","handleTickSelectedQuality","index","qualityLevel","conditions","sendFluentLog","qualityChangeRequestLog","setActiveElements","setSettingPopover","setUserSettings","createSettings","justAudio","qualityLevels_default","init_esm_shims","shallowEqual","jsx","jsxs","MultiAudio","setSection","dispatch","useAppDispatch","multiAudio","selectedAudioId","useAppSelector","chevronRight_default","conditions","audio","index","setSelectedAudioId","setActiveElements","setSettingPopover","multiAudio_default","init_esm_shims","shallowEqual","jsx","jsxs","SubtitlesMenu","setSection","dispatch","useAppDispatch","subtitles","selectedSubtitle","useAppSelector","chevronRight_default","setActiveElements","setSettingPopover","setSelectedSubtitle","result","videoTag","textTrack","setSubtitleText","sendFluentLog","subtitleLog","subtitle","index","subtitlesMenu_default","Fragment","jsx","jsxs","Settings","dispatch","useAppDispatch","multiAudio","selectedAudioId","selectedSubtitle","useAppSelector","params","videoElementSizeInfo","shallowEqual","settingPopover","settings","qualityLevels","qualityBitrates","manualQuality","autoQuality","showMiniPlayer","section","setSection","useState","elementHeight","setElementHeight","showTooltip","setShowTooltip","settingsRef","useRef","useOnClickOutside_default","setSettingPopover","useEffect","conditions","handleQualityLabel","quality","handleToggle","setUserSettings","createSettings","sendFluentLog","deActiveSettingLog","qualityTitle","result","justAudio","handleShowSettingPopover","setClearPopoversSlice","settingsIcon_default","controllbarTooltip_default","popover_default","handlePopoverSizeInMiniPlayer","e","audio","index","setSharePopover","chevronLeft_default","toggle_default","qualityLevels_default","multiAudio_default","subtitlesMenu_default","settings_default","memo"]}