"use strict"; exports.id = 99741; exports.ids = [99741]; exports.modules = { /***/ 84024: /***/ ((module, __webpack_exports__, __webpack_require__) => { __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 fuse_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62733); /* harmony import */ var fuse_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(fuse_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(71853); /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(60866); /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6022); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(45515); /* harmony import */ var _SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_18__); /* harmony import */ var _dls_Link_Link__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(61239); /* harmony import */ var _hooks_useChapterId__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(14266); /* harmony import */ var _hooks_useScrollToElement__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(56748); /* harmony import */ var _redux_slices_QuranReader_readingTracker__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(16143); /* harmony import */ var _redux_slices_revelationOrder__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(88795); /* harmony import */ var _types_SearchQuerySource__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(3050); /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(55943); /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(24709); /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(57933); /* harmony import */ var _utils_revelationOrder__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(4959); /* harmony import */ var src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(70813); var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_utils_eventLogger__WEBPACK_IMPORTED_MODULE_13__, _utils_navigation__WEBPACK_IMPORTED_MODULE_15__]); ([_utils_eventLogger__WEBPACK_IMPORTED_MODULE_13__, _utils_navigation__WEBPACK_IMPORTED_MODULE_15__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__); const filterSurah = (surahs, searchQuery)=>{ const fuse = new (fuse_js__WEBPACK_IMPORTED_MODULE_3___default())(surahs, { threshold: 0.3, keys: [ "id", "localizedId", "transliteratedName" ] }); const filteredSurah = fuse.search(searchQuery).map(({ item })=>item); if (!filteredSurah.length) { (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_13__/* .logEmptySearchResults */ .Dy)({ query: searchQuery, source: _types_SearchQuerySource__WEBPACK_IMPORTED_MODULE_12__/* ["default"].SidebarNavigationChaptersList */ .Z.SidebarNavigationChaptersList }); } else { (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_13__/* .logTextSearchQuery */ .tL)(searchQuery, _types_SearchQuerySource__WEBPACK_IMPORTED_MODULE_12__/* ["default"].SidebarNavigationChaptersList */ .Z.SidebarNavigationChaptersList); } return filteredSurah; }; const SurahList = ()=>{ const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_5___default()("common"); const lastReadVerseKey = (0,react_redux__WEBPACK_IMPORTED_MODULE_6__.useSelector)(_redux_slices_QuranReader_readingTracker__WEBPACK_IMPORTED_MODULE_10__/* .selectLastReadVerseKey */ .eQ); const isReadingByRevelationOrder = (0,react_redux__WEBPACK_IMPORTED_MODULE_6__.useSelector)(_redux_slices_revelationOrder__WEBPACK_IMPORTED_MODULE_11__/* .selectIsReadingByRevelationOrder */ .kW); const router = (0,next_router__WEBPACK_IMPORTED_MODULE_4__.useRouter)(); const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z); const chapterIds = (0,_hooks_useChapterId__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z)(lang); const urlChapterId = chapterIds && chapterIds.length > 0 ? chapterIds[0] : null; const { 0: currentChapterId , 1: setCurrentChapterId } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(urlChapterId); (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{ setCurrentChapterId(lastReadVerseKey.chapterId); }, [ lastReadVerseKey ]); (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{ // when the user navigates to a new chapter, the current chapter id setCurrentChapterId(urlChapterId); }, [ urlChapterId ]); const { 0: searchQuery , 1: setSearchQuery } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(""); const chapterDataArray = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{ if (!isReadingByRevelationOrder) { return Object.entries(chaptersData).map(([id, chapter])=>{ return { ...chapter, id, localizedId: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_14__/* .toLocalizedNumber */ .rQ)(Number(id), lang) }; }); } // Sort the chapters by revelation order return Object.entries(chaptersData).map(([id, chapter])=>{ return { ...chapter, id, localizedId: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_14__/* .toLocalizedNumber */ .rQ)(Number(_utils_revelationOrder__WEBPACK_IMPORTED_MODULE_17__/* ["default"].indexOf */ .Z.indexOf(Number(id)) + 1), lang) }; }).sort((a, b)=>_utils_revelationOrder__WEBPACK_IMPORTED_MODULE_17__/* ["default"].indexOf */ .Z.indexOf(Number(a.id)) - _utils_revelationOrder__WEBPACK_IMPORTED_MODULE_17__/* ["default"].indexOf */ .Z.indexOf(Number(b.id))); }, [ isReadingByRevelationOrder, chaptersData, lang ]); const filteredChapters = searchQuery ? filterSurah(chapterDataArray, searchQuery) : chapterDataArray; const [scrollTo, selectedChapterRef] = (0,_hooks_useScrollToElement__WEBPACK_IMPORTED_MODULE_9__/* .useScrollToElement */ .Oz)(_hooks_useScrollToElement__WEBPACK_IMPORTED_MODULE_9__/* .SCROLL_TO_NEAREST_ELEMENT */ .lT); (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{ scrollTo(); }, [ currentChapterId, scrollTo ]); // Handle when user press `Enter` in input box const handleSurahInputSubmit = (e)=>{ e.preventDefault(); const firstFilteredChapter = filteredChapters[0]; if (firstFilteredChapter) { router.push((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_15__/* .getSurahNavigationUrl */ .qm)(firstFilteredChapter.id)); } }; return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_18___default().surahListContainer), children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("form", { onSubmit: handleSurahInputSubmit, children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("input", { className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_18___default().searchInput), value: searchQuery, onChange: (e)=>setSearchQuery(e.target.value), placeholder: t("sidebar.search-surah") }) }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_18___default().listContainer), children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_18___default().list), children: filteredChapters.map((chapter)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Link_Link__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, { href: (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_15__/* .getSurahNavigationUrl */ .qm)(chapter.id), shouldPrefetch: false, children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { ref: chapter.id.toString() === currentChapterId ? selectedChapterRef : null, className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_18___default().listItem), { [(_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_18___default().selectedItem)]: chapter.id.toString() === currentChapterId }), children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", { className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_18___default().chapterNumber), children: chapter.localizedId }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", { children: chapter.transliteratedName }) ] }) }, chapter.id)) }) }) ] }); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SurahList); __webpack_async_result__(); } catch(e) { __webpack_async_result__(e); } }); /***/ }), /***/ 99741: /***/ ((module, __webpack_exports__, __webpack_require__) => { __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__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 _SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(45515); /* harmony import */ var _SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _SurahList__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84024); /* harmony import */ var _VerseList__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24077); var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_SurahList__WEBPACK_IMPORTED_MODULE_1__, _VerseList__WEBPACK_IMPORTED_MODULE_2__]); ([_SurahList__WEBPACK_IMPORTED_MODULE_1__, _VerseList__WEBPACK_IMPORTED_MODULE_2__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__); const SurahSelection = ()=>{ return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_3___default().surahBodyContainer), children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SurahList__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {}), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_VerseList__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {}) ] }); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SurahSelection); __webpack_async_result__(); } catch(e) { __webpack_async_result__(e); } }); /***/ }), /***/ 24077: /***/ ((module, __webpack_exports__, __webpack_require__) => { __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_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71853); /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_router__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 _SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(45515); /* harmony import */ var _SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_14__); /* harmony import */ var _VerseListItem__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11965); /* harmony import */ var _hooks_useChapterId__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(14266); /* harmony import */ var _redux_slices_QuranReader_readingTracker__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(16143); /* harmony import */ var _types_SearchQuerySource__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3050); /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(55943); /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(24709); /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(57933); /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(44519); /* harmony import */ var src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(70813); var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_VerseListItem__WEBPACK_IMPORTED_MODULE_5__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__, _utils_navigation__WEBPACK_IMPORTED_MODULE_11__]); ([_VerseListItem__WEBPACK_IMPORTED_MODULE_5__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__, _utils_navigation__WEBPACK_IMPORTED_MODULE_11__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__); const VerseList = ()=>{ const { 0: searchQuery , 1: setSearchQuery } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(""); const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("common"); const lastReadVerseKey = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_readingTracker__WEBPACK_IMPORTED_MODULE_7__/* .selectLastReadVerseKey */ .eQ); const router = (0,next_router__WEBPACK_IMPORTED_MODULE_2__.useRouter)(); const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z); const chapterIds = (0,_hooks_useChapterId__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(lang); const urlChapterId = chapterIds && chapterIds.length > 0 ? chapterIds[0] : null; const { 0: currentChapterId , 1: setCurrentChapterId } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(urlChapterId); (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{ setCurrentChapterId(lastReadVerseKey.chapterId); }, [ lastReadVerseKey ]); (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{ // when the user navigates to a new chapter, reset the search query, and update the current chapter id setSearchQuery(""); setCurrentChapterId(urlChapterId); }, [ urlChapterId ]); const verseKeys = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>currentChapterId ? (0,_utils_verse__WEBPACK_IMPORTED_MODULE_12__/* .generateChapterVersesKeys */ .qB)(chaptersData, currentChapterId) : [], [ chaptersData, currentChapterId ]); const filteredVerseKeys = verseKeys.filter((verseKey)=>{ const verseNumber = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_12__/* .getVerseNumberFromKey */ .tR)(verseKey); const localizedVerseNumber = (0,_utils_locale__WEBPACK_IMPORTED_MODULE_10__/* .toLocalizedNumber */ .rQ)(verseNumber, lang); return localizedVerseNumber.toString().startsWith(searchQuery) || verseNumber.toString().startsWith(searchQuery); }); (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{ if (!filteredVerseKeys.length) { (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__/* .logEmptySearchResults */ .Dy)({ query: searchQuery, source: _types_SearchQuerySource__WEBPACK_IMPORTED_MODULE_8__/* ["default"].SidebarNavigationVersesList */ .Z.SidebarNavigationVersesList }); } else { (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__/* .logTextSearchQuery */ .tL)(searchQuery, _types_SearchQuerySource__WEBPACK_IMPORTED_MODULE_8__/* ["default"].SidebarNavigationVersesList */ .Z.SidebarNavigationVersesList); } }, [ searchQuery, filteredVerseKeys ]); // Handle when user press `Enter` in input box const handleVerseInputSubmit = (e)=>{ e.preventDefault(); const firstFilteredVerseKey = filteredVerseKeys[0]; if (firstFilteredVerseKey) { router.push((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_11__/* .getChapterWithStartingVerseUrl */ .P6)(firstFilteredVerseKey), undefined, { shallow: true }); } }; return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_14___default().verseListContainer), children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("form", { onSubmit: handleVerseInputSubmit, children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("input", { value: searchQuery, onChange: (e)=>setSearchQuery(e.target.value), className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_14___default().searchInput), placeholder: t("verse") }) }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_14___default().listContainer), children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_14___default().list), children: filteredVerseKeys.map((verseKey)=>{ return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_VerseListItem__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, { verseKey: verseKey }, verseKey); }) }) }) ] }); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VerseList); __webpack_async_result__(); } catch(e) { __webpack_async_result__(e); } }); /***/ }), /***/ 11965: /***/ ((module, __webpack_exports__, __webpack_require__) => { __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 _SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(45515); /* harmony import */ var _SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_11__); /* harmony import */ var _dls_Link_Link__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(61239); /* harmony import */ var _hooks_useScrollToElement__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(56748); /* harmony import */ var _redux_slices_QuranReader_readingTracker__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(16143); /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(24709); /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(57933); /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(44519); var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_utils_navigation__WEBPACK_IMPORTED_MODULE_9__]); _utils_navigation__WEBPACK_IMPORTED_MODULE_9__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0]; const VerseListItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ verseKey })=>{ const { lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()(); const isVerseKeySelected = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)((0,_redux_slices_QuranReader_readingTracker__WEBPACK_IMPORTED_MODULE_7__/* .selectIsVerseKeySelected */ .jM)(verseKey)); const verseNumber = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_10__/* .getVerseNumberFromKey */ .tR)(verseKey); const localizedVerseNumber = (0,_utils_locale__WEBPACK_IMPORTED_MODULE_8__/* .toLocalizedNumber */ .rQ)(verseNumber, lang); const [scrollTo, verseRef] = (0,_hooks_useScrollToElement__WEBPACK_IMPORTED_MODULE_6__/* .useScrollToElement */ .Oz)(_hooks_useScrollToElement__WEBPACK_IMPORTED_MODULE_6__/* .SCROLL_TO_NEAREST_ELEMENT */ .lT); (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{ if (isVerseKeySelected) scrollTo(); }, [ scrollTo, isVerseKeySelected ]); return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Link_Link__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, { href: (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_9__/* .getChapterWithStartingVerseUrl */ .P6)(verseKey), isShallow: true, shouldPrefetch: false, children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { ref: verseRef, className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_11___default().listItem), { [(_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_11___default().selectedItem)]: isVerseKeySelected }), children: localizedVerseNumber }) }, verseKey); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VerseListItem); __webpack_async_result__(); } catch(e) { __webpack_async_result__(e); } }); /***/ }), /***/ 14266: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": () => (/* binding */ useChapterId) }); // EXTERNAL MODULE: external "react" var external_react_ = __webpack_require__(16689); // EXTERNAL MODULE: external "next/router" var router_ = __webpack_require__(71853); // EXTERNAL MODULE: ./src/utils/chapter.ts var chapter = __webpack_require__(95892); // EXTERNAL MODULE: ./src/utils/locale.ts var locale = __webpack_require__(24709); ;// CONCATENATED MODULE: ./src/utils/hizb.ts /** * Whether the current hizb is the first surah. * * @param {number} hizbNumber * @returns {boolean} */ const isFirstHizb = (hizbNumber)=>hizbNumber === 1; /** * Whether the current hizb is the last surah. * * @param {number} hizbNumber * @returns {boolean} */ const isLastHizb = (hizbNumber)=>hizbNumber === 60; const TOTAL_QURAN_HIZB = 60; const getHizbIds = (lang)=>{ return [ ...Array(TOTAL_QURAN_HIZB) ].map((n, index)=>{ const hizb = index + 1; return { value: hizb, label: toLocalizedNumber(hizb, lang) }; }); }; /** * Given a hizbId, get chapters ids from a json file * * @param {string} hizbId * @returns {string[]} chapterIds */ const getChapterIdsForHizb = async (hizbId)=>{ return new Promise((res)=>{ __webpack_require__.e(/* import() */ 72488).then(__webpack_require__.t.bind(__webpack_require__, 72488, 19)).then((data)=>{ res(data.default[hizbId]); }); }); }; // EXTERNAL MODULE: ./src/utils/number.ts var number = __webpack_require__(19303); ;// CONCATENATED MODULE: ./src/utils/rub.ts const TOTAL_QURAN_RUB_EL_HIZB = 240; /** * Whether the current Rub is the first Rub El Hizb. * * @param {number} rubNumber * @returns {boolean} */ const isFirstRub = (rubNumber)=>rubNumber === 1; /** * Whether the current Rub is the last Rub El Hizb. * * @param {number} rubNumber * @returns {boolean} */ const isLastRub = (rubNumber)=>rubNumber === TOTAL_QURAN_RUB_EL_HIZB; const getRubIds = (lang)=>{ return [ ...Array(TOTAL_QURAN_RUB_EL_HIZB) ].map((n, index)=>{ const rub = index + 1; return { value: rub, label: toLocalizedNumber(rub, lang) }; }); }; const getChapterIdsForRub = async (rubId)=>{ return new Promise((res)=>{ __webpack_require__.e(/* import() */ 8858).then(__webpack_require__.t.bind(__webpack_require__, 8858, 19)).then((data)=>{ res(data.default[rubId]); }); }); }; // EXTERNAL MODULE: ./src/utils/validator.ts var validator = __webpack_require__(41051); // EXTERNAL MODULE: ./src/utils/verse.ts var verse = __webpack_require__(44519); // EXTERNAL MODULE: ./src/api.ts var api = __webpack_require__(92684); // EXTERNAL MODULE: ./src/contexts/DataContext.ts var DataContext = __webpack_require__(70813); ;// CONCATENATED MODULE: ./src/hooks/useChapterId.ts /** * Given a url path such as `/chapter/1`, return the chapters id * This will also handle case where chapterId is not specified in the url path * For example: `/juz/1`, `/pages/323`. We will get the data for those url path from json files * * @returns {string[]} chapterIds * * example: * - /juz/1 => ["1", "2"] * - /page/2 => ["2"] * - /chapter/1 => ["1"] */ const AYAH_KURSI_SLUGS = [ "ayatul-kursi", "آیت الکرسی" ]; // TODO: this needs to be refactored when we localize Ayatul Kursi const useChapterIdsByUrlPath = (lang)=>{ const router = (0,router_.useRouter)(); const { chapterId , juzId , pageId , hizbId , rubId } = router.query; const { 0: chapterIds , 1: setChapterIds } = (0,external_react_.useState)([]); const chaptersData = (0,external_react_.useContext)(DataContext/* default */.Z); (0,external_react_.useEffect)(()=>{ (async ()=>{ if (chapterId) { const chapterIdOrVerseKeyOrSlug = chapterId; // if it's a chapter id if ((0,validator/* isValidChapterId */.hP)(chapterIdOrVerseKeyOrSlug)) { setChapterIds([ (0,number/* formatStringNumber */.XK)(chapterIdOrVerseKeyOrSlug) ]); } else if ((0,validator/* isValidVerseKey */.CG)(chaptersData, chapterIdOrVerseKeyOrSlug)) { // if it's a verse key e.g 5:1 setChapterIds([ (0,verse/* getChapterNumberFromKey */.Tc)(chapterIdOrVerseKeyOrSlug).toString() ]); } else if (AYAH_KURSI_SLUGS.includes(chapterIdOrVerseKeyOrSlug.toLowerCase())) { // if it's Ayatul Kursi setChapterIds([ "2" ]); } else { // we need to convert the slug into a chapterId by calling BE const sluggedChapterId = await (0,api/* getChapterIdBySlug */.U0)(chapterIdOrVerseKeyOrSlug, lang); // if it's a valid slug and the call doesn't have any errors if (sluggedChapterId) { setChapterIds([ sluggedChapterId.toString() ]); } } } else if (pageId) { const chapterIdsForPage = await (0,chapter/* getChapterIdsForPage */.op)((0,number/* formatStringNumber */.XK)(pageId)); setChapterIds(chapterIdsForPage); } else if (juzId) { setChapterIds(await (0,chapter/* getChapterIdsForJuz */.it)((0,number/* formatStringNumber */.XK)(juzId))); } else if (hizbId) { setChapterIds(await getChapterIdsForHizb((0,number/* formatStringNumber */.XK)(hizbId))); } else if (rubId) { setChapterIds(await getChapterIdsForRub((0,number/* formatStringNumber */.XK)(rubId))); } })(); }, [ pageId, juzId, hizbId, rubId, lang, chapterId, chaptersData ]); return chapterIds; }; /* harmony default export */ const useChapterId = (useChapterIdsByUrlPath); /***/ }), /***/ 4959: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); // The revelation order of Surahs in the Quran. Currently using https://tanzil.net/docs/revelation_order const REVELATION_ORDER = [ 96, 68, 73, 74, 1, 111, 81, 87, 92, 89, 93, 94, 103, 100, 108, 102, 107, 109, 105, 113, 114, 112, 53, 80, 97, 91, 85, 95, 106, 101, 75, 104, 77, 50, 90, 86, 54, 38, 7, 72, 36, 25, 35, 19, 20, 56, 26, 27, 28, 17, 10, 11, 12, 15, 6, 37, 31, 34, 39, 40, 41, 42, 43, 44, 45, 46, 51, 88, 18, 16, 71, 14, 21, 23, 32, 52, 67, 69, 70, 78, 79, 82, 84, 30, 29, 83, 2, 8, 3, 33, 60, 4, 99, 57, 47, 13, 55, 76, 65, 98, 59, 24, 22, 63, 58, 49, 66, 64, 61, 62, 48, 5, 9, 110, ]; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (REVELATION_ORDER); /***/ }), /***/ 3050: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); var SearchQuerySource; (function(SearchQuerySource) { SearchQuerySource["CommandBar"] = "command_bar"; SearchQuerySource["SearchDrawer"] = "search_drawer"; SearchQuerySource["SearchPage"] = "search_page"; SearchQuerySource["TranslationSettingsDrawer"] = "settings_drawer_translation"; SearchQuerySource["TafsirSettingsDrawer"] = "settings_drawer_tafsir"; SearchQuerySource["ReciterPageChapterList"] = "reciter_page_chapter_list"; SearchQuerySource["Tarteel"] = "tarteel"; SearchQuerySource["SidebarNavigationChaptersList"] = "sidebar_navigation_chapter_list"; SearchQuerySource["SidebarNavigationVersesList"] = "sidebar_navigation_verse_list"; SearchQuerySource["SidebarNavigationJuzsList"] = "sidebar_navigation_juz_list"; SearchQuerySource["SidebarNavigationPagesList"] = "sidebar_navigation_page_list"; })(SearchQuerySource || (SearchQuerySource = {})); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchQuerySource); /***/ }) }; ; //# sourceMappingURL=99741.js.map