123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768 |
- "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
|