exports.id = 45865; exports.ids = [45865]; exports.modules = { /***/ 58421: /***/ ((__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 SvgWest = function SvgWest(props) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({ width: 24, height: 24, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { d: "m9 19 1.41-1.41L5.83 13H22v-2H5.83l4.59-4.59L9 5l-7 7 7 7Z", fill: "currentColor" }))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgWest); /***/ }), /***/ 5782: /***/ ((module) => { // Exports module.exports = { "header": "CollectionDetail_header__mLL6m", "title": "CollectionDetail_title__QN2uH", "sorter": "CollectionDetail_sorter__TDDjt", "sorterIcon": "CollectionDetail_sorterIcon__RYGFI", "collectionItemsContainer": "CollectionDetail_collectionItemsContainer__PQkgK", "verseContainer": "CollectionDetail_verseContainer__ImQEQ", "emptyCollectionContainer": "CollectionDetail_emptyCollectionContainer__fmU40", "backToCollectionButtonContainer": "CollectionDetail_backToCollectionButtonContainer__G_Qmt", "bookmarkLink": "CollectionDetail_bookmarkLink__0Q4jb", "linkContainer": "CollectionDetail_linkContainer__eTUAG" }; /***/ }), /***/ 82642: /***/ ((module) => { // Exports module.exports = { "container": "CollectionDetailContainer_container__ZDXCw", "loadMoreContainer": "CollectionDetailContainer_loadMoreContainer__z09WI", "loadingContainer": "CollectionDetailContainer_loadingContainer__2i3JF", "emptyContainer": "CollectionDetailContainer_emptyContainer__qygbi" }; /***/ }), /***/ 31246: /***/ ((module) => { // Exports module.exports = { "verseContainer": "EmbeddableVerseCell_verseContainer__GCj_d" }; /***/ }), /***/ 81670: /***/ ((module) => { // Exports module.exports = { "header": "Collapsible_header__CmhJq", "headerLeft": "Collapsible_headerLeft__Xh00n", "prefixContainer": "Collapsible_prefixContainer__AVHUT", "prefixRotated": "Collapsible_prefixRotated__bjKLn", "suffixContainer": "Collapsible_suffixContainer__uZ1IW" }; /***/ }), /***/ 59639: /***/ ((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 _CollectionSorter_CollectionSorter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(56321); /* harmony import */ var _CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(5782); /* harmony import */ var _CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20__); /* harmony import */ var _components_QuranReader_TranslationView_EmbeddableVerseCell__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(43749); /* harmony import */ var _dls_ConfirmationModal_ConfirmationModal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11817); /* harmony import */ var _dls_ConfirmationModal_hooks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77843); /* harmony import */ var _icons_chevron_down_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(24868); /* harmony import */ var _icons_menu_more_horiz_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(80275); /* harmony import */ var _utils_chapter__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(95892); /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(55943); /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(24709); /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(57933); /* harmony import */ var _utils_url__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(69663); /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(44519); /* harmony import */ var src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(50497); /* harmony import */ var src_components_dls_Collapsible_Collapsible__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(92775); /* harmony import */ var src_components_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(99163); /* harmony import */ var src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(70813); /* harmony import */ var types_CollectionSortOptions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(6059); var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_CollectionSorter_CollectionSorter__WEBPACK_IMPORTED_MODULE_3__, _components_QuranReader_TranslationView_EmbeddableVerseCell__WEBPACK_IMPORTED_MODULE_4__, _dls_ConfirmationModal_ConfirmationModal__WEBPACK_IMPORTED_MODULE_5__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__, _utils_navigation__WEBPACK_IMPORTED_MODULE_12__, src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__, src_components_dls_Collapsible_Collapsible__WEBPACK_IMPORTED_MODULE_15__, src_components_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_16__]); ([_CollectionSorter_CollectionSorter__WEBPACK_IMPORTED_MODULE_3__, _components_QuranReader_TranslationView_EmbeddableVerseCell__WEBPACK_IMPORTED_MODULE_4__, _dls_ConfirmationModal_ConfirmationModal__WEBPACK_IMPORTED_MODULE_5__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__, _utils_navigation__WEBPACK_IMPORTED_MODULE_12__, src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__, src_components_dls_Collapsible_Collapsible__WEBPACK_IMPORTED_MODULE_15__, src_components_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_16__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__); /* eslint-disable max-lines */ const CollectionDetail = ({ id , title , bookmarks , sortBy , onSortByChange , onItemDeleted , isOwner })=>{ const { 0: isOpen , 1: setIsOpen } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false); const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()(); const confirm = (0,_dls_ConfirmationModal_hooks__WEBPACK_IMPORTED_MODULE_6__/* .useConfirm */ .N)(); const sortOptions = [ { id: types_CollectionSortOptions__WEBPACK_IMPORTED_MODULE_18__/* .CollectionDetailSortOption.RecentlyAdded */ .l.RecentlyAdded, label: t("collection:recently-added") }, { id: types_CollectionSortOptions__WEBPACK_IMPORTED_MODULE_18__/* .CollectionDetailSortOption.VerseKey */ .l.VerseKey, label: t("collection:verse-key") }, ]; const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z); const isCollectionEmpty = bookmarks.length === 0; const handleDeleteMenuClicked = (bookmark)=>async ()=>{ (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("collection_detail_delete_menu"); const bookmarkName = getBookmarkName(bookmark); const isConfirmed = await confirm({ confirmText: t("common:delete"), cancelText: t("common:cancel"), title: t("collection:delete-bookmark.title"), subtitle: t("collection:delete-bookmark.subtitle", { bookmarkName, collectionName: title }) }); const eventData = { verseKey: (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .makeVerseKey */ .u)(bookmark.key, bookmark.verseNumber), collectionId: id }; if (isConfirmed) { (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("bookmark_delete_confirm", eventData); onItemDeleted(bookmark.id); } else { (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("bookmark_delete_confirm_cancel", eventData); } }; const handleGoToAyah = (bookmark)=>()=>{ const verseKey = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .makeVerseKey */ .u)(bookmark.key, bookmark.verseNumber); (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("collection_detail_go_to_ayah_menu", { verseKey: (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .makeVerseKey */ .u)(bookmark.key, bookmark.verseNumber), collectionId: id }); (0,_utils_url__WEBPACK_IMPORTED_MODULE_19__/* .navigateToExternalUrl */ .R)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_12__/* .getVerseNavigationUrlByVerseKey */ .qs)(verseKey)); }; const getBookmarkName = (bookmark)=>{ const chapterData = (0,_utils_chapter__WEBPACK_IMPORTED_MODULE_9__/* .getChapterData */ .dy)(chaptersData, bookmark.key.toString()); const verseKey = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .makeVerseKey */ .u)(bookmark.key, bookmark.verseNumber); return `${chapterData.transliteratedName} ${(0,_utils_locale__WEBPACK_IMPORTED_MODULE_11__/* .toLocalizedVerseKey */ .Tj)(verseKey, lang)}`; }; const onToggleAllClicked = ()=>{ setIsOpen((currentIsOpen)=>{ if (currentIsOpen) { (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("collection_collapse_all", { collectionId: id }); } else { (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("collection_expand_all", { collectionId: id }); } return !currentIsOpen; }); }; const onBackToCollectionsClicked = ()=>{ (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("back_to_collections_button", { collectionId: id }); }; const onBookmarkMenuOpenChange = (isMenuOpen, bookmark)=>{ const eventData = { verseKey: (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .makeVerseKey */ .u)(bookmark.key, bookmark.verseNumber), collectionId: id }; if (isMenuOpen) { (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logEvent */ .Kz)("collection_bookmark_popover_menu_opened", eventData); } else { (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logEvent */ .Kz)("collection_bookmark_popover_menu_closed", eventData); } }; const onCollapseOpenChange = (isCollapseOpen, verseKey)=>{ const eventData = { verseKey, collectionId: id }; if (isCollapseOpen) { (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logEvent */ .Kz)("collection_bookmark_collapse_opened", eventData); } else { (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logEvent */ .Kz)("collection_bookmark_collapse_closed", eventData); } }; return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: (_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default().container), children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: (_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default().header), children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default().title), children: title }), isOwner && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_CollectionSorter_CollectionSorter__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, { selectedOptionId: sortBy, onChange: onSortByChange, options: sortOptions, isSingleCollection: true, collectionId: id }) ] }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .ZP, { variant: src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__/* .ButtonVariant.Ghost */ .Wu.Ghost, onClick: onToggleAllClicked, children: isOpen ? t("collection:collapse-all") : t("collection:expand-all") }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default().collectionItemsContainer), children: isCollectionEmpty ? /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: (_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default().emptyCollectionContainer), children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", { children: t("collection:empty") }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default().backToCollectionButtonContainer), children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .ZP, { onClick: onBackToCollectionsClicked, href: "/profile", children: t("collection:back-to-collection-list") }) }) ] }) : bookmarks.map((bookmark)=>{ const bookmarkName = getBookmarkName(bookmark); return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_Collapsible_Collapsible__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, { onOpenChange: (isCollapseOpen)=>onCollapseOpenChange(isCollapseOpen, (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .makeVerseKey */ .u)(bookmark.key, bookmark.verseNumber)), shouldOpen: isOpen, title: bookmarkName, prefix: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_chevron_down_svg__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {}), shouldRotatePrefixOnToggle: true, suffix: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(src_components_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, { trigger: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .ZP, { variant: src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__/* .ButtonVariant.Ghost */ .Wu.Ghost, children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_menu_more_horiz_svg__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {}) }), onOpenChange: (isMenuOpen)=>onBookmarkMenuOpenChange(isMenuOpen, bookmark), children: [ isOwner && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_16__/* ["default"].Item */ .Z.Item, { onClick: handleDeleteMenuClicked(bookmark), children: t("common:delete") }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_16__/* ["default"].Item */ .Z.Item, { onClick: handleGoToAyah(bookmark), shouldCloseMenuAfterClick: true, children: t("collection:go-to-ayah") }) ] }), children: ({ isOpen: isOpenRenderProp })=>{ if (!isOpenRenderProp) return null; const chapterId = bookmark.key; return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_TranslationView_EmbeddableVerseCell__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, { chapterId: chapterId, verseNumber: bookmark.verseNumber }); } }, bookmark.id); }) }) ] }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_ConfirmationModal_ConfirmationModal__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {}) ] }); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CollectionDetail); __webpack_async_result__(); } catch(e) { __webpack_async_result__(e); } }); /***/ }), /***/ 45865: /***/ ((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 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 swr_infinite__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(91448); /* harmony import */ var _pages_index_module_scss__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(23848); /* harmony import */ var _pages_index_module_scss__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_pages_index_module_scss__WEBPACK_IMPORTED_MODULE_18__); /* harmony import */ var _CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(82642); /* harmony import */ var _CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16__); /* harmony import */ var _components_NextSeoWrapper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(25869); /* harmony import */ var _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7190); /* harmony import */ var _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(79717); /* harmony import */ var _icons_west_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(58421); /* 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_string__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(96174); /* harmony import */ var src_components_Collection_CollectionDetail_CollectionDetail__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(59639); /* harmony import */ var src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(50497); /* harmony import */ var src_pages_error__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(36049); /* harmony import */ var src_utils_auth_api__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(37883); var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr_infinite__WEBPACK_IMPORTED_MODULE_4__, _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__, _utils_navigation__WEBPACK_IMPORTED_MODULE_11__, src_components_Collection_CollectionDetail_CollectionDetail__WEBPACK_IMPORTED_MODULE_12__, src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_13__, src_pages_error__WEBPACK_IMPORTED_MODULE_14__]); ([swr_infinite__WEBPACK_IMPORTED_MODULE_4__, _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__, _utils_navigation__WEBPACK_IMPORTED_MODULE_11__, src_components_Collection_CollectionDetail_CollectionDetail__WEBPACK_IMPORTED_MODULE_12__, src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_13__, src_pages_error__WEBPACK_IMPORTED_MODULE_14__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__); const CollectionDetailContainer = ({ title , getSWRKey , onSortByChange , sortBy , shouldDeleteBookmark })=>{ const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()(); const router = (0,next_router__WEBPACK_IMPORTED_MODULE_2__.useRouter)(); const collectionId = router.query.collectionId; const toast = (0,_dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__/* .useToast */ .pm)(); const { data , size , setSize , mutate , isValidating , error } = (0,swr_infinite__WEBPACK_IMPORTED_MODULE_4__["default"])(getSWRKey, src_utils_auth_api__WEBPACK_IMPORTED_MODULE_15__/* .privateFetcher */ .UK); if (error) { return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_pages_error__WEBPACK_IMPORTED_MODULE_14__["default"], { statusCode: 403 }); } if (!data) { return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16___default().container), (_CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16___default().loadingContainer)), children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, { shouldDelayVisibility: true, size: _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_6__/* .SpinnerSize.Large */ .E.Large }) }); } const onUpdated = ()=>{ mutate(); }; const lastPageData = data[data.length - 1]; const { hasNextPage } = lastPageData.pagination; const bookmarks = data.map((response)=>response.data.bookmarks).flat(); const collectionTitle = title || data[0].data.collection.name; const isOwner = data[0]?.data?.isOwner; const loadMore = ()=>{ setSize(size + 1); (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__/* .logButtonClick */ .MY)("collection_detail_page_load_more", { collectionId: (0,_utils_string__WEBPACK_IMPORTED_MODULE_17__/* .slugifiedCollectionIdToCollectionId */ .Nl)(collectionId), page: size + 1 }); }; const navigationUrl = (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_11__/* .getCollectionNavigationUrl */ .pg)(collectionId); const onItemDeleted = (bookmarkId)=>{ if (shouldDeleteBookmark) { (0,src_utils_auth_api__WEBPACK_IMPORTED_MODULE_15__/* .deleteBookmarkById */ .ez)(bookmarkId).then(()=>{ onUpdated(); }).catch(()=>{ toast(t("common:error.general"), { status: _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__/* .ToastStatus.Error */ .YZ.Error }); }); } else { (0,src_utils_auth_api__WEBPACK_IMPORTED_MODULE_15__/* .deleteCollectionBookmarkById */ .Qd)(collectionId, bookmarkId).then(()=>{ onUpdated(); }).catch(()=>{ toast(t("common:error.general"), { status: _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__/* .ToastStatus.Error */ .YZ.Error }); }); } }; const isLoadingMoreData = bookmarks?.length > 0 && size > 1 && isValidating; 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(_components_NextSeoWrapper__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, { title: collectionTitle, canonical: (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_11__/* .getCanonicalUrl */ .Z2)(lang, navigationUrl), languageAlternates: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_10__/* .getLanguageAlternates */ .qc)(navigationUrl), nofollow: true, noindex: true }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_pages_index_module_scss__WEBPACK_IMPORTED_MODULE_18___default().pageContainer), children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_pages_index_module_scss__WEBPACK_IMPORTED_MODULE_18___default().flow), children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_pages_index_module_scss__WEBPACK_IMPORTED_MODULE_18___default().flowItem), children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: (_CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16___default().container), children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .ZP, { href: (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_11__/* .getProfileNavigationUrl */ .kJ)(), variant: src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_13__/* .ButtonVariant.Ghost */ .Wu.Ghost, hasSidePadding: false, children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_west_svg__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {}) }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_Collection_CollectionDetail_CollectionDetail__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, { id: (0,_utils_string__WEBPACK_IMPORTED_MODULE_17__/* .slugifiedCollectionIdToCollectionId */ .Nl)(collectionId), title: collectionTitle, bookmarks: bookmarks, sortBy: sortBy, onSortByChange: onSortByChange, onItemDeleted: onItemDeleted, isOwner: isOwner }), isLoadingMoreData && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, { size: _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_6__/* .SpinnerSize.Large */ .E.Large }), hasNextPage && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16___default().loadMoreContainer), children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .ZP, { onClick: loadMore, children: t("collection:load-more") }) }) ] }) }) }) }) ] }); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CollectionDetailContainer); __webpack_async_result__(); } catch(e) { __webpack_async_result__(e); } }); /***/ }), /***/ 43749: /***/ ((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 react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _EmbeddableVerseCell_module_scss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(31246); /* harmony import */ var _EmbeddableVerseCell_module_scss__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_EmbeddableVerseCell_module_scss__WEBPACK_IMPORTED_MODULE_13__); /* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92684); /* harmony import */ var _components_DataFetcher__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(12951); /* harmony import */ var _components_QuranReader_TranslationView_TranslationText__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18809); /* harmony import */ var _components_QuranReader_VerseTextPreview__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(57072); /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(62093); /* harmony import */ var _redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(88548); /* harmony import */ var _utils_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4917); /* harmony import */ var _utils_apiPaths__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(46127); /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5639); var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_DataFetcher__WEBPACK_IMPORTED_MODULE_5__, _components_QuranReader_TranslationView_TranslationText__WEBPACK_IMPORTED_MODULE_6__]); ([_components_DataFetcher__WEBPACK_IMPORTED_MODULE_5__, _components_QuranReader_TranslationView_TranslationText__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__); const EmbeddableVerseCell = ({ chapterId , verseNumber , fontScale })=>{ const quranReaderStyles = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_8__/* .selectQuranReaderStyles */ .Pt, react_redux__WEBPACK_IMPORTED_MODULE_3__.shallowEqual); const { quranFont , mushafLines } = quranReaderStyles; const { mushaf } = (0,_utils_api__WEBPACK_IMPORTED_MODULE_10__/* .getMushafId */ .$P)(quranFont, mushafLines); const selectedTranslations = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_9__/* .selectSelectedTranslations */ .qw, _utils_array__WEBPACK_IMPORTED_MODULE_12__/* .areArraysEqual */ .Hj); const { lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()(); const apiParams = { words: true, perPage: 1, translations: selectedTranslations.join(","), page: verseNumber, ...(0,_utils_api__WEBPACK_IMPORTED_MODULE_10__/* .getDefaultWordFields */ .hD)(quranReaderStyles.quranFont), mushaf }; return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_DataFetcher__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, { // TODO: if we want to make this more optimized, we can use a shared cache with the QuranReader queryKey: `embeddable-verse-${chapterId}:${verseNumber}`, fetcher: ()=>(0,_api__WEBPACK_IMPORTED_MODULE_4__/* .fetcher */ ._i)((0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_11__/* .makeVersesUrl */ .ML)(chapterId.toString(), lang, apiParams)), render: (data)=>{ if (!data) return null; const firstVerse = data.verses?.[0]; return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: (_EmbeddableVerseCell_module_scss__WEBPACK_IMPORTED_MODULE_13___default().verseContainer), children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_VerseTextPreview__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, { verses: data.verses, fontScale: fontScale }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { children: firstVerse.translations?.map((translation)=>{ return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_TranslationView_TranslationText__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, { translationFontScale: quranReaderStyles.translationFontScale, text: translation.text, languageId: translation.languageId, resourceName: translation.resourceName }, translation.id); }) }) ] }); } }); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EmbeddableVerseCell); __webpack_async_result__(); } catch(e) { __webpack_async_result__(e); } }); /***/ }), /***/ 92775: /***/ ((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 */ "a": () => (/* binding */ CollapsibleDirection) /* 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 _radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74973); /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(59003); /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(81670); /* harmony import */ var _Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4__); var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_2__]); _radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0]; /* eslint-disable jsx-a11y/no-static-element-interactions */ /* eslint-disable jsx-a11y/click-events-have-key-events */ var CollapsibleDirection; (function(CollapsibleDirection) { CollapsibleDirection["Left"] = "left"; CollapsibleDirection["Right"] = "right"; })(CollapsibleDirection || (CollapsibleDirection = {})); const Collapsible = ({ isDefaultOpen =false , prefix , title , suffix , children , shouldRotatePrefixOnToggle , shouldOpen , onOpenChange , direction =CollapsibleDirection.Left })=>{ const { 0: isOpen , 1: setIsOpen } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(isDefaultOpen); (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{ setIsOpen(shouldOpen); }, [ shouldOpen ]); const onSuffixClicked = (e)=>{ e.preventDefault(); e.stopPropagation(); }; const onHeaderClicked = ()=>setIsOpen((preValue)=>!preValue); return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_2__.Root, { onOpenChange: onOpenChange, open: isOpen, children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_2__.Trigger, { asChild: true, children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().header), onClick: onHeaderClicked, children: direction === CollapsibleDirection.Left ? /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: (_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().headerLeft), children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().prefixContainer), { [(_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().prefixRotated)]: shouldRotatePrefixOnToggle && isOpen }), children: prefix }), title ] }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: (_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().suffixContainer), onClick: onSuffixClicked, children: suffix }) ] }) : /*#__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", { className: (_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().headerLeft), children: title }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().prefixContainer), { [(_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().prefixRotated)]: shouldRotatePrefixOnToggle && isOpen }), children: prefix }) ] }) }) }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_2__.CollapsibleContent, { children: isOpen && children({ isOpen }) }) ] }); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Collapsible); __webpack_async_result__(); } catch(e) { __webpack_async_result__(e); } }); /***/ }) }; ; //# sourceMappingURL=45865.js.map