52271.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. exports.id = 52271;
  2. exports.ids = [52271];
  3. exports.modules = {
  4. /***/ 58421:
  5. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6. "use strict";
  7. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  8. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  9. /* harmony export */ });
  10. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  11. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  12. var _path;
  13. 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); }
  14. var SvgWest = function SvgWest(props) {
  15. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  16. width: 24,
  17. height: 24,
  18. viewBox: "0 0 24 24",
  19. fill: "none",
  20. xmlns: "http://www.w3.org/2000/svg"
  21. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  22. d: "m9 19 1.41-1.41L5.83 13H22v-2H5.83l4.59-4.59L9 5l-7 7 7 7Z",
  23. fill: "currentColor"
  24. })));
  25. };
  26. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgWest);
  27. /***/ }),
  28. /***/ 94185:
  29. /***/ ((module) => {
  30. // Exports
  31. module.exports = {
  32. "container": "Info_container__F5EE7",
  33. "infoBody": "Info_infoBody__5p7Nu",
  34. "backContainer": "Info_backContainer__6CVP7",
  35. "backIcon": "Info_backIcon__ywZyE",
  36. "imageContainer": "Info_imageContainer__48mv2",
  37. "textBody": "Info_textBody__Tx5BZ",
  38. "infoTextContainer": "Info_infoTextContainer__N2E46",
  39. "headerContainer": "Info_headerContainer__Gt5qK",
  40. "surahName": "Info_surahName__X8hE6",
  41. "detailsContainer": "Info_detailsContainer__YGVEI",
  42. "detailHeader": "Info_detailHeader__IXEu1"
  43. };
  44. /***/ }),
  45. /***/ 40206:
  46. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  47. "use strict";
  48. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  49. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  50. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  51. /* harmony export */ });
  52. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  53. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  54. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  55. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  56. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
  57. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
  58. /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(96021);
  59. /* harmony import */ var _components_NextSeoWrapper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(25869);
  60. /* harmony import */ var _lib_og__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(11670);
  61. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24709);
  62. /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(57933);
  63. /* harmony import */ var src_pages_error__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(36049);
  64. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([___WEBPACK_IMPORTED_MODULE_3__, _utils_navigation__WEBPACK_IMPORTED_MODULE_6__, src_pages_error__WEBPACK_IMPORTED_MODULE_7__]);
  65. ([___WEBPACK_IMPORTED_MODULE_3__, _utils_navigation__WEBPACK_IMPORTED_MODULE_6__, src_pages_error__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  66. const InfoPage = ({ hasError , chapterInfoResponse , chapterResponse })=>{
  67. const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()("common");
  68. if (hasError) {
  69. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_pages_error__WEBPACK_IMPORTED_MODULE_7__["default"], {
  70. statusCode: 500
  71. });
  72. }
  73. const navigationUrl = (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_6__/* .getSurahInfoNavigationUrl */ .Zm)(chapterResponse.chapter.slug);
  74. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  75. children: [
  76. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_NextSeoWrapper__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
  77. title: `${t("surah")} ${chapterResponse.chapter.transliteratedName} - ${(0,_utils_locale__WEBPACK_IMPORTED_MODULE_5__/* .toLocalizedNumber */ .rQ)(1, lang)}-${(0,_utils_locale__WEBPACK_IMPORTED_MODULE_5__/* .toLocalizedNumber */ .rQ)(chapterResponse.chapter.versesCount, lang)}`,
  78. image: (0,_lib_og__WEBPACK_IMPORTED_MODULE_8__/* .getChapterOgImageUrl */ .oJ)({
  79. chapterId: chapterInfoResponse.chapterInfo.id,
  80. locale: lang
  81. }),
  82. imageWidth: 1200,
  83. imageHeight: 630,
  84. canonical: (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_6__/* .getCanonicalUrl */ .Z2)(lang, navigationUrl),
  85. languageAlternates: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_5__/* .getLanguageAlternates */ .qc)(navigationUrl),
  86. description: chapterInfoResponse.chapterInfo.shortText
  87. }),
  88. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(___WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  89. chapter: chapterResponse.chapter,
  90. chapterInfo: chapterInfoResponse.chapterInfo
  91. })
  92. ]
  93. });
  94. };
  95. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InfoPage);
  96. __webpack_async_result__();
  97. } catch(e) { __webpack_async_result__(e); } });
  98. /***/ }),
  99. /***/ 96021:
  100. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  101. "use strict";
  102. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  103. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  104. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  105. /* harmony export */ });
  106. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  107. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  108. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  109. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  110. /* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7477);
  111. /* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_image__WEBPACK_IMPORTED_MODULE_2__);
  112. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
  113. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
  114. /* harmony import */ var _Info_module_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(94185);
  115. /* harmony import */ var _Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Info_module_scss__WEBPACK_IMPORTED_MODULE_9__);
  116. /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50497);
  117. /* harmony import */ var _icons_west_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(58421);
  118. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(55943);
  119. /* harmony import */ var _utils_image__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(42353);
  120. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(24709);
  121. /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(57933);
  122. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__, _utils_navigation__WEBPACK_IMPORTED_MODULE_8__]);
  123. ([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__, _utils_navigation__WEBPACK_IMPORTED_MODULE_8__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  124. /* eslint-disable react/no-danger */
  125. const Info = ({ chapter , chapterInfo })=>{
  126. const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()();
  127. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  128. className: (_Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default().container),
  129. children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  130. className: (_Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default().infoBody),
  131. children: [
  132. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  133. children: [
  134. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  135. className: (_Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default().backContainer),
  136. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .ZP, {
  137. variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  138. href: (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_8__/* .getSurahNavigationUrl */ .qm)(chapterInfo.chapterId),
  139. className: (_Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default().backIcon),
  140. prefix: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_west_svg__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {}),
  141. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__/* .ButtonSize.Small */ .qE.Small,
  142. onClick: ()=>{
  143. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__/* .logButtonClick */ .MY)("chapter_info_go_back");
  144. },
  145. children: t("surah-info:go-to-surah")
  146. })
  147. }),
  148. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  149. className: (_Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default().imageContainer),
  150. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((next_image__WEBPACK_IMPORTED_MODULE_2___default()), {
  151. src: `/images/${chapter.revelationPlace}.jpg`,
  152. layout: "fill",
  153. placeholder: "blur",
  154. blurDataURL: (0,_utils_image__WEBPACK_IMPORTED_MODULE_10__/* .getBlurDataUrl */ .y)(200, 200),
  155. alt: t(`surah-info:${chapter.revelationPlace}`)
  156. })
  157. })
  158. ]
  159. }),
  160. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  161. className: (_Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default().infoTextContainer),
  162. children: [
  163. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  164. className: (_Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default().headerContainer),
  165. children: [
  166. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  167. className: (_Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default().surahName),
  168. children: [
  169. t("common:surah"),
  170. " ",
  171. chapter.transliteratedName
  172. ]
  173. }),
  174. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  175. className: (_Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default().detailsContainer),
  176. children: [
  177. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  178. children: [
  179. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  180. className: (_Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default().detailHeader),
  181. children: t("common:ayahs")
  182. }),
  183. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  184. children: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_7__/* .toLocalizedNumber */ .rQ)(chapter.versesCount, lang)
  185. })
  186. ]
  187. }),
  188. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  189. children: [
  190. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  191. className: (_Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default().detailHeader),
  192. children: t("surah-info:revelation-place")
  193. }),
  194. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  195. children: t(`surah-info:${chapter.revelationPlace}`)
  196. })
  197. ]
  198. })
  199. ]
  200. })
  201. ]
  202. }),
  203. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  204. dangerouslySetInnerHTML: {
  205. __html: chapterInfo.text
  206. },
  207. className: (_Info_module_scss__WEBPACK_IMPORTED_MODULE_9___default().textBody)
  208. })
  209. ]
  210. })
  211. ]
  212. })
  213. });
  214. };
  215. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Info);
  216. __webpack_async_result__();
  217. } catch(e) { __webpack_async_result__(e); } });
  218. /***/ }),
  219. /***/ 11670:
  220. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  221. "use strict";
  222. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  223. /* harmony export */ "KT": () => (/* binding */ getAboutTheQuranImageUrl),
  224. /* harmony export */ "dJ": () => (/* binding */ getLearningPlansImageUrl),
  225. /* harmony export */ "oJ": () => (/* binding */ getChapterOgImageUrl),
  226. /* harmony export */ "qW": () => (/* binding */ getDefaultOgImageUrl)
  227. /* harmony export */ });
  228. const BASE_OG_URL = "https://og.qurancdn.com";
  229. const getDefaultOgImageUrl = ({ locale })=>`${BASE_OG_URL}/api/og?lang=${locale}`;
  230. const getAboutTheQuranImageUrl = ({ locale })=>`${BASE_OG_URL}/api/og/about-the-quran?lang=${locale}`;
  231. const getLearningPlansImageUrl = ({ locale })=>`${BASE_OG_URL}/api/og/learning-plans?lang=${locale}`;
  232. const getChapterOgImageUrl = ({ chapterId , locale , verseNumber })=>{
  233. const url = `${BASE_OG_URL}/api/og/chapter/${chapterId}?lang=${locale}`;
  234. if (!verseNumber) return url;
  235. return `${url}&verse=${verseNumber}`;
  236. };
  237. /***/ }),
  238. /***/ 45137:
  239. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  240. "use strict";
  241. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  242. /* harmony export */ "Dp": () => (/* binding */ ONE_WEEK_REVALIDATION_PERIOD_SECONDS),
  243. /* harmony export */ "eW": () => (/* binding */ REVALIDATION_PERIOD_ON_ERROR_SECONDS),
  244. /* harmony export */ "gi": () => (/* binding */ ONE_MONTH_REVALIDATION_PERIOD_SECONDS)
  245. /* harmony export */ });
  246. /* unused harmony export ONE_DAY_REVALIDATION_PERIOD_SECONDS */
  247. const REVALIDATION_PERIOD_ON_ERROR_SECONDS = 604800; // 7 days. TODO: @osama update the naming + value when we revert this back
  248. const ONE_DAY_REVALIDATION_PERIOD_SECONDS = 86400; // 1 day
  249. const ONE_WEEK_REVALIDATION_PERIOD_SECONDS = 604800; // 7 days
  250. const ONE_MONTH_REVALIDATION_PERIOD_SECONDS = 2592000; // 30 days
  251. /***/ })
  252. };
  253. ;
  254. //# sourceMappingURL=52271.js.map