1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903 |
- exports.id = 6094;
- exports.ids = [6094];
- exports.modules = {
- /***/ 49880:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- var _path;
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
- var SvgChevronLeft = function SvgChevronLeft(props) {
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
- width: 15,
- height: 15,
- viewBox: "0 0 15 15",
- fill: "none",
- xmlns: "http://www.w3.org/2000/svg"
- }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "M8.842 3.135a.5.5 0 0 1 .023.707L5.435 7.5l3.43 3.658a.5.5 0 0 1-.73.684l-3.75-4a.5.5 0 0 1 0-.684l3.75-4a.5.5 0 0 1 .707-.023Z",
- fill: "currentColor",
- fillRule: "evenodd",
- clipRule: "evenodd"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgChevronLeft);
- /***/ }),
- /***/ 3932:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- var _path;
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
- var SvgChevronRight = function SvgChevronRight(props) {
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
- width: 15,
- height: 15,
- viewBox: "0 0 15 15",
- fill: "none",
- xmlns: "http://www.w3.org/2000/svg"
- }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "M6.158 3.135a.5.5 0 0 1 .707.023l3.75 4a.5.5 0 0 1 0 .684l-3.75 4a.5.5 0 1 1-.73-.684L9.566 7.5l-3.43-3.658a.5.5 0 0 1 .023-.707Z",
- fill: "currentColor",
- fillRule: "evenodd",
- clipRule: "evenodd"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgChevronRight);
- /***/ }),
- /***/ 43530:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "tooltipContainer": "OnboardingStep_tooltipContainer__cLWvX",
- "title": "OnboardingStep_title__QbSkZ",
- "description": "OnboardingStep_description__bkeeG",
- "icon": "OnboardingStep_icon__FEDh3",
- "actionContainer": "OnboardingStep_actionContainer__ovpeY"
- };
- /***/ }),
- /***/ 26628:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "base": "Separator_base__2kP0d",
- "semiBold": "Separator_semiBold__9Eu4c",
- "bold": "Separator_bold__412WT"
- };
- /***/ }),
- /***/ 96318:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "baseSize": "Skeleton_baseSize__RsOkc",
- "skeleton": "Skeleton_skeleton__u2Uso",
- "active": "Skeleton_active__5df2K",
- "loading": "Skeleton_loading__iZh50",
- "rounded": "Skeleton_rounded__ftYYr",
- "content": "Skeleton_content__knKtV"
- };
- /***/ }),
- /***/ 35902:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "internalContainer": "SpinnerContainer_internalContainer__kt2ni",
- "spinner": "SpinnerContainer_spinner__kzDgO"
- };
- /***/ }),
- /***/ 74008:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /**
- * List of events that can be dispatched to control the onboarding checklist
- * manually and give control to the component that is being on-boarded.
- * Events are triggered from @see useHandleOnboardingEvents.ts
- */ var OnboardingEvent;
- (function(OnboardingEvent) {
- OnboardingEvent["STEP_AFTER_CHOOSING_RECITER_FROM_LIST"] = "stepAfterChoosingReciterFromList";
- OnboardingEvent["STEP_AFTER_PLAY_AUDIO_CLICK"] = "stepAfterPlayAudioClick";
- OnboardingEvent["STEP_AFTER_AUDIO_PLAYER_TRIGGER"] = "stepAfterAudioPlayerTrigger";
- OnboardingEvent["STEP_AFTER_RECITER_LIST_ITEM_CLICK"] = "stepAfterReciterListItemClick";
- OnboardingEvent["STEP_BEFORE_RECITER_LIST_ITEM_CLICK"] = "stepBeforeReciterListItemClick";
- OnboardingEvent["STEP_BEFORE_CHOOSING_RECITER_FROM_LIST"] = "stepBeforeChoosingReciterFromList";
- })(OnboardingEvent || (OnboardingEvent = {}));
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OnboardingEvent);
- /***/ }),
- /***/ 70627:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _OnboardingEvent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(74008);
- /* harmony import */ var _redux_slices_navbar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44177);
- /* harmony import */ var _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20661);
- /* eslint-disable react-func/max-lines-per-function */
- /**
- * This hook is an abstraction of the custom logic required for different parts of the onboarding. Example: Opening the settings drawer when the user clicks on "Next" in the settings onboarding.
- *
- * @param {UseHandleOnboardingEventsParams} params
- * @returns {UseHandleOnboardingEventsReturn}
- */ const useHandleOnboardingEvents = ({ group , index , isLastStep })=>{
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_0__.useDispatch)();
- const beforePrev = ()=>{
- if (group === _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_3__/* ["default"].SETTINGS */ .Z.SETTINGS) {
- if (index === 1) {
- // when the user clicks "back" in
- // the second step of the settings onboarding, close the drawer
- dispatch((0,_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_2__/* .setIsSettingsDrawerOpen */ .ZY)(false));
- // add a delay to the animation so that the drawer has time to close
- // tip: this comes from Drawer.module.scss (--transition-regular)
- return {
- delay: 400
- };
- }
- if (isLastStep) {
- // when the user clicks "back" in
- // the last step of the settings onboarding, close the translations view
- dispatch((0,_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_2__/* .setSettingsView */ .Mi)(_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_2__/* .SettingsView.Body */ .US.Body));
- setTimeout(()=>{
- const el = document.getElementById("settings-drawer-container");
- // scroll to the bottom of the settings view
- if (el) el.scrollTop = el.scrollHeight;
- }, 0);
- return {
- delay: 1
- };
- }
- }
- if (group === _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_3__/* ["default"].READING_EXPERIENCE */ .Z.READING_EXPERIENCE) {
- if (index === 4) {
- window.dispatchEvent(new Event(_OnboardingEvent__WEBPACK_IMPORTED_MODULE_1__/* ["default"].STEP_BEFORE_CHOOSING_RECITER_FROM_LIST */ .Z.STEP_BEFORE_CHOOSING_RECITER_FROM_LIST));
- return {
- automaticallyProceed: false
- };
- }
- if (index === 3) {
- window.dispatchEvent(new Event(_OnboardingEvent__WEBPACK_IMPORTED_MODULE_1__/* ["default"].STEP_BEFORE_RECITER_LIST_ITEM_CLICK */ .Z.STEP_BEFORE_RECITER_LIST_ITEM_CLICK));
- return {
- automaticallyProceed: false
- };
- }
- }
- return {};
- };
- const beforeNext = ()=>{
- if (group === _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_3__/* ["default"].SETTINGS */ .Z.SETTINGS) {
- if (isLastStep) {
- // when the user clicks "finish" in
- // the last step of the settings onboarding, close the drawer
- dispatch((0,_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_2__/* .setIsSettingsDrawerOpen */ .ZY)(false));
- // reset the drawer to the body view in-case the user re-opens the settings tour again after having finished it.
- dispatch((0,_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_2__/* .setSettingsView */ .Mi)(_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_2__/* .SettingsView.Body */ .US.Body));
- return {};
- }
- if (index === 0) {
- // if the user clicks "next" in the first step of the settings onboarding,
- // open the drawer
- dispatch((0,_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_2__/* .setIsSettingsDrawerOpen */ .ZY)(true));
- // we'll let the drawer handle the proceeding when it's done opening
- return {
- automaticallyProceed: false
- };
- }
- if (index === 8) {
- // if the user clicks "next" in translations step,
- // switch to translations view
- setTimeout(()=>{
- dispatch((0,_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_2__/* .setSettingsView */ .Mi)(_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_2__/* .SettingsView.Translation */ .US.Translation));
- }, 10);
- // we'll let the translations view handle the proceeding when it's done opening
- return {
- automaticallyProceed: true
- };
- }
- }
- if (group === _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_3__/* ["default"].READING_EXPERIENCE */ .Z.READING_EXPERIENCE) {
- // if the user clicks next when the step is play audio of an Ayah
- if (index === 1) {
- window.dispatchEvent(new Event(_OnboardingEvent__WEBPACK_IMPORTED_MODULE_1__/* ["default"].STEP_AFTER_PLAY_AUDIO_CLICK */ .Z.STEP_AFTER_PLAY_AUDIO_CLICK));
- return {
- automaticallyProceed: false
- };
- }
- // if the user clicks next when the step is clicking on the dot icon to open the audio player settings menu
- if (index === 2) {
- window.dispatchEvent(new Event(_OnboardingEvent__WEBPACK_IMPORTED_MODULE_1__/* ["default"].STEP_AFTER_AUDIO_PLAYER_TRIGGER */ .Z.STEP_AFTER_AUDIO_PLAYER_TRIGGER));
- return {
- automaticallyProceed: false
- };
- }
- // if the user clicks next when the step is clicking the reciters menu item in the audio player settings menu
- if (index === 3) {
- window.dispatchEvent(new Event(_OnboardingEvent__WEBPACK_IMPORTED_MODULE_1__/* ["default"].STEP_AFTER_RECITER_LIST_ITEM_CLICK */ .Z.STEP_AFTER_RECITER_LIST_ITEM_CLICK));
- return {
- automaticallyProceed: false
- };
- }
- // if the user clicks next when the step is choosing a reciter from the reciters list
- if (index === 4) {
- window.dispatchEvent(new Event(_OnboardingEvent__WEBPACK_IMPORTED_MODULE_1__/* ["default"].STEP_AFTER_CHOOSING_RECITER_FROM_LIST */ .Z.STEP_AFTER_CHOOSING_RECITER_FROM_LIST));
- return {
- automaticallyProceed: false
- };
- }
- }
- return {};
- };
- const beforeSkip = ()=>{
- return {};
- };
- return {
- beforePrev,
- beforeNext,
- beforeSkip
- };
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useHandleOnboardingEvents);
- /***/ }),
- /***/ 51879:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "P": () => (/* binding */ useOnboarding),
- /* harmony export */ "k": () => (/* binding */ OnboardingProvider)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96954);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dynamic__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var react_joyride__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35517);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_5__);
- /* harmony import */ var _OnboardingStep__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(60575);
- /* harmony import */ var _steps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(39604);
- /* harmony import */ var _hooks_useScrollToTop__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(73742);
- /* harmony import */ var _redux_slices_onboarding__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(22732);
- /* harmony import */ var _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(20661);
- /* harmony import */ var _utils_auth_login__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(22197);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([react_joyride__WEBPACK_IMPORTED_MODULE_4__, _OnboardingStep__WEBPACK_IMPORTED_MODULE_6__, _steps__WEBPACK_IMPORTED_MODULE_7__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_10__]);
- ([react_joyride__WEBPACK_IMPORTED_MODULE_4__, _OnboardingStep__WEBPACK_IMPORTED_MODULE_6__, _steps__WEBPACK_IMPORTED_MODULE_7__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_10__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable max-lines */
- // eslint-disable-next-line import/no-cycle
- const Joyride = next_dynamic__WEBPACK_IMPORTED_MODULE_2___default()(null, {
- loadableGenerated: {
- modules: [
- "../components/Onboarding/OnboardingProvider.tsx -> " + "react-joyride"
- ]
- },
- ssr: false
- });
- const OnboardingContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().createContext(null);
- const useOnboarding = ()=>react__WEBPACK_IMPORTED_MODULE_1___default().useContext(OnboardingContext);
- const OnboardingProvider = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ children })=>{
- const [isOnboarding, setIsOnboarding] = react__WEBPACK_IMPORTED_MODULE_1___default().useState(false);
- const activeStep = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(_redux_slices_onboarding__WEBPACK_IMPORTED_MODULE_8__/* .selectOnboardingActiveStep */ .xg);
- const { 0: joyride , 1: setJoyride } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)();
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("common");
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useDispatch)();
- const scrollToTop = (0,_hooks_useScrollToTop__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)();
- const allSteps = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{
- return (0,_steps__WEBPACK_IMPORTED_MODULE_7__/* .checklistIndexToOnboardingSteps */ .G)(t, _OnboardingStep__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z);
- }, [
- t
- ]);
- const startTour = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((group = _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_9__/* ["default"].HOMEPAGE */ .Z.HOMEPAGE, startIndex = 0)=>{
- const statePayload = (0,_redux_slices_onboarding__WEBPACK_IMPORTED_MODULE_8__/* .setActiveStepIndex */ .tE)({
- group,
- index: startIndex,
- // Mark all previous steps as completed
- ...startIndex !== 0 && {
- // eslint-disable-next-line @typescript-eslint/naming-convention
- indicesToMarkAsCompleted: new Array(startIndex).fill(null).map((_, i)=>i)
- }
- });
- if (group === _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_9__/* ["default"].SETTINGS */ .Z.SETTINGS || group === _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_9__/* ["default"].READING_EXPERIENCE */ .Z.READING_EXPERIENCE) {
- scrollToTop();
- setTimeout(()=>{
- setIsOnboarding(true);
- dispatch(statePayload);
- }, 400);
- } else {
- setIsOnboarding(true);
- dispatch(statePayload);
- }
- }, [
- dispatch,
- scrollToTop
- ]);
- const stopTour = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{
- setIsOnboarding(false);
- }, []);
- const setStep = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((group, step)=>{
- let totalSteps = allSteps[group].length;
- if ((0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_10__/* .isLoggedIn */ .jl)() && group === _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_9__/* ["default"].PERSONALIZED_FEATURES */ .Z.PERSONALIZED_FEATURES) {
- // don't count the first step (login button)
- totalSteps -= 1;
- }
- dispatch((0,_redux_slices_onboarding__WEBPACK_IMPORTED_MODULE_8__/* .setActiveStepIndex */ .tE)({
- group,
- index: step,
- totalSteps
- }));
- }, [
- dispatch,
- allSteps
- ]);
- const nextStep = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{
- setStep(activeStep.group, activeStep.index + 1);
- }, [
- activeStep,
- setStep
- ]);
- const prevStep = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{
- if (activeStep.index === 0) return;
- setStep(activeStep.group, activeStep.index - 1);
- }, [
- activeStep,
- setStep
- ]);
- const steps = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{
- const result = allSteps[activeStep.group].map((s)=>s.step);
- if (activeStep.group === _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_9__/* ["default"].PERSONALIZED_FEATURES */ .Z.PERSONALIZED_FEATURES) {
- if ((0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_10__/* .isLoggedIn */ .jl)()) {
- // show all but the first step (login button)
- return result.slice(1);
- }
- // only show the first step (login button)
- return [
- result[0]
- ];
- }
- return result;
- }, [
- allSteps,
- activeStep.group
- ]);
- const hasSteps = steps.length > 0;
- const shouldRun = isOnboarding && hasSteps;
- const joyrideCallback = (data)=>{
- const { action , status , type } = data;
- if (type === react_joyride__WEBPACK_IMPORTED_MODULE_4__.EVENTS.STEP_AFTER || type === react_joyride__WEBPACK_IMPORTED_MODULE_4__.EVENTS.TARGET_NOT_FOUND) {
- if (action === react_joyride__WEBPACK_IMPORTED_MODULE_4__.ACTIONS.PREV) {
- prevStep();
- } else if (action === react_joyride__WEBPACK_IMPORTED_MODULE_4__.ACTIONS.NEXT) {
- if (activeStep.index < steps.length - 1) {
- nextStep();
- } else {
- stopTour();
- setStep(activeStep.group, 0);
- }
- }
- } else if (status === react_joyride__WEBPACK_IMPORTED_MODULE_4__.STATUS.FINISHED || status === react_joyride__WEBPACK_IMPORTED_MODULE_4__.STATUS.SKIPPED) {
- stopTour();
- joyride.reset(true);
- }
- };
- const value = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>({
- startTour,
- stopTour: ()=>joyride.close(),
- nextStep: ()=>joyride.next(),
- prevStep: ()=>joyride.prev(),
- activeStepGroup: activeStep.group,
- activeStepIndex: activeStep.index,
- isActive: isOnboarding,
- allSteps,
- allGroups: Object.keys(allSteps)
- }), [
- startTour,
- activeStep,
- isOnboarding,
- joyride,
- allSteps
- ]);
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(OnboardingContext.Provider, {
- value: value,
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(Joyride, {
- callback: joyrideCallback,
- run: shouldRun,
- stepIndex: activeStep.index,
- steps: steps,
- continuous: true,
- scrollOffset: 130,
- getHelpers: setJoyride,
- disableOverlayClose: true,
- disableCloseOnEsc: true,
- scrollToFirstStep: true,
- disableOverlay: false,
- floaterProps: {
- offset: 0,
- styles: {
- floaterWithAnimation: {
- transition: "opacity .5s ease-out"
- },
- floater: {
- zIndex: "var(--z-index-onboarding-step)"
- }
- }
- },
- styles: {
- spotlight: {
- borderRadius: 0,
- zIndex: "var(--z-index-onboarding-spotlight)"
- },
- overlay: {
- zIndex: "var(--z-index-onboarding-overlay)"
- }
- }
- }, activeStep.group),
- children
- ]
- });
- });
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 60575:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var _OnboardingChecklist_hooks_useHandleOnboardingEvents__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(70627);
- /* harmony import */ var _OnboardingStep_module_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(43530);
- /* harmony import */ var _OnboardingStep_module_scss__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_OnboardingStep_module_scss__WEBPACK_IMPORTED_MODULE_11__);
- /* harmony import */ var _components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51879);
- /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50497);
- /* harmony import */ var _icons_chevron_left_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49880);
- /* harmony import */ var _icons_chevron_right_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3932);
- /* harmony import */ var _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(20661);
- /* harmony import */ var _utils_auth_login__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(22197);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(55943);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_4__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_9__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__]);
- ([_components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_4__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_9__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable max-lines */
- // eslint-disable-next-line import/no-cycle
- const OnboardingStep = ({ tooltipProps , primaryProps , skipProps , backProps , isLastStep , index , step: { showSkipButton =true , showNextButton =true , showPrevButton =true } })=>{
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()("onboarding");
- const isFirstStep = index === 0;
- const { activeStepGroup , allSteps } = (0,_components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_4__/* .useOnboarding */ .P)();
- const { beforePrev , beforeNext , beforeSkip } = (0,_OnboardingChecklist_hooks_useHandleOnboardingEvents__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)({
- group: activeStepGroup,
- index,
- isLastStep
- });
- const stepData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{
- // show all but the first step (login button)
- if (activeStepGroup === _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_8__/* ["default"].PERSONALIZED_FEATURES */ .Z.PERSONALIZED_FEATURES && (0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_9__/* .isLoggedIn */ .jl)()) {
- return allSteps[activeStepGroup].slice(1)[index];
- }
- return allSteps[activeStepGroup][index];
- }, [
- activeStepGroup,
- allSteps,
- index
- ]);
- const handleSkipClick = (e)=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("onboarding_step_skip", {
- group: activeStepGroup,
- step: index
- });
- const result = beforeSkip();
- if (result.automaticallyProceed !== false) {
- if (result.delay) {
- setTimeout(()=>{
- skipProps.onClick(e);
- }, result.delay);
- } else {
- skipProps.onClick(e);
- }
- }
- };
- const handlePrevClick = (e)=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("onboarding_step_previous", {
- group: activeStepGroup,
- step: index
- });
- const result = beforePrev();
- if (result.automaticallyProceed !== false) {
- if (result?.delay) {
- setTimeout(()=>{
- backProps.onClick(e);
- }, result.delay);
- } else {
- backProps.onClick(e);
- }
- }
- };
- const handleNextClick = (e)=>{
- if (isLastStep) {
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("onboarding_step_finish", {
- group: activeStepGroup
- });
- } else {
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("onboarding_step_next", {
- group: activeStepGroup,
- step: index
- });
- }
- const result = beforeNext();
- if (result.automaticallyProceed !== false) {
- if (result?.delay) {
- setTimeout(()=>{
- primaryProps.onClick(e);
- }, result.delay);
- } else {
- primaryProps.onClick(e);
- }
- }
- };
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- ref: tooltipProps.ref,
- className: (_OnboardingStep_module_scss__WEBPACK_IMPORTED_MODULE_11___default().tooltipContainer),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h4", {
- className: (_OnboardingStep_module_scss__WEBPACK_IMPORTED_MODULE_11___default().title),
- children: stepData.title
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
- className: (_OnboardingStep_module_scss__WEBPACK_IMPORTED_MODULE_11___default().description),
- children: stepData.description
- }),
- (showSkipButton || showNextButton || showPrevButton) && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_OnboardingStep_module_scss__WEBPACK_IMPORTED_MODULE_11___default().actionContainer),
- children: [
- isFirstStep && showSkipButton && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .ZP, {
- ...skipProps,
- onClick: handleSkipClick,
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonType.Inverse */ .L$.Inverse,
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonSize.Small */ .qE.Small,
- children: t("skip")
- }),
- !isFirstStep && showPrevButton && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .ZP, {
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonVariant.Outlined */ .Wu.Outlined,
- type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonType.Inverse */ .L$.Inverse,
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonSize.Small */ .qE.Small,
- onClick: handlePrevClick,
- prefix: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_chevron_left_svg__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
- className: (_OnboardingStep_module_scss__WEBPACK_IMPORTED_MODULE_11___default().icon)
- }),
- children: t("previous")
- }),
- showNextButton && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .ZP, {
- ...primaryProps,
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonVariant.Outlined */ .Wu.Outlined,
- type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonType.Inverse */ .L$.Inverse,
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonSize.Small */ .qE.Small,
- onClick: handleNextClick,
- suffix: isLastStep ? null : /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_chevron_right_svg__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
- className: (_OnboardingStep_module_scss__WEBPACK_IMPORTED_MODULE_11___default().icon)
- }),
- children: isLastStep ? t("finish") : t("common:next")
- })
- ]
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OnboardingStep);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 39604:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "G": () => (/* binding */ checklistIndexToOnboardingSteps)
- /* harmony export */ });
- /* unused harmony export onboardingChecklist */
- /* harmony import */ var _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20661);
- /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57933);
- /* harmony import */ var _utils_responsive__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6902);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_utils_navigation__WEBPACK_IMPORTED_MODULE_1__]);
- _utils_navigation__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
- /* eslint-disable max-lines */ // import OnboardingStep from './OnboardingStep';
- /**
- * Get the placement for the tooltip based on the device
- *
- * @param {Placement} desktopPlacement
- * @param {boolean} isDeviceMobile
- * @returns {Placement}
- */ const getResponsivePlacement = (desktopPlacement, isDeviceMobile)=>{
- return isDeviceMobile ? "top-start" : desktopPlacement;
- };
- // eslint-disable-next-line react-func/max-lines-per-function
- const checklistIndexToOnboardingSteps = (t, component)=>{
- const commonStepOptions = {
- placement: "auto",
- disableBeacon: true,
- hideBackButton: true,
- disableOverlayClose: true,
- tooltipComponent: component,
- floaterProps: {
- hideArrow: false
- },
- spotlightPadding: 5
- };
- const getDetails = (key)=>({
- title: t(`onboarding:steps.${key}.title`),
- description: t(`onboarding:steps.${key}.description`)
- });
- const isDeviceMobile = (0,_utils_responsive__WEBPACK_IMPORTED_MODULE_2__/* .isMobile */ .t)();
- const shouldDisableOverlay = isDeviceMobile;
- return {
- [_types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_0__/* ["default"].HOMEPAGE */ .Z.HOMEPAGE]: [
- {
- ...getDetails("quran-radio"),
- step: {
- ...commonStepOptions,
- target: "#radio-button",
- showSkipButton: true,
- placement: "bottom"
- }
- },
- {
- ...getDetails("search-bar"),
- step: {
- ...commonStepOptions,
- target: "#command-bar"
- }
- },
- {
- ...getDetails("voice-search"),
- step: {
- ...commonStepOptions,
- target: "#voice-search-trigger",
- placement: "bottom"
- }
- },
- {
- ...getDetails("juz"),
- step: {
- ...commonStepOptions,
- target: "#juz-tab"
- }
- },
- ],
- [_types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_0__/* ["default"].SETTINGS */ .Z.SETTINGS]: [
- {
- ...getDetails("settings"),
- step: {
- ...commonStepOptions,
- target: "#settings-button",
- showSkipButton: true,
- spotlightClicks: true,
- placement: "bottom"
- }
- },
- {
- ...getDetails("theme"),
- step: {
- ...commonStepOptions,
- target: "#theme-section",
- spotlightClicks: true,
- placement: "left-start"
- }
- },
- {
- ...getDetails("font-style"),
- step: {
- ...commonStepOptions,
- target: "#quran-font-section",
- spotlightClicks: true,
- placement: getResponsivePlacement("left-start", isDeviceMobile),
- disableScrolling: false,
- disableOverlay: shouldDisableOverlay
- }
- },
- {
- ...getDetails("font-size"),
- step: {
- ...commonStepOptions,
- target: "#font-size-section",
- spotlightClicks: true,
- placement: "left-start"
- }
- },
- {
- ...getDetails("wbw-translation"),
- step: {
- ...commonStepOptions,
- target: "#wbw-translation-section",
- spotlightClicks: true,
- placement: "left-start"
- }
- },
- {
- ...getDetails("wbw-transliteration"),
- step: {
- ...commonStepOptions,
- target: "#wbw-transliteration-section",
- spotlightClicks: true,
- placement: "left-start"
- }
- },
- {
- ...getDetails("wbw-audio"),
- step: {
- ...commonStepOptions,
- target: "#wbw-recitation-section",
- spotlightClicks: true,
- placement: "left-start"
- }
- },
- {
- ...getDetails("inline-wbw"),
- step: {
- ...commonStepOptions,
- target: "#wbw-display-section",
- spotlightClicks: true,
- placement: "left-start"
- }
- },
- {
- ...getDetails("translations"),
- step: {
- ...commonStepOptions,
- target: "#translation-section",
- placement: "left-start",
- spotlightClicks: true,
- disableScrolling: false
- }
- },
- {
- ...getDetails("translations"),
- step: {
- ...commonStepOptions,
- target: "#settings-drawer-body",
- placement: getResponsivePlacement("left-start", isDeviceMobile),
- spotlightClicks: true,
- disableOverlay: shouldDisableOverlay
- }
- },
- ],
- [_types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_0__/* ["default"].READING_EXPERIENCE */ .Z.READING_EXPERIENCE]: [
- {
- ...getDetails("surah-info"),
- step: {
- ...commonStepOptions,
- target: "#surah-info-button",
- placement: "bottom",
- showSkipButton: true
- }
- },
- {
- ...getDetails("listen"),
- step: {
- ...commonStepOptions,
- target: "#play-verse-button",
- spotlightClicks: true,
- showNextButton: true
- }
- },
- {
- ...getDetails("select-reciter"),
- step: {
- ...commonStepOptions,
- target: "#audio-player-overflow-menu-trigger",
- spotlightClicks: true,
- disableScrolling: true
- }
- },
- {
- ...getDetails("select-reciter"),
- step: {
- ...commonStepOptions,
- target: "#audio-player-overflow-menu-reciter",
- placement: "left",
- spotlightClicks: true,
- disableScrolling: true
- }
- },
- {
- ...getDetails("select-reciter"),
- step: {
- ...commonStepOptions,
- target: "#audio-player-reciter-list",
- spotlightClicks: true,
- placement: getResponsivePlacement("right", isDeviceMobile),
- disableScrolling: false,
- disableOverlay: shouldDisableOverlay
- }
- },
- {
- ...getDetails("ayah-tafsir"),
- step: {
- ...commonStepOptions,
- target: ".tafsir-verse-button"
- }
- },
- {
- ...getDetails("ayah-reflection"),
- step: {
- ...commonStepOptions,
- target: ".reflection-verse-button"
- }
- },
- {
- ...getDetails("3-dot-menu"),
- step: {
- ...commonStepOptions,
- target: ".overflow-verse-actions-menu-trigger"
- }
- },
- {
- ...getDetails("reading-view"),
- step: {
- ...commonStepOptions,
- target: "#reading-preference-switcher",
- spotlightClicks: true
- }
- },
- ],
- [_types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_0__/* ["default"].PERSONALIZED_FEATURES */ .Z.PERSONALIZED_FEATURES]: [
- {
- ...getDetails("login"),
- step: {
- ...commonStepOptions,
- target: "#login-button",
- placement: "bottom"
- }
- },
- {
- ...getDetails("streak"),
- step: {
- ...commonStepOptions,
- target: "#qgj-widget"
- }
- },
- {
- ...getDetails("reading-sessions"),
- step: {
- ...commonStepOptions,
- target: "#reading-sessions"
- }
- },
- ]
- };
- };
- const onboardingChecklist = (t)=>[
- {
- group: OnboardingGroup.HOMEPAGE,
- title: t("onboarding:checklist.1"),
- href: "/"
- },
- {
- group: OnboardingGroup.SETTINGS,
- title: t("onboarding:checklist.2"),
- href: "/"
- },
- {
- group: OnboardingGroup.READING_EXPERIENCE,
- title: t("onboarding:checklist.3"),
- href: getSurahNavigationUrl(1)
- },
- {
- group: OnboardingGroup.PERSONALIZED_FEATURES,
- title: t("onboarding:checklist.4"),
- href: "/"
- },
- ];
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 94400:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "B": () => (/* binding */ SeparatorWeight),
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _radix_ui_react_separator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(72994);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var _Separator_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26628);
- /* harmony import */ var _Separator_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Separator_module_scss__WEBPACK_IMPORTED_MODULE_3__);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_radix_ui_react_separator__WEBPACK_IMPORTED_MODULE_1__]);
- _radix_ui_react_separator__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
- var SeparatorWeight;
- (function(SeparatorWeight) {
- SeparatorWeight["Bold"] = "bold";
- SeparatorWeight["SemiBold"] = "semiBold";
- })(SeparatorWeight || (SeparatorWeight = {}));
- const Separator = ({ isVertical =false , className , weight =SeparatorWeight.SemiBold })=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_separator__WEBPACK_IMPORTED_MODULE_1__.Separator, {
- orientation: isVertical ? "vertical" : "horizontal",
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Separator_module_scss__WEBPACK_IMPORTED_MODULE_3___default().base), (_Separator_module_scss__WEBPACK_IMPORTED_MODULE_3___default())[weight], {
- [className]: className
- })
- });
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Separator);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 77048:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var _Skeleton_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96318);
- /* harmony import */ var _Skeleton_module_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Skeleton_module_scss__WEBPACK_IMPORTED_MODULE_2__);
- const Skeleton = ({ children , isRounded , isSquared , isActive =true , className })=>{
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Skeleton_module_scss__WEBPACK_IMPORTED_MODULE_2___default().skeleton), {
- [(_Skeleton_module_scss__WEBPACK_IMPORTED_MODULE_2___default().baseSize)]: !children && !className,
- [(_Skeleton_module_scss__WEBPACK_IMPORTED_MODULE_2___default().active)]: isActive,
- [(_Skeleton_module_scss__WEBPACK_IMPORTED_MODULE_2___default().rounded)]: isRounded,
- [(_Skeleton_module_scss__WEBPACK_IMPORTED_MODULE_2___default().squared)]: isSquared,
- [className]: className
- }),
- children: children && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- className: (_Skeleton_module_scss__WEBPACK_IMPORTED_MODULE_2___default().content),
- children: children
- })
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Skeleton);
- /***/ }),
- /***/ 18470:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var _SpinnerContainer_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(35902);
- /* harmony import */ var _SpinnerContainer_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_SpinnerContainer_module_scss__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7190);
- const SpinnerContainer = ({ children , isLoading })=>{
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_SpinnerContainer_module_scss__WEBPACK_IMPORTED_MODULE_3___default().internalContainer),
- children: [
- children,
- isLoading && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
- className: (_SpinnerContainer_module_scss__WEBPACK_IMPORTED_MODULE_3___default().spinner)
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SpinnerContainer);
- /***/ }),
- /***/ 19583:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79717);
- /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(62093);
- /* harmony import */ var _utils_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4917);
- /* harmony import */ var _utils_auth_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(37883);
- /* harmony import */ var _utils_auth_login__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(22197);
- /* harmony import */ var types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(13591);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_3__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_7__]);
- ([_dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_3__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable max-lines */ /* eslint-disable react-func/max-lines-per-function */
- /**
- * A hook that will be used to:
- * 1. If the user is logged in, we persist settings
- * to the DB then dispatch the redux action that
- * would apply the changes locally (and might also persist
- * it locally in the localStorage depending on the slice)
- * 2. If not, just dispatch the action.
- *
- * @returns {PersistPreferences}
- */ const usePersistPreferenceGroup = ()=>{
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)();
- const toast = (0,_dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_3__/* .useToast */ .pm)();
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default()("common");
- const { 0: isLoading , 1: setIsLoading } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
- const quranFont = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_4__/* .selectQuranFont */ .Ho, react_redux__WEBPACK_IMPORTED_MODULE_2__.shallowEqual);
- const mushafLines = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_4__/* .selectQuranMushafLines */ .z$, react_redux__WEBPACK_IMPORTED_MODULE_2__.shallowEqual);
- // this function is used to get the updated mushafId and pass it to addOrUpdateUserPreference
- // if the preferenceGroup is not QURAN_READER_STYLES, it will return undefined
- const getUpdatedMushafId = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((preferenceGroup, key, value)=>{
- if (preferenceGroup !== types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_8__/* ["default"].QURAN_READER_STYLES */ .Z.QURAN_READER_STYLES) return undefined;
- const font = key === "quranFont" ? value : quranFont;
- const lines = key === "mushafLines" ? value : mushafLines;
- return (0,_utils_api__WEBPACK_IMPORTED_MODULE_5__/* .getMushafId */ .$P)(font, lines).mushaf;
- }, [
- quranFont,
- mushafLines
- ]);
- const actions = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({
- onSettingsChangeWithoutDispatch: (key, value, preferenceGroup, callback)=>{
- if ((0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_7__/* .isLoggedIn */ .jl)()) {
- setIsLoading(true);
- (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_6__/* .addOrUpdateUserPreference */ .b9)(key, value, preferenceGroup, getUpdatedMushafId(preferenceGroup, key, value)).then(()=>{
- callback();
- }).finally(()=>{
- setIsLoading(false);
- });
- } else {
- callback();
- }
- },
- onXstateSettingsChange: (key, value, action, undoAction, preferenceGroup, successCallback)=>{
- if ((0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_7__/* .isLoggedIn */ .jl)()) {
- action();
- setIsLoading(true);
- (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_6__/* .addOrUpdateUserPreference */ .b9)(key, value, preferenceGroup, getUpdatedMushafId(preferenceGroup, key, value)).then(()=>{
- if (successCallback) {
- successCallback();
- }
- }).catch(()=>{
- toast(t("error.pref-persist-fail"), {
- status: _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_3__/* .ToastStatus.Warning */ .YZ.Warning,
- actions: [
- {
- text: t("undo"),
- primary: true,
- onClick: ()=>{
- undoAction();
- }
- },
- {
- text: t("continue"),
- primary: false,
- onClick: ()=>{
- if (successCallback) {
- successCallback();
- }
- }
- },
- ]
- });
- }).finally(()=>{
- setIsLoading(false);
- });
- } else {
- action();
- }
- },
- onSettingsChange: (key, value, action, undoAction, preferenceGroup, successCallback)=>{
- if ((0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_7__/* .isLoggedIn */ .jl)()) {
- // 1. dispatch the action first
- dispatch(action);
- setIsLoading(true);
- (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_6__/* .addOrUpdateUserPreference */ .b9)(key, value, preferenceGroup, getUpdatedMushafId(preferenceGroup, key, value)).then(()=>{
- if (successCallback) {
- successCallback();
- }
- }).catch(()=>{
- toast(t("error.pref-persist-fail"), {
- status: _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_3__/* .ToastStatus.Warning */ .YZ.Warning,
- actions: [
- {
- text: t("undo"),
- primary: true,
- onClick: ()=>{
- dispatch(undoAction);
- }
- },
- {
- text: t("continue"),
- primary: false,
- onClick: ()=>{
- if (successCallback) {
- successCallback();
- }
- }
- },
- ]
- });
- }).finally(()=>{
- setIsLoading(false);
- });
- } else {
- dispatch(action);
- }
- }
- }), [
- dispatch,
- t,
- toast,
- getUpdatedMushafId
- ]);
- return {
- actions,
- isLoading
- };
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (usePersistPreferenceGroup);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 44063:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /**
- * This is needed to avoid having the following warning:
- * Warning: useLayoutEffect does nothing on the server, because its effect cannot be encoded into the server renderer's output format.
- * The solution is inspired by this thread
- * {@link https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85}
- */ // eslint-disable-next-line @typescript-eslint/no-empty-function
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ( false ? 0 : ()=>{});
- /***/ }),
- /***/ 73742:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- const useScrollToTop = ()=>{
- // a function that will be invoked by the component using this hook to scroll to the top of the window.
- const scrollToTop = ()=>{
- if (false) {}
- };
- return scrollToTop;
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useScrollToTop);
- /***/ }),
- /***/ 53800:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Mj": () => (/* binding */ selectEnableAutoScrolling),
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "ow": () => (/* binding */ selectShowTooltipWhenPlayingAudio)
- /* harmony export */ });
- /* unused harmony exports selectAudioPlayerState, selectIsDownloadingAudio, audioPlayerStateSlice, setEnableAutoScrolling, setIsDownloadingAudio, setShowTooltipWhenPlayingAudio */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var redux_persist__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14161);
- /* harmony import */ var redux_persist__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(redux_persist__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var _redux_actions_reset_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78733);
- /* harmony import */ var _redux_actions_sync_user_preferences__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91767);
- /* harmony import */ var _redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17241);
- /* harmony import */ var _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(61243);
- /* harmony import */ var types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(13591);
- const selectAudioPlayerState = (state)=>state.audioPlayerState;
- const selectEnableAutoScrolling = (state)=>state.audioPlayerState.enableAutoScrolling;
- const selectIsDownloadingAudio = (state)=>state.audioPlayerState.isDownloadingAudio;
- const selectShowTooltipWhenPlayingAudio = (state)=>state.audioPlayerState.showTooltipWhenPlayingAudio;
- const audioPlayerStateSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_5__/* ["default"].AUDIO_PLAYER_STATE */ .Z.AUDIO_PLAYER_STATE,
- initialState: (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_4__/* .getAudioPlayerStateInitialState */ .aq)(),
- reducers: {
- setEnableAutoScrolling: (state, action)=>({
- ...state,
- enableAutoScrolling: action.payload
- }),
- setIsDownloadingAudio: (state, action)=>({
- ...state,
- isDownloadingAudio: action.payload
- }),
- setShowTooltipWhenPlayingAudio: (state, action)=>({
- ...state,
- showTooltipWhenPlayingAudio: action.payload
- })
- },
- // reset reciter to the default based on the locale
- // WHEN `reset` action is dispatched
- extraReducers: (builder)=>{
- builder.addCase(_redux_actions_reset_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, (state, action)=>({
- ...state,
- ...(0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_4__/* .getAudioPlayerStateInitialState */ .aq)(action.payload.locale)
- }));
- builder.addCase(_redux_actions_sync_user_preferences__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, (state, action)=>{
- const { payload: { userPreferences } , } = action;
- const remotePreferences = userPreferences[types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_6__/* ["default"].AUDIO */ .Z.AUDIO];
- if (remotePreferences) {
- return {
- ...state,
- ...remotePreferences
- };
- }
- return state;
- });
- // listen to redux-persist's REHYDRATE event
- builder.addCase(redux_persist__WEBPACK_IMPORTED_MODULE_1__.REHYDRATE, (state, action)=>{
- // @ts-ignore
- const { key , payload } = action;
- /**
- * There is an issue with redux-persists (https://github.com/rt2zz/redux-persist/issues/290)
- * that converts Infinite to null which affects when the user chooses to
- * repeat a verse(s) infinitely and leads to repeatRange being persisted
- * as null which is an invalid value so we need to convert it back to Infinity.
- */ if (key === _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_5__/* ["default"].AUDIO_PLAYER_STATE */ .Z.AUDIO_PLAYER_STATE && payload?.repeatSettings?.repeatRange === null) {
- return {
- ...state,
- ...payload
- };
- }
- return {
- ...state,
- ...payload
- };
- });
- }
- });
- const { setEnableAutoScrolling , setIsDownloadingAudio , setShowTooltipWhenPlayingAudio } = audioPlayerStateSlice.actions;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (audioPlayerStateSlice.reducer);
- /***/ }),
- /***/ 90264:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "EA": () => (/* binding */ selectReadingPreference),
- /* harmony export */ "GW": () => (/* binding */ setReadingPreference),
- /* harmony export */ "N9": () => (/* binding */ selectWordClickFunctionality),
- /* harmony export */ "SL": () => (/* binding */ selectIsUsingDefaultWordByWordLocale),
- /* harmony export */ "SV": () => (/* binding */ selectTooltipContentType),
- /* harmony export */ "Ud": () => (/* binding */ setSelectedWordByWordLocale),
- /* harmony export */ "Xg": () => (/* binding */ selectReadingPreferences),
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "eB": () => (/* binding */ selectInlineDisplayWordByWordPreferences),
- /* harmony export */ "lt": () => (/* binding */ selectWordByWordLocale)
- /* harmony export */ });
- /* unused harmony exports readingPreferencesSlice, setWordClickFunctionality, setWordByWordContentType, setWordByWordDisplay, selectIsTooltipContentEnabled */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _redux_actions_reset_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78733);
- /* harmony import */ var _redux_actions_sync_user_preferences__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91767);
- /* harmony import */ var _redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(17241);
- /* harmony import */ var _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61243);
- /* harmony import */ var types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(13591);
- /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(50467);
- const readingPreferencesSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_4__/* ["default"].READING_PREFERENCES */ .Z.READING_PREFERENCES,
- initialState: (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__/* .getReadingPreferencesInitialState */ .wH)(),
- reducers: {
- setReadingPreference: (state, action)=>({
- ...state,
- readingPreference: action.payload
- }),
- setSelectedWordByWordLocale: (state, action)=>({
- ...state,
- selectedWordByWordLocale: action.payload.value,
- isUsingDefaultWordByWordLocale: action.payload.value === (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__/* .getReadingPreferencesInitialState */ .wH)(action.payload.locale).selectedWordByWordLocale
- }),
- setWordClickFunctionality: (state, action)=>({
- ...state,
- wordClickFunctionality: action.payload
- }),
- setWordByWordContentType: (state, action)=>({
- ...state,
- wordByWordContentType: action.payload
- }),
- setWordByWordDisplay: (state, action)=>({
- ...state,
- wordByWordDisplay: action.payload
- })
- },
- // reset the state to initial state
- // when `reset` action is dispatched
- extraReducers: (builder)=>{
- builder.addCase(_redux_actions_reset_settings__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, (state, action)=>{
- return (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__/* .getReadingPreferencesInitialState */ .wH)(action.payload.locale);
- });
- builder.addCase(_redux_actions_sync_user_preferences__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, (state, action)=>{
- const { payload: { userPreferences , locale } , } = action;
- const remotePreferences = userPreferences[types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_5__/* ["default"].READING */ .Z.READING];
- if (remotePreferences) {
- const { selectedWordByWordLocale: defaultWordByWordLocale } = (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__/* .getReadingPreferencesInitialState */ .wH)(locale);
- return {
- ...state,
- ...remotePreferences,
- isUsingDefaultWordByWordLocale: remotePreferences.selectedWordByWordLocale === defaultWordByWordLocale
- };
- }
- return state;
- });
- }
- });
- const { setReadingPreference , setSelectedWordByWordLocale , setWordClickFunctionality , setWordByWordContentType , setWordByWordDisplay , } = readingPreferencesSlice.actions;
- /**
- * Check whether we should display inline wbw translation/transliteration.
- *
- * @param {RootState} state
- * @returns {{showWordByWordTranslation: boolean, showWordByWordTransliteration: boolean}}
- */ const selectInlineDisplayWordByWordPreferences = (state)=>{
- const { readingPreferences } = state;
- const { wordByWordDisplay , wordByWordContentType } = readingPreferences;
- const shouldDisplayInline = wordByWordDisplay.includes(types_QuranReader__WEBPACK_IMPORTED_MODULE_6__/* .WordByWordDisplay.INLINE */ .PT.INLINE);
- return {
- showWordByWordTranslation: shouldDisplayInline && wordByWordContentType.includes(types_QuranReader__WEBPACK_IMPORTED_MODULE_6__/* .WordByWordType.Translation */ .Oj.Translation),
- showWordByWordTransliteration: shouldDisplayInline && wordByWordContentType.includes(types_QuranReader__WEBPACK_IMPORTED_MODULE_6__/* .WordByWordType.Transliteration */ .Oj.Transliteration)
- };
- };
- /**
- * Check whether the tooltip content is enabled or not.
- * To be considered enabled, the following conditions need to be met:
- *
- * 1. display options need to include tooltip.
- * 2. word by word content need to contain either translation or transliteration.
- *
- * @param {RootState} state
- * @returns {boolean}
- */ const selectIsTooltipContentEnabled = (state)=>{
- const { readingPreferences } = state;
- const { wordByWordContentType , wordByWordDisplay } = readingPreferences;
- const shouldDisplayTooltip = wordByWordDisplay.includes(WordByWordDisplay.TOOLTIP);
- if (!shouldDisplayTooltip) {
- return false;
- }
- return wordByWordContentType.includes(WordByWordType.Translation) || wordByWordContentType.includes(WordByWordType.Transliteration);
- };
- const selectReadingPreferences = (state)=>state.readingPreferences;
- /**
- * Select which tooltip content to show. We should not show any tooltips when:
- *
- * 1. Display options does not include tooltip.
- * 2. Display options does include tooltip but no translation/transliterations were selected.
- *
- * @param {RootState} state
- * @returns {WordByWordType[]}
- */ const selectTooltipContentType = (state)=>{
- const { readingPreferences } = state;
- const { wordByWordDisplay , wordByWordContentType } = readingPreferences;
- if (!wordByWordDisplay || !wordByWordDisplay.includes(types_QuranReader__WEBPACK_IMPORTED_MODULE_6__/* .WordByWordDisplay.TOOLTIP */ .PT.TOOLTIP) || !wordByWordContentType || !wordByWordContentType.length) {
- return [];
- }
- return wordByWordContentType;
- };
- const selectReadingPreference = (state)=>state.readingPreferences.readingPreference;
- const selectWordClickFunctionality = (state)=>state.readingPreferences.wordClickFunctionality;
- const selectWordByWordLocale = (state)=>state.readingPreferences.selectedWordByWordLocale;
- const selectIsUsingDefaultWordByWordLocale = (state)=>state.readingPreferences.isUsingDefaultWordByWordLocale;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (readingPreferencesSlice.reducer);
- /***/ }),
- /***/ 31922:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "AV": () => (/* binding */ selectReadingViewSelectedVerseKey),
- /* harmony export */ "E9": () => (/* binding */ setReadingViewSelectedVerseKey),
- /* harmony export */ "Ob": () => (/* binding */ setReadingViewHoveredVerseKey),
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "_H": () => (/* binding */ selectReadingViewHoveredVerseKey)
- /* harmony export */ });
- /* unused harmony export initialState */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61243);
- const initialState = {
- hoveredVerseKey: null,
- selectedVerseKey: null
- };
- /**
- * This slice keep track of the current hovered and selected verses in the reading mode.
- *
- */ const readingViewVerse = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__/* ["default"].READING_VIEW_HOVERED_VERSE */ .Z.READING_VIEW_HOVERED_VERSE,
- initialState,
- reducers: {
- setReadingViewHoveredVerseKey: (state, { payload })=>{
- return {
- ...state,
- hoveredVerseKey: payload
- };
- },
- setReadingViewSelectedVerseKey: (state, { payload })=>{
- return {
- ...state,
- selectedVerseKey: payload
- };
- }
- }
- });
- const selectReadingViewHoveredVerseKey = (state)=>state.readingViewVerse.hoveredVerseKey;
- const selectReadingViewSelectedVerseKey = (state)=>state.readingViewVerse.selectedVerseKey;
- const { setReadingViewHoveredVerseKey , setReadingViewSelectedVerseKey } = readingViewVerse.actions;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (readingViewVerse.reducer);
- /***/ }),
- /***/ 11983:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "OW": () => (/* binding */ selectTafsirs),
- /* harmony export */ "XG": () => (/* binding */ selectSelectedTafsirs),
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "ZY": () => (/* binding */ setSelectedTafsirs)
- /* harmony export */ });
- /* unused harmony exports tafsirsSlice, selectIsUsingDefaultTafsirs */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _redux_actions_reset_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78733);
- /* harmony import */ var _redux_actions_sync_user_preferences__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91767);
- /* harmony import */ var _redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(17241);
- /* harmony import */ var _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61243);
- /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5639);
- /* harmony import */ var types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(13591);
- const tafsirsSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_4__/* ["default"].TAFSIRS */ .Z.TAFSIRS,
- initialState: (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__/* .getTafsirsInitialState */ .Fy)(),
- reducers: {
- setSelectedTafsirs: (state, action)=>({
- ...state,
- // we need to before we compare because there is a corner case when the user changes the default tafsirs then re-selects them which results in the same array as the default one but reversed e.g. instead of [20, 131] it becomes [131, 20].
- isUsingDefaultTafsirs: (0,_utils_array__WEBPACK_IMPORTED_MODULE_6__/* .areArraysEqual */ .Hj)((0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__/* .getTafsirsInitialState */ .Fy)(action.payload.locale).selectedTafsirs, action.payload.tafsirs),
- selectedTafsirs: action.payload.tafsirs
- })
- },
- // reset the tafsirs to initial state
- // when reset action is dispatched
- extraReducers: (builder)=>{
- builder.addCase(_redux_actions_reset_settings__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, (state, action)=>{
- return (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__/* .getTafsirsInitialState */ .Fy)(action.payload.locale);
- });
- builder.addCase(_redux_actions_sync_user_preferences__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, (state, action)=>{
- const { payload: { userPreferences , locale } , } = action;
- const remotePreferences = userPreferences[types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_5__/* ["default"].TAFSIRS */ .Z.TAFSIRS];
- if (remotePreferences) {
- const { selectedTafsirs: defaultTafsirs } = (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__/* .getTafsirsInitialState */ .Fy)(locale);
- const { selectedTafsirs: remoteTafsirs } = remotePreferences;
- return {
- ...state,
- ...remotePreferences,
- isUsingDefaultTafsirs: (0,_utils_array__WEBPACK_IMPORTED_MODULE_6__/* .areArraysEqual */ .Hj)(defaultTafsirs, remoteTafsirs)
- };
- }
- return state;
- });
- }
- });
- const { setSelectedTafsirs } = tafsirsSlice.actions;
- const selectTafsirs = (state)=>state.tafsirs;
- const selectSelectedTafsirs = (state)=>state.tafsirs.selectedTafsirs;
- const selectIsUsingDefaultTafsirs = (state)=>state.tafsirs.isUsingDefaultTafsirs;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (tafsirsSlice.reducer);
- /***/ }),
- /***/ 88548:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "qw": () => (/* binding */ selectSelectedTranslations),
- /* harmony export */ "uz": () => (/* binding */ setSelectedTranslations),
- /* harmony export */ "z2": () => (/* binding */ selectIsUsingDefaultTranslations)
- /* harmony export */ });
- /* unused harmony exports translationsSlice, selectTranslations */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _redux_actions_reset_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78733);
- /* harmony import */ var _redux_actions_sync_user_preferences__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91767);
- /* harmony import */ var _redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(17241);
- /* harmony import */ var _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61243);
- /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5639);
- /* harmony import */ var types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(13591);
- const translationsSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_4__/* ["default"].TRANSLATIONS */ .Z.TRANSLATIONS,
- initialState: (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__/* .getTranslationsInitialState */ .h0)(),
- reducers: {
- setSelectedTranslations: (state, action)=>({
- ...state,
- // we need to before we compare because there is a corner case when the user changes the default translations then re-selects them which results in the same array as the default one but reversed e.g. instead of [20, 131] it becomes [131, 20].
- isUsingDefaultTranslations: (0,_utils_array__WEBPACK_IMPORTED_MODULE_6__/* .areArraysEqual */ .Hj)((0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__/* .getTranslationsInitialState */ .h0)(action.payload.locale).selectedTranslations, action.payload.translations),
- selectedTranslations: action.payload.translations
- })
- },
- // reset the translation state to initial state
- // when `reset` action is dispatched
- extraReducers: (builder)=>{
- builder.addCase(_redux_actions_reset_settings__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, (state, action)=>{
- return (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__/* .getTranslationsInitialState */ .h0)(action.payload.locale);
- });
- builder.addCase(_redux_actions_sync_user_preferences__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, (state, action)=>{
- const { payload: { userPreferences , locale } , } = action;
- const remotePreferences = userPreferences[types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_5__/* ["default"].TRANSLATIONS */ .Z.TRANSLATIONS];
- if (remotePreferences) {
- const { selectedTranslations: defaultTranslations } = (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_3__/* .getTranslationsInitialState */ .h0)(locale);
- const { selectedTranslations: remoteTranslations } = remotePreferences;
- return {
- ...state,
- ...remotePreferences,
- isUsingDefaultTranslations: (0,_utils_array__WEBPACK_IMPORTED_MODULE_6__/* .areArraysEqual */ .Hj)(defaultTranslations, remoteTranslations)
- };
- }
- return state;
- });
- }
- });
- const { setSelectedTranslations } = translationsSlice.actions;
- const selectTranslations = (state)=>state.translations;
- const selectSelectedTranslations = (state)=>state.translations.selectedTranslations;
- const selectIsUsingDefaultTranslations = (state)=>state.translations.isUsingDefaultTranslations;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (translationsSlice.reducer);
- /***/ }),
- /***/ 44177:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Mi": () => (/* binding */ setSettingsView),
- /* harmony export */ "R$": () => (/* binding */ setIsSearchDrawerOpen),
- /* harmony export */ "Rd": () => (/* binding */ setIsNavigationDrawerOpen),
- /* harmony export */ "US": () => (/* binding */ SettingsView),
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "ZY": () => (/* binding */ setIsSettingsDrawerOpen),
- /* harmony export */ "u": () => (/* binding */ setIsVisible),
- /* harmony export */ "wK": () => (/* binding */ selectNavbar)
- /* harmony export */ });
- /* unused harmony export navbarSlice */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61243);
- var SettingsView;
- (function(SettingsView) {
- SettingsView["Body"] = "body";
- SettingsView["Translation"] = "translation";
- SettingsView["Reciter"] = "reciter";
- SettingsView["Tafsir"] = "tafsir";
- SettingsView["RepeatSettings"] = "repeatSettings";
- })(SettingsView || (SettingsView = {}));
- const initialState = {
- isVisible: true,
- isNavigationDrawerOpen: false,
- isSearchDrawerOpen: false,
- isSettingsDrawerOpen: false,
- settingsView: SettingsView.Body
- };
- const navbarSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__/* ["default"].NAVBAR */ .Z.NAVBAR,
- initialState,
- reducers: {
- setIsVisible: (state, action)=>({
- ...state,
- isVisible: action.payload
- }),
- setIsNavigationDrawerOpen: (state, action)=>({
- ...state,
- isNavigationDrawerOpen: action.payload
- }),
- setIsSearchDrawerOpen: (state, action)=>({
- ...state,
- isSearchDrawerOpen: action.payload
- }),
- setIsSettingsDrawerOpen: (state, action)=>({
- ...state,
- isSettingsDrawerOpen: action.payload
- }),
- setSettingsView: (state, action)=>({
- ...state,
- settingsView: action.payload
- })
- }
- });
- const { setIsVisible , setIsNavigationDrawerOpen , setIsSearchDrawerOpen , setIsSettingsDrawerOpen , setSettingsView , } = navbarSlice.actions;
- const selectNavbar = (state)=>state.navbar;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (navbarSlice.reducer);
- /***/ }),
- /***/ 22732:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "tE": () => (/* binding */ setActiveStepIndex),
- /* harmony export */ "xg": () => (/* binding */ selectOnboardingActiveStep)
- /* harmony export */ });
- /* unused harmony exports onboardingSlice, dismissChecklist, setIsChecklistVisible, selectOnboarding */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61243);
- /* harmony import */ var _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20661);
- const initialState = {
- isChecklistVisible: true,
- checklistDismissals: 0,
- lastChecklistDismissal: null,
- activeStep: {
- group: _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_2__/* ["default"].HOMEPAGE */ .Z.HOMEPAGE,
- index: 0
- },
- completedGroups: {}
- };
- const onboardingSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__/* ["default"].ONBOARDING */ .Z.ONBOARDING,
- initialState,
- reducers: {
- // checklist state
- dismissChecklist: (state)=>({
- ...state,
- isChecklistVisible: false,
- checklistDismissals: state.checklistDismissals + 1,
- lastChecklistDismissal: new Date().getTime()
- }),
- setIsChecklistVisible: (state, action)=>({
- ...state,
- isChecklistVisible: action.payload
- }),
- setActiveStepIndex: (state, action)=>{
- const { group: groupKey , index , indicesToMarkAsCompleted , totalSteps } = action.payload;
- const group = state.completedGroups[groupKey];
- const newCompletedSteps = group?.completedSteps ? [
- ...group.completedSteps
- ] : [];
- if (!newCompletedSteps.includes(index)) {
- newCompletedSteps.push(index);
- }
- if (indicesToMarkAsCompleted) {
- indicesToMarkAsCompleted.forEach((stepIdx)=>{
- if (!newCompletedSteps.includes(stepIdx)) {
- newCompletedSteps.push(stepIdx);
- }
- });
- }
- const newGroupData = {
- completedSteps: newCompletedSteps,
- isCompleted: totalSteps ? newCompletedSteps.length === totalSteps : group?.isCompleted
- };
- return {
- ...state,
- activeStep: action.payload,
- completedGroups: {
- ...state.completedGroups,
- [groupKey]: newGroupData
- }
- };
- }
- }
- });
- const { dismissChecklist , setIsChecklistVisible , setActiveStepIndex } = onboardingSlice.actions;
- const selectOnboarding = (state)=>state.onboarding;
- const selectOnboardingActiveStep = (state)=>state.onboarding.activeStep;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (onboardingSlice.reducer);
- /***/ }),
- /***/ 6902:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "t": () => (/* binding */ isMobile)
- /* harmony export */ });
- const TABLET_WIDTH = 768;
- // eslint-disable-next-line import/prefer-default-export
- const isMobile = ()=>{
- if (typeof document === "undefined") return false;
- return document.documentElement.clientWidth < TABLET_WIDTH;
- };
- /***/ }),
- /***/ 20661:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- var OnboardingGroup;
- (function(OnboardingGroup) {
- OnboardingGroup["HOMEPAGE"] = "HOMEPAGE";
- OnboardingGroup["SETTINGS"] = "SETTINGS";
- OnboardingGroup["READING_EXPERIENCE"] = "READING_EXPERIENCE";
- OnboardingGroup["PERSONALIZED_FEATURES"] = "PERSONALIZED_FEATURES";
- })(OnboardingGroup || (OnboardingGroup = {}));
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OnboardingGroup);
- /***/ })
- };
- ;
- //# sourceMappingURL=6094.js.map
|