12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523 |
- exports.id = 21608;
- exports.ids = [21608];
- exports.modules = {
- /***/ 85970:
- /***/ ((__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 SvgCaretDown = function SvgCaretDown(props) {
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
- viewBox: "0 0 24 24",
- width: 18,
- height: 18,
- stroke: "currentColor",
- strokeWidth: 1.5,
- strokeLinecap: "round",
- strokeLinejoin: "round",
- fill: "none",
- shapeRendering: "geometricPrecision",
- style: {
- color: "currentcolor"
- }
- }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "m6 9 6 6 6-6"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgCaretDown);
- /***/ }),
- /***/ 49039:
- /***/ ((__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 SvgMinus = function SvgMinus(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: "M2.25 7.5a.5.5 0 0 1 .5-.5h9.5a.5.5 0 0 1 0 1h-9.5a.5.5 0 0 1-.5-.5Z",
- fill: "currentColor",
- fillRule: "evenodd",
- clipRule: "evenodd"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgMinus);
- /***/ }),
- /***/ 4474:
- /***/ ((__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 SvgPlus = function SvgPlus(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 2.75a.5.5 0 0 0-1 0V7H2.75a.5.5 0 0 0 0 1H7v4.25a.5.5 0 0 0 1 0V8h4.25a.5.5 0 0 0 0-1H8V2.75Z",
- fill: "currentColor",
- fillRule: "evenodd",
- clipRule: "evenodd"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgPlus);
- /***/ }),
- /***/ 40574:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "TafsirEndOfScrollingActions_container__tcWLj"
- };
- /***/ }),
- /***/ 43576:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "tafsirMessage": "TafsirMessage_tafsirMessage__Gr_S9"
- };
- /***/ }),
- /***/ 99719:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "counter": "TafsirText_counter__xlNaF",
- "xs": "TafsirText_xs__P5Qjv",
- "sm": "TafsirText_sm__BbfQ0",
- "md": "TafsirText_md__mJWtv",
- "lg": "TafsirText_lg__t_oGB",
- "xl": "TafsirText_xl__3hmwr"
- };
- /***/ }),
- /***/ 5293:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "TafsirView_container__R9G7I",
- "tafsirName": "TafsirView_tafsirName__QPOiO",
- "tafsirContainer": "TafsirView_tafsirContainer__g2rhW",
- "rtl": "TafsirView_rtl__8pRLP",
- "surahAndAyahSelectionContainer": "TafsirView_surahAndAyahSelectionContainer__W96nf",
- "tafsirSelectionContainer": "TafsirView_tafsirSelectionContainer__QSkE3",
- "tafsirSelectionItem": "TafsirView_tafsirSelectionItem__GTJvw",
- "tafsirItemSelected": "TafsirView_tafsirItemSelected__SXceL",
- "separatorContainer": "TafsirView_separatorContainer__diS8n",
- "verseTextContainer": "TafsirView_verseTextContainer__A7tZ_",
- "selectionItem": "TafsirView_selectionItem__FJdhi",
- "ayahSelection": "TafsirView_ayahSelection__jWULb",
- "tafsirSkeletonItem": "TafsirView_tafsirSkeletonItem__q5sNk",
- "ayahSekletonItem": "TafsirView_ayahSekletonItem__B_nJN",
- "tafsirSkeletonItem1": "TafsirView_tafsirSkeletonItem1__nLGRk",
- "tafsirSkeletonItem2": "TafsirView_tafsirSkeletonItem2__aaEJy",
- "tafsirSkeletonItem3": "TafsirView_tafsirSkeletonItem3__NqYKV",
- "tafsirSelectionSkeleton": "TafsirView_tafsirSelectionSkeleton__3oq7k",
- "languageSelection": "TafsirView_languageSelection__8EFqZ",
- "tafsir-font-size-1": "TafsirView_tafsir-font-size-1__sLRnq",
- "tafsir-font-size-2": "TafsirView_tafsir-font-size-2__JLiR2",
- "tafsir-font-size-3": "TafsirView_tafsir-font-size-3__K0LBa",
- "tafsir-font-size-4": "TafsirView_tafsir-font-size-4__KrD1k",
- "tafsir-font-size-5": "TafsirView_tafsir-font-size-5__ri_Mr",
- "tafsir-font-size-6": "TafsirView_tafsir-font-size-6__FvBko",
- "tafsir-font-size-7": "TafsirView_tafsir-font-size-7__oS0XU",
- "tafsir-font-size-8": "TafsirView_tafsir-font-size-8__1U_43",
- "tafsir-font-size-9": "TafsirView_tafsir-font-size-9__6VJC2",
- "tafsir-font-size-10": "TafsirView_tafsir-font-size-10__zRYWI"
- };
- /***/ }),
- /***/ 16962:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "Counter_container__WfR1A",
- "count": "Counter_count__Q6LdA"
- };
- /***/ }),
- /***/ 40458:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "Select_container___DCC_",
- "withBackground": "Select_withBackground__rpdEL",
- "defaultStyledContainer": "Select_defaultStyledContainer__b32Mm",
- "smallContainer": "Select_smallContainer__L2Lff",
- "mediumContainer": "Select_mediumContainer__MF_Vq",
- "largeContainer": "Select_largeContainer___qGs0",
- "disabledContainer": "Select_disabledContainer__gi7YD",
- "arrow": "Select_arrow__WAbAk",
- "disabledArrow": "Select_disabledArrow__V4nEO",
- "select": "Select_select__BnH2G",
- "defaultStyledSelect": "Select_defaultStyledSelect__LmeKj",
- "disabledSelect": "Select_disabledSelect___R3Jd"
- };
- /***/ }),
- /***/ 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"
- };
- /***/ }),
- /***/ 93662:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "tafsirContainer": "tafsirs_tafsirContainer__DIxKj"
- };
- /***/ }),
- /***/ 28137:
- /***/ ((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 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 _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5293);
- /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7__);
- /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(50497);
- /* harmony import */ var _dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58087);
- /* harmony import */ var _dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77048);
- /* harmony import */ var _dls_Spinner_SpinnerContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(18470);
- /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24709);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__]);
- _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
- const LanguageAndTafsirSelection = ({ selectedTafsirIdOrSlug , onTafsirSelected , selectedLanguage , onSelectLanguage , languageOptions , data , isLoading })=>{
- if (!data) {
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().tafsirSkeletonItem), (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().tafsirSelectionSkeleton))
- });
- }
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_SpinnerContainer__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
- isLoading: isLoading,
- children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().tafsirSelectionContainer),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
- className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().languageSelection),
- size: _dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__/* .SelectSize.Small */ .h.Small,
- id: "lang-selection",
- name: "lang-selection",
- options: languageOptions.map((lng)=>({
- label: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_6__/* .getLocaleNameByFullName */ .Dl)(lng),
- value: lng
- })),
- onChange: onSelectLanguage,
- value: selectedLanguage
- }),
- data.tafsirs.filter((tafsir)=>tafsir.languageName === selectedLanguage || selectedTafsirIdOrSlug === tafsir.slug || Number(selectedTafsirIdOrSlug) === tafsir.id).map((tafsir)=>{
- const selected = selectedTafsirIdOrSlug === tafsir.slug || Number(selectedTafsirIdOrSlug) === tafsir.id;
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP, {
- onClick: ()=>onTafsirSelected(tafsir.id, tafsir.slug),
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__/* .ButtonSize.Small */ .qE.Small,
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().tafsirSelectionItem), {
- [(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().tafsirItemSelected)]: selected
- }),
- children: tafsir.translatedName.name
- }, tafsir.id);
- })
- ]
- })
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LanguageAndTafsirSelection);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 62727:
- /***/ ((__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 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 _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5293);
- /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7__);
- /* harmony import */ var _dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58087);
- /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(24709);
- /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44519);
- /* harmony import */ var src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(70813);
- const SurahAndAyahSelection = ({ selectedChapterId , selectedVerseNumber , onChapterIdChange , onVerseNumberChange , })=>{
- const { lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()();
- const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z);
- const verses = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_5__/* .generateChapterVersesKeys */ .qB)(chaptersData, selectedChapterId);
- const surahOptions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>Object.entries(chaptersData).map(([id, chapter])=>({
- label: chapter.transliteratedName,
- value: id
- })), [
- chaptersData
- ]);
- const ayahOptions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>verses.map((verseKey)=>{
- const verseNumber = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_5__/* .getVerseNumberFromKey */ .tR)(verseKey).toString();
- return {
- label: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_4__/* .toLocalizedNumber */ .rQ)(Number(verseNumber), lang),
- value: verseNumber
- };
- }), [
- lang,
- verses
- ]);
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().surahAndAyahSelectionContainer),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
- size: _dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__/* .SelectSize.Small */ .h.Small,
- id: "surah-selection",
- name: "surah-selection",
- options: surahOptions,
- onChange: onChapterIdChange,
- value: selectedChapterId
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().selectionItem),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
- className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().ayahSelection),
- size: _dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__/* .SelectSize.Small */ .h.Small,
- id: "ayah-selection",
- name: "ayah-selection",
- options: ayahOptions,
- onChange: onVerseNumberChange,
- value: selectedVerseNumber
- })
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SurahAndAyahSelection);
- /***/ }),
- /***/ 47261:
- /***/ ((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 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 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_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var swr_immutable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(79847);
- /* harmony import */ var _VerseTextPreview__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(57072);
- /* harmony import */ var _LanguageAndTafsirSelection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(28137);
- /* harmony import */ var _SurahAndAyahSelection__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(62727);
- /* harmony import */ var _TafsirEndOfScrollingActions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(52760);
- /* harmony import */ var _TafsirGroupMessage__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(78153);
- /* harmony import */ var _TafsirMessage__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(32068);
- /* harmony import */ var _TafsirSkeleton__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1627);
- /* harmony import */ var _TafsirText__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(20301);
- /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(5293);
- /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28__);
- /* harmony import */ var _components_DataFetcher__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(12951);
- /* harmony import */ var _dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(94400);
- /* harmony import */ var _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(19583);
- /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(62093);
- /* harmony import */ var _redux_slices_QuranReader_tafsirs__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(11983);
- /* harmony import */ var _utils_apiPaths__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(46127);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(55943);
- /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(24709);
- /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(57933);
- /* harmony import */ var _utils_tafsir__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(17773);
- /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(44519);
- /* harmony import */ var src_api__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(92684);
- /* harmony import */ var src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(70813);
- /* harmony import */ var types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(13591);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr_immutable__WEBPACK_IMPORTED_MODULE_5__, _LanguageAndTafsirSelection__WEBPACK_IMPORTED_MODULE_7__, _TafsirEndOfScrollingActions__WEBPACK_IMPORTED_MODULE_9__, _TafsirText__WEBPACK_IMPORTED_MODULE_13__, _components_DataFetcher__WEBPACK_IMPORTED_MODULE_14__, _dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_15__, _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_16__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__, _utils_navigation__WEBPACK_IMPORTED_MODULE_22__]);
- ([swr_immutable__WEBPACK_IMPORTED_MODULE_5__, _LanguageAndTafsirSelection__WEBPACK_IMPORTED_MODULE_7__, _TafsirEndOfScrollingActions__WEBPACK_IMPORTED_MODULE_9__, _TafsirText__WEBPACK_IMPORTED_MODULE_13__, _components_DataFetcher__WEBPACK_IMPORTED_MODULE_14__, _dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_15__, _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_16__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__, _utils_navigation__WEBPACK_IMPORTED_MODULE_22__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable react-func/max-lines-per-function */ /* eslint-disable max-lines */ /* eslint-disable i18next/no-literal-string */
- const TafsirBody = ({ initialChapterId , initialVerseNumber , initialTafsirIdOrSlug , render , scrollToTop , shouldRender })=>{
- const quranReaderStyles = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_17__/* .selectQuranReaderStyles */ .Pt, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
- const { lang , t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("common");
- const tafsirsState = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_tafsirs__WEBPACK_IMPORTED_MODULE_18__/* .selectTafsirs */ .OW);
- const { selectedTafsirs: userPreferredTafsirIds } = tafsirsState;
- const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_26__/* ["default"] */ .Z);
- const { actions: { onSettingsChange } , isLoading , } = (0,_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z)();
- const { 0: selectedChapterId , 1: setSelectedChapterId } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialChapterId);
- const { 0: selectedVerseNumber , 1: setSelectedVerseNumber } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialVerseNumber);
- const { 0: selectedLanguage , 1: setSelectedLanguage } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)("");
- const selectedVerseKey = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .makeVerseKey */ .u)(Number(selectedChapterId), Number(selectedVerseNumber));
- const { 0: selectedTafsirIdOrSlug , 1: setSelectedTafsirIdOrSlug } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialTafsirIdOrSlug || userPreferredTafsirIds?.[0]);
- // if user opened tafsirBody via a url, we will have initialTafsirIdOrSlug
- // we need to set this `initialTafsirIdOrSlug` as a selectedTafsirIdOrSlug
- // we did not use `useState(initialTafsirIdOrSlug)` because `useRouter`'s query string is undefined on first render
- (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
- if (initialTafsirIdOrSlug) {
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logEvent */ .Kz)("tafsir_url_access");
- setSelectedTafsirIdOrSlug(initialTafsirIdOrSlug);
- }
- }, [
- initialTafsirIdOrSlug
- ]);
- const onTafsirSelected = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((id, slug)=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logItemSelectionChange */ .u8)("tafsir", id);
- setSelectedTafsirIdOrSlug(slug);
- (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .fakeNavigate */ ._V)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .getVerseSelectedTafsirNavigationUrl */ .I8)(Number(selectedChapterId), Number(selectedVerseNumber), slug), lang);
- onSettingsChange("selectedTafsirs", [
- slug
- ], (0,_redux_slices_QuranReader_tafsirs__WEBPACK_IMPORTED_MODULE_18__/* .setSelectedTafsirs */ .ZY)({
- tafsirs: [
- slug
- ],
- locale: lang
- }), (0,_redux_slices_QuranReader_tafsirs__WEBPACK_IMPORTED_MODULE_18__/* .setSelectedTafsirs */ .ZY)({
- tafsirs: tafsirsState.selectedTafsirs,
- locale: lang
- }), types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_27__/* ["default"].TAFSIRS */ .Z.TAFSIRS);
- }, [
- lang,
- onSettingsChange,
- selectedChapterId,
- selectedVerseNumber,
- tafsirsState
- ]);
- const { data: tafsirSelectionList } = (0,swr_immutable__WEBPACK_IMPORTED_MODULE_5__["default"])(shouldRender ? (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_19__/* .makeTafsirsUrl */ .A9)(lang) : null, src_api__WEBPACK_IMPORTED_MODULE_25__/* .fetcher */ ._i);
- // selectedLanguage is based on selectedTafsir's language
- // but we need to fetch the data from the API first to know what is the language of `selectedTafsirIdOrSlug`
- // so we get the data from the API and set the selectedLanguage once it is loaded
- (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
- if (tafsirSelectionList) {
- setSelectedLanguage((prevSelectedLanguage)=>{
- // if we haven't set the language already, we need to detect which language the current tafsir is in.
- return prevSelectedLanguage || (0,_utils_tafsir__WEBPACK_IMPORTED_MODULE_23__/* .getSelectedTafsirLanguage */ .BF)(tafsirSelectionList, selectedTafsirIdOrSlug);
- });
- }
- }, [
- onTafsirSelected,
- selectedTafsirIdOrSlug,
- tafsirSelectionList
- ]);
- // there's no 1:1 data that can map our locale options to the tafsir language options
- // so we're using options that's available from tafsir for now
- // TODO: update language options, to use the same options as our LanguageSelector
- const languageOptions = tafsirSelectionList ? (0,_utils_tafsir__WEBPACK_IMPORTED_MODULE_23__/* .getTafsirsLanguageOptions */ .O3)(tafsirSelectionList.tafsirs) : [];
- /**
- * Handle when the language of the Tafsir is changed. When it does,
- * we auto-select the first Tafsir of the new language based on the
- * response from BE.
- *
- * @param {string} newLang
- */ const onLanguageSelected = (newLang)=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logValueChange */ .Q8)("tafsir_locale", selectedLanguage, newLang);
- setSelectedLanguage(newLang);
- if (tafsirSelectionList) {
- const firstTafsirOfLanguage = (0,_utils_tafsir__WEBPACK_IMPORTED_MODULE_23__/* .getFirstTafsirOfLanguage */ .K8)(tafsirSelectionList, newLang);
- if (firstTafsirOfLanguage) {
- const { id , slug } = firstTafsirOfLanguage;
- onTafsirSelected(id, slug);
- }
- }
- };
- const renderTafsir = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((data)=>{
- if (!data || !data.tafsir) return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TafsirSkeleton__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {});
- const { verses , text , languageId } = data.tafsir;
- const langData = (0,_utils_locale__WEBPACK_IMPORTED_MODULE_21__/* .getLanguageDataById */ .j2)(languageId);
- const [firstVerseKey, lastVerseKey] = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .getFirstAndLastVerseKeys */ .cI)(verses);
- const [chapterNumber, verseNumber] = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .getVerseAndChapterNumbersFromKey */ .bV)(lastVerseKey);
- const hasNextVerseGroup = !(0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .isLastVerseOfSurah */ .kC)(chaptersData, chapterNumber, Number(verseNumber));
- const hasPrevVerseGroup = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .getVerseNumberFromKey */ .tR)(firstVerseKey) !== 1;
- const loadNextVerseGroup = ()=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logButtonClick */ .MY)("tafsir_next_verse");
- scrollToTop();
- const newVerseNumber = String(Number((0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .getVerseNumberFromKey */ .tR)(lastVerseKey)) + 1);
- (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .fakeNavigate */ ._V)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .getVerseSelectedTafsirNavigationUrl */ .I8)(Number(selectedChapterId), Number(newVerseNumber), selectedTafsirIdOrSlug), lang);
- setSelectedVerseNumber(newVerseNumber);
- };
- const loadPrevVerseGroup = ()=>{
- const newVerseNumber = String(Number((0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .getVerseNumberFromKey */ .tR)(firstVerseKey)) - 1);
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logButtonClick */ .MY)("tafsir_prev_verse");
- scrollToTop();
- (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .fakeNavigate */ ._V)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .getVerseSelectedTafsirNavigationUrl */ .I8)(Number(selectedChapterId), Number(newVerseNumber), selectedTafsirIdOrSlug), lang);
- setSelectedVerseNumber(newVerseNumber);
- };
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- children: [
- !text && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TafsirMessage__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
- children: t("tafsir.no-text", {
- tafsirName: data.tafsir.translatedName.name
- })
- }),
- Object.values(verses).length > 1 && !!text && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TafsirGroupMessage__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
- from: firstVerseKey,
- to: lastVerseKey
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28___default().verseTextContainer),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_VerseTextPreview__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
- verses: Object.values(verses)
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28___default().separatorContainer),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {})
- }),
- !!text && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TafsirText__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
- direction: langData.direction,
- languageCode: langData.code,
- text: text
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TafsirEndOfScrollingActions__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
- hasNextVerseGroup: hasNextVerseGroup,
- hasPrevVerseGroup: hasPrevVerseGroup,
- onNextButtonClicked: loadNextVerseGroup,
- onPreviousButtonClicked: loadPrevVerseGroup
- })
- ]
- });
- }, [
- chaptersData,
- lang,
- scrollToTop,
- selectedChapterId,
- selectedTafsirIdOrSlug,
- t
- ]);
- const onChapterIdChange = (newChapterId)=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logItemSelectionChange */ .u8)("tafsir_chapter_id", newChapterId);
- (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .fakeNavigate */ ._V)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .getVerseSelectedTafsirNavigationUrl */ .I8)(Number(newChapterId), Number(1), selectedTafsirIdOrSlug), lang);
- setSelectedChapterId(newChapterId.toString());
- setSelectedVerseNumber("1"); // reset verse number to 1 every time chapter changes
- };
- const onVerseNumberChange = (newVerseNumber)=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logItemSelectionChange */ .u8)("tafsir_verse_number", newVerseNumber);
- setSelectedVerseNumber(newVerseNumber);
- (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .fakeNavigate */ ._V)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .getVerseSelectedTafsirNavigationUrl */ .I8)(Number(selectedChapterId), Number(newVerseNumber), selectedTafsirIdOrSlug), lang);
- };
- const surahAndAyahSelection = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SurahAndAyahSelection__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
- selectedChapterId: selectedChapterId,
- selectedVerseNumber: selectedVerseNumber,
- onChapterIdChange: onChapterIdChange,
- onVerseNumberChange: onVerseNumberChange
- });
- const languageAndTafsirSelection = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_LanguageAndTafsirSelection__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
- selectedTafsirIdOrSlug: selectedTafsirIdOrSlug,
- selectedLanguage: selectedLanguage,
- onTafsirSelected: onTafsirSelected,
- onSelectLanguage: onLanguageSelected,
- languageOptions: languageOptions,
- data: tafsirSelectionList,
- isLoading: isLoading
- });
- const body = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28___default().tafsirContainer), (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28___default())[`tafsir-font-size-${quranReaderStyles.tafsirFontScale}`]),
- // disable browser translation for tafsir content
- // @see {https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/translate}
- translate: "no",
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_DataFetcher__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
- loading: _TafsirSkeleton__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z,
- queryKey: (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_19__/* .makeTafsirContentUrl */ .Wy)(selectedTafsirIdOrSlug, selectedVerseKey, {
- lang,
- quranFont: quranReaderStyles.quranFont,
- mushafLines: quranReaderStyles.mushafLines
- }),
- render: renderTafsir
- })
- });
- return render({
- surahAndAyahSelection,
- languageAndTafsirSelection,
- body
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirBody);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 52760:
- /***/ ((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 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 _TafsirEndOfScrollingActions_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(40574);
- /* harmony import */ var _TafsirEndOfScrollingActions_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_TafsirEndOfScrollingActions_module_scss__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(50497);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__]);
- _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
- const TafsirEndOfScrollingActions = ({ hasNextVerseGroup , hasPrevVerseGroup , onNextButtonClicked , onPreviousButtonClicked })=>{
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default()("common");
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_TafsirEndOfScrollingActions_module_scss__WEBPACK_IMPORTED_MODULE_3___default().container),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- children: hasPrevVerseGroup && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP, {
- type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__/* .ButtonType.Secondary */ .L$.Secondary,
- onClick: onPreviousButtonClicked,
- children: t("previous-ayah")
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- children: hasNextVerseGroup && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP, {
- type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__/* .ButtonType.Secondary */ .L$.Secondary,
- onClick: onNextButtonClicked,
- children: t("next-ayah")
- })
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirEndOfScrollingActions);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 78153:
- /***/ ((__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 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 _TafsirMessage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(32068);
- const TafsirGroupMessage = ({ from , to })=>{
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default()("common");
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TafsirMessage__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
- children: t("tafsir.group-message", {
- from,
- to
- })
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirGroupMessage);
- /***/ }),
- /***/ 32068:
- /***/ ((__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 _TafsirMessage_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43576);
- /* harmony import */ var _TafsirMessage_module_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_TafsirMessage_module_scss__WEBPACK_IMPORTED_MODULE_2__);
- const TafsirMessage = ({ children })=>{
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TafsirMessage_module_scss__WEBPACK_IMPORTED_MODULE_2___default().tafsirMessage),
- children: children
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirMessage);
- /***/ }),
- /***/ 1627:
- /***/ ((__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 lodash_range__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64042);
- /* harmony import */ var lodash_range__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_range__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5293);
- /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var _dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(77048);
- const TafsirSkeleton = ()=>{
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
- className: ((_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default().tafsirSkeletonItem), (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default().ayahSekletonItem))
- }),
- lodash_range__WEBPACK_IMPORTED_MODULE_2___default()(1, 15).map((i)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default().tafsirSkeletonItem), {
- [(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default().tafsirSkeletonItem1)]: i % 1 === 0,
- [(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default().tafsirSkeletonItem2)]: i % 2 === 0,
- [(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default().tafsirSkeletonItem3)]: i % 3 === 0
- })
- }, i))
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirSkeleton);
- /***/ }),
- /***/ 20301:
- /***/ ((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 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 _TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(99719);
- /* harmony import */ var _TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9__);
- /* harmony import */ var _dls_Counter_Counter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12550);
- /* harmony import */ var _dls_Spinner_SpinnerContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18470);
- /* harmony import */ var _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(19583);
- /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(62093);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(55943);
- /* harmony import */ var types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(13591);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Counter_Counter__WEBPACK_IMPORTED_MODULE_3__, _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_5__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__]);
- ([_dls_Counter_Counter__WEBPACK_IMPORTED_MODULE_3__, _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_5__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable react/no-danger */
- const FONT_SIZE_CLASS_MAP = {
- 1: (_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default().xs),
- 2: (_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default().sm),
- 3: (_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default().md),
- 4: (_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default().lg),
- 5: (_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default().xl)
- };
- const TafsirText = ({ direction , languageCode , text })=>{
- const quranReaderStyles = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .selectQuranReaderStyles */ .Pt);
- const { actions: { onSettingsChange } , isLoading , } = (0,_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)();
- const { tafsirFontScale } = quranReaderStyles;
- /**
- * Persist settings in the DB if the user is logged in before dispatching
- * Redux action, otherwise just dispatch it.
- *
- * @param {string} key
- * @param {number} value
- * @param {Action} action
- */ const onTafsirsSettingsChange = (key, value, action, undoAction)=>{
- onSettingsChange(key, value, action, undoAction, types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_8__/* ["default"].QURAN_READER_STYLES */ .Z.QURAN_READER_STYLES);
- };
- const onFontScaleDecreaseClicked = ()=>{
- const newValue = tafsirFontScale - 1;
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__/* .logValueChange */ .Q8)("tafsir_font_scale", tafsirFontScale, newValue);
- onTafsirsSettingsChange("tafsirFontScale", newValue, (0,_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .decreaseTafsirFontScale */ .fT)(), (0,_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .increaseTafsirFontScale */ .$U)());
- };
- const onFontScaleIncreaseClicked = ()=>{
- const newValue = tafsirFontScale + 1;
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__/* .logValueChange */ .Q8)("tafsir_font_scale", tafsirFontScale, newValue);
- onTafsirsSettingsChange("tafsirFontScale", newValue, (0,_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .increaseTafsirFontScale */ .$U)(), (0,_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .decreaseTafsirFontScale */ .fT)());
- };
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- dir: direction,
- className: (_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default().counter),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_SpinnerContainer__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
- isLoading: isLoading,
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Counter_Counter__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
- count: tafsirFontScale,
- onDecrement: tafsirFontScale === _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .MINIMUM_FONT_STEP */ .P0 ? null : onFontScaleDecreaseClicked,
- onIncrement: tafsirFontScale === _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .MAXIMUM_TAFSIR_FONT_STEP */ .Jf ? null : onFontScaleIncreaseClicked
- })
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: FONT_SIZE_CLASS_MAP[tafsirFontScale],
- dir: direction,
- lang: languageCode,
- dangerouslySetInnerHTML: {
- __html: text
- }
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirText);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 12550:
- /***/ ((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 _Counter_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(16962);
- /* harmony import */ var _Counter_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Counter_module_scss__WEBPACK_IMPORTED_MODULE_7__);
- /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(50497);
- /* harmony import */ var _icons_minus_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49039);
- /* harmony import */ var _icons_plus_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4474);
- /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24709);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__]);
- _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
- /**
- *
- * @param {CounterProps} props - the props of the this component
- * @param {number} props.count - the current count
- * @param {() => void} props.onIncrement - the function to call when the increment button is clicked.
- * Button is disabled when the value is `undefined` or `null`
- * @param {() => void} props.onDecrement - the function to call when the decrement button is clicked.
- * Button is disabled when the value is `undefined` or `null`
- * @returns {JSX.Element}
- */ const Counter = ({ count , onIncrement , onDecrement })=>{
- const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()("common");
- const localizedCount = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>(0,_utils_locale__WEBPACK_IMPORTED_MODULE_6__/* .toLocalizedNumber */ .rQ)(Number(count), lang), [
- count,
- lang
- ]);
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_Counter_module_scss__WEBPACK_IMPORTED_MODULE_7___default().container),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP, {
- tooltip: t("counter.decrease"),
- shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonShape.Circle */ .jL.Circle,
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- isDisabled: !onDecrement,
- onClick: onDecrement,
- ariaLabel: t("counter.decrease"),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_minus_svg__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {})
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- className: (_Counter_module_scss__WEBPACK_IMPORTED_MODULE_7___default().count),
- children: localizedCount
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP, {
- tooltip: t("counter.increase"),
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonShape.Circle */ .jL.Circle,
- isDisabled: !onIncrement,
- onClick: onIncrement,
- ariaLabel: t("counter.increase"),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_plus_svg__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {})
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Counter);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 58087:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "h": () => (/* binding */ SelectSize)
- /* 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 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 _Select_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(40458);
- /* harmony import */ var _Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var _icons_caret_down_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(85970);
- var SelectSize;
- (function(SelectSize) {
- SelectSize["Small"] = "small";
- SelectSize["Medium"] = "medium";
- SelectSize["Large"] = "large";
- })(SelectSize || (SelectSize = {}));
- const Select = ({ name , id , onChange , options , value , disabled =false , required =false , size =SelectSize.Medium , placeholder ="Select an option" , defaultStyle =true , className , withBackground =true , })=>{
- const onSelectChange = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((e)=>{
- if (onChange) {
- onChange(e.target.value);
- }
- }, [
- onChange
- ]);
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().container), {
- [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().defaultStyledContainer)]: defaultStyle,
- [className]: className,
- [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().disabledContainer)]: disabled,
- [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().smallContainer)]: size === SelectSize.Small,
- [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().mediumContainer)]: size === SelectSize.Medium,
- [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().largeContainer)]: size === SelectSize.Large,
- [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().withBackground)]: withBackground
- }),
- children: [
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().select), {
- [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().defaultStyledSelect)]: defaultStyle,
- [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().disabledSelect)]: disabled
- }),
- name: name,
- id: id,
- onChange: onSelectChange,
- disabled: disabled,
- required: required,
- ...value ? {
- value
- } : {
- defaultValue: ""
- },
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("option", {
- value: "",
- disabled: true,
- hidden: true,
- children: placeholder
- }),
- options.map((option)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("option", {
- value: option.value,
- disabled: option.disabled || false,
- children: option.label
- }, option.value))
- ]
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().arrow), {
- [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().disabledArrow)]: disabled
- }),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_caret_down_svg__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {})
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Select);
- /***/ }),
- /***/ 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);
- /***/ }),
- /***/ 70813:
- /***/ ((__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__);
- const DataContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({});
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DataContext);
- /***/ }),
- /***/ 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); } });
- /***/ }),
- /***/ 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);
- /***/ }),
- /***/ 45137:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Dp": () => (/* binding */ ONE_WEEK_REVALIDATION_PERIOD_SECONDS),
- /* harmony export */ "eW": () => (/* binding */ REVALIDATION_PERIOD_ON_ERROR_SECONDS),
- /* harmony export */ "gi": () => (/* binding */ ONE_MONTH_REVALIDATION_PERIOD_SECONDS)
- /* harmony export */ });
- /* unused harmony export ONE_DAY_REVALIDATION_PERIOD_SECONDS */
- const REVALIDATION_PERIOD_ON_ERROR_SECONDS = 604800; // 7 days. TODO: @osama update the naming + value when we revert this back
- const ONE_DAY_REVALIDATION_PERIOD_SECONDS = 86400; // 1 day
- const ONE_WEEK_REVALIDATION_PERIOD_SECONDS = 604800; // 7 days
- const ONE_MONTH_REVALIDATION_PERIOD_SECONDS = 2592000; // 30 days
- /***/ }),
- /***/ 17773:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "BF": () => (/* binding */ getSelectedTafsirLanguage),
- /* harmony export */ "K8": () => (/* binding */ getFirstTafsirOfLanguage),
- /* harmony export */ "O3": () => (/* binding */ getTafsirsLanguageOptions)
- /* harmony export */ });
- /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18459);
- /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_uniq__WEBPACK_IMPORTED_MODULE_0__);
- /**
- * Get the language of the selected Tafsir.
- *
- * @param {TafsirsResponse} tafsirListData
- * @param {number|string} selectedTafsirIdOrSlug
- * @returns {string}
- */ const getSelectedTafsirLanguage = (tafsirListData, selectedTafsirIdOrSlug)=>{
- const selectedTafsir = tafsirListData?.tafsirs.find((tafsir)=>tafsir.slug === selectedTafsirIdOrSlug || tafsir.id === Number(selectedTafsirIdOrSlug));
- return selectedTafsir?.languageName;
- };
- /**
- * Get the first Tafsir of a language.
- *
- * @param {TafsirsResponse} tafsirListData
- * @param {string} language
- * @returns {TafsirInfo}
- */ const getFirstTafsirOfLanguage = (tafsirListData, language)=>{
- const selectedTafsir = tafsirListData?.tafsirs.find((tafsir)=>tafsir.languageName === language);
- return selectedTafsir;
- };
- /**
- * Given list of tafsirs, get all available language options
- *
- * @param {Tafsir[]} tafsirs
- * @returns {string[]} list of available language options
- */ const getTafsirsLanguageOptions = (tafsirs)=>lodash_uniq__WEBPACK_IMPORTED_MODULE_0___default()(tafsirs.map((tafsir)=>tafsir.languageName));
- /***/ })
- };
- ;
- //# sourceMappingURL=21608.js.map
|