{"version":3,"file":"279.f5806d8f069d3504cc19.js","mappings":"8GAAO,MAAMA,EAAgB,eAUhBC,EACC,WAKDC,EAIT,CACAC,KAAM,kBACNC,SAAS,EACTC,UAAU,G,wHCpBd,MAAMC,EAAS,SACTC,EAAU,UACHC,EAAgB,gB,OCD7BC,EAAOC,MAAM,gBAAiB,IDGvB,MAeHC,IAAAA,GACIC,KAAKC,QAAS,EACdD,KAAKE,aAAeb,EACpBW,KAAKG,aAAe,OAAQC,aAAaC,QAAQjB,KDrB7C,ECuBJY,KAAKM,oBACT,CAEAA,kBAAAA,GACI,MAAMC,EAAWH,aAAaC,QAAQf,EAASC,MAE/C,GAAiB,OAAbgB,EACA,OAAOP,KAAKQ,mBAAmBlB,EAASG,UAG5CO,KAAKS,gBAAkBF,IAAajB,EAASE,QAAQkB,UACzD,CAEAC,cAAAA,CAAeC,GACXZ,KAAKE,aAAeU,EACpBC,EAAE,YAAYC,YAAYnB,GAC1BkB,EAAE,uBAAuBE,KAAK,OAAOD,YAAYpB,GAC7CkB,IAAavB,EACbwB,EAAE,kBAAkBG,SAAStB,GAE7BmB,EAAE,SAASD,EAASK,iBAAiBD,SAAStB,GAE9CkB,IAAavB,GACbwB,EAAE,IAAID,EAASK,sBAAsBD,SAASrB,EAEtD,CAEAuB,cAAAA,GACIlB,KAAKC,QAAUD,KAAKC,OACpBkB,OAAOC,YAAYC,YAAYzB,EAAeI,KAAKC,OACvD,CAEAqB,aAAAA,GACItB,KAAKC,QAAS,EACdkB,OAAOC,YAAYC,YAAYzB,GAAe,EAClD,CAEA2B,eAAAA,CAAgBC,GACZL,OAAOC,YAAYK,aAAaD,GAChCpB,aAAasB,QAAQtC,EAAeoC,EAAKd,YACzCV,KAAKG,aAAeqB,CACxB,CAEAhB,kBAAAA,CAAmBmB,GACf3B,KAAKS,gBAAkBkB,EACvBvB,aAAasB,QAAQpC,EAASC,KAAMoC,EAAUjB,YAC9CS,OAAOC,YAAYb,SAASoB,EAChC,CAEAC,eAAAA,GACI,OAAO5B,KAAKE,YAChB,CAEA2B,eAAAA,GACI,OAAO7B,KAAKG,YAChB,CAEA2B,kBAAAA,GACI,OAAO9B,KAAKS,eAChB,CAEAsB,SAAAA,GACI,OAAO/B,KAAKC,MAChB,CAxEA+B,WAAAA,GAVA/B,EAAAA,KAAAA,UAAS,GAETgC,EAAAA,KAAAA,sBAAqB,GAErB,OAAQ/B,eAAqBb,GAE7B,OAAQc,eDVA,GCYR,OAAQM,kBAAkBnB,EAASG,UAG/BO,KAAKD,MACT,G","sources":["webpack://core-webapp/./src/stores/video_settings/config.ts","webpack://core-webapp/./src/stores/video_settings/video_settings.ts","webpack://core-webapp/./src/stores/video_settings/index.ts"],"sourcesContent":["export const PLAYBACK_RATE = 'playbackRate';\n\nexport const PLAYBACK_RATES: Record = {\n slow: 0.5,\n normal: 1,\n fast: 1.5,\n faster: 2,\n fastest: 3,\n};\n\nexport const MENU: Record = {\n SETTINGS: 'SETTINGS',\n QUALITY: 'QUALITY',\n SPEED: 'SPEED',\n};\n\nexport const AUTOPLAY: {\n NAME: string;\n ENABLED: AutoPlayEnabled;\n DISABLED: AutoPlayEnabled;\n} = {\n NAME: 'autoplayEnabled',\n ENABLED: true,\n DISABLED: false,\n};\n","import { AUTOPLAY, PLAYBACK_RATE, PLAYBACK_RATES } from '@/stores/video_settings/config';\nimport { MENU } from '@/stores/video_settings/config';\n\nconst W_FULL = 'w-full';\nconst VISIBLE = 'visible';\nexport const SETTINGS_OPEN = 'settings-open';\n\nexport class VideoSettings {\n isOpen = false;\n\n showAutoplayOption = true;\n\n private selectedMenu: Menu = MENU.SETTINGS;\n\n private selectedRate: PlaybackRates = PLAYBACK_RATES.normal;\n\n private autoplayEnabled = AUTOPLAY.DISABLED;\n\n constructor() {\n this.init();\n }\n\n init() {\n this.isOpen = false;\n this.selectedMenu = MENU.SETTINGS;\n this.selectedRate = (Number(localStorage.getItem(PLAYBACK_RATE)) as PlaybackRates) || PLAYBACK_RATES.normal;\n\n this.setInitialAutoplay();\n }\n\n setInitialAutoplay() {\n const autoplay = localStorage.getItem(AUTOPLAY.NAME);\n\n if (autoplay === null) {\n return this.setAutoplayEnabled(AUTOPLAY.DISABLED);\n }\n\n this.autoplayEnabled = autoplay === AUTOPLAY.ENABLED.toString();\n }\n\n switchMenuItem(menuItem: Menu) {\n this.selectedMenu = menuItem;\n $('.submenu').removeClass(VISIBLE);\n $('#settings-main-menu').find('div').removeClass(W_FULL);\n if (menuItem === MENU.SETTINGS) {\n $('#main-settings').addClass(W_FULL);\n } else {\n $(`#main-${menuItem.toLowerCase()}`).addClass(W_FULL);\n }\n if (menuItem !== MENU.SETTINGS) {\n $(`#${menuItem.toLowerCase()}-menu`).addClass(VISIBLE);\n }\n }\n\n toggleSettings() {\n this.isOpen = !this.isOpen;\n window.main_player.toggleClass(SETTINGS_OPEN, this.isOpen);\n }\n\n closeSettings() {\n this.isOpen = false;\n window.main_player.toggleClass(SETTINGS_OPEN, false);\n }\n\n setPlaybackRate(rate: PlaybackRates) {\n window.main_player.playbackRate(rate);\n localStorage.setItem(PLAYBACK_RATE, rate.toString());\n this.selectedRate = rate;\n }\n\n setAutoplayEnabled(isEnabled: boolean) {\n this.autoplayEnabled = isEnabled;\n localStorage.setItem(AUTOPLAY.NAME, isEnabled.toString());\n window.main_player.autoplay(isEnabled);\n }\n\n getSelectedMenu(): Menu {\n return this.selectedMenu;\n }\n\n getSelectedRate(): PlaybackRates {\n return this.selectedRate;\n }\n\n getAutoplayEnabled(): boolean {\n return this.autoplayEnabled;\n }\n\n getIsOpen(): boolean {\n return this.isOpen;\n }\n}\n","import { VideoSettings } from '@/stores/video_settings/video_settings';\n\nimport Alpine from 'alpinejs';\n\nAlpine.store('videoSettings', new VideoSettings());\n"],"names":["PLAYBACK_RATE","MENU","AUTOPLAY","NAME","ENABLED","DISABLED","W_FULL","VISIBLE","SETTINGS_OPEN","Alpine","store","init","this","isOpen","selectedMenu","selectedRate","localStorage","getItem","setInitialAutoplay","autoplay","setAutoplayEnabled","autoplayEnabled","toString","switchMenuItem","menuItem","$","removeClass","find","addClass","toLowerCase","toggleSettings","window","main_player","toggleClass","closeSettings","setPlaybackRate","rate","playbackRate","setItem","isEnabled","getSelectedMenu","getSelectedRate","getAutoplayEnabled","getIsOpen","constructor","showAutoplayOption"],"sourceRoot":""}