reading-goal.js 89 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939
  1. (() => {
  2. var exports = {};
  3. exports.id = 93862;
  4. exports.ids = [93862,64820];
  5. exports.modules = {
  6. /***/ 94669:
  7. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  8. "use strict";
  9. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  10. __webpack_require__.r(__webpack_exports__);
  11. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  12. /* harmony export */ "default": () => (/* binding */ pageWrapperTemplate),
  13. /* harmony export */ "getServerSideProps": () => (/* binding */ getServerSideProps),
  14. /* harmony export */ "getStaticProps": () => (/* binding */ getStaticProps)
  15. /* harmony export */ });
  16. /* harmony import */ var _sentry_server_config_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96270);
  17. /* harmony import */ var _sentry_nextjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58097);
  18. /* harmony import */ var _sentry_nextjs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_sentry_nextjs__WEBPACK_IMPORTED_MODULE_1__);
  19. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20997);
  20. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
  21. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16689);
  22. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
  23. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(59003);
  24. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);
  25. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(71853);
  26. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_5__);
  27. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(60866);
  28. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_6__);
  29. /* harmony import */ var _index_module_scss__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(23848);
  30. /* harmony import */ var _index_module_scss__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_index_module_scss__WEBPACK_IMPORTED_MODULE_15__);
  31. /* harmony import */ var _reading_goal_module_scss__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(79965);
  32. /* harmony import */ var _reading_goal_module_scss__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_reading_goal_module_scss__WEBPACK_IMPORTED_MODULE_16__);
  33. /* harmony import */ var _components_Auth_withAuth__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1223);
  34. /* harmony import */ var _components_NextSeoWrapper__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(25869);
  35. /* harmony import */ var _components_ReadingGoalPage__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(81743);
  36. /* harmony import */ var _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(7190);
  37. /* harmony import */ var _hooks_auth_useGetStreakWithMetadata__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(10191);
  38. /* harmony import */ var _utils_chapter__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(95892);
  39. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(24709);
  40. /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(57933);
  41. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_Auth_withAuth__WEBPACK_IMPORTED_MODULE_7__, _components_ReadingGoalPage__WEBPACK_IMPORTED_MODULE_9__, _hooks_auth_useGetStreakWithMetadata__WEBPACK_IMPORTED_MODULE_11__, _utils_navigation__WEBPACK_IMPORTED_MODULE_14__]);
  42. ([_components_Auth_withAuth__WEBPACK_IMPORTED_MODULE_7__, _components_ReadingGoalPage__WEBPACK_IMPORTED_MODULE_9__, _hooks_auth_useGetStreakWithMetadata__WEBPACK_IMPORTED_MODULE_11__, _utils_navigation__WEBPACK_IMPORTED_MODULE_14__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  43. const ReadingGoalPage = ()=>{
  44. // we don't want to show the reading goal page if the user is not logged in
  45. const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_6___default()("reading-goal");
  46. const router = (0,next_router__WEBPACK_IMPORTED_MODULE_5__.useRouter)();
  47. // if the user already has a goal, redirect them to the home page
  48. const { goal , isLoading: isLoadingReadingGoal } = (0,_hooks_auth_useGetStreakWithMetadata__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)();
  49. const isLoading = isLoadingReadingGoal || !router.isReady || !!goal;
  50. (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(()=>{
  51. if (goal) {
  52. router.push("/");
  53. }
  54. }, [
  55. router,
  56. goal
  57. ]);
  58. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
  59. children: [
  60. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_components_NextSeoWrapper__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
  61. title: t("reading-goal"),
  62. url: (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_14__/* .getCanonicalUrl */ .Z2)(lang, (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_14__/* .getReadingGoalNavigationUrl */ .we)()),
  63. languageAlternates: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_13__/* .getLanguageAlternates */ .qc)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_14__/* .getReadingGoalNavigationUrl */ .we)()),
  64. nofollow: true,
  65. noindex: true
  66. }),
  67. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
  68. className: (_index_module_scss__WEBPACK_IMPORTED_MODULE_15___default().pageContainer),
  69. children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
  70. className: classnames__WEBPACK_IMPORTED_MODULE_4___default()((_index_module_scss__WEBPACK_IMPORTED_MODULE_15___default().flow), isLoading && (_reading_goal_module_scss__WEBPACK_IMPORTED_MODULE_16___default().loadingContainer)),
  71. children: isLoading ? /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {}) : /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_components_ReadingGoalPage__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {})
  72. })
  73. })
  74. ]
  75. });
  76. };
  77. const getStaticProps$1 = async ({ locale })=>{
  78. const allChaptersData = await (0,_utils_chapter__WEBPACK_IMPORTED_MODULE_12__/* .getAllChaptersData */ .T4)(locale);
  79. return {
  80. props: {
  81. chaptersData: allChaptersData
  82. }
  83. };
  84. };
  85. var __SENTRY_WRAPPING_TARGET_FILE__ = (0,_components_Auth_withAuth__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z)(ReadingGoalPage);
  86. var serverComponentModule = /*#__PURE__*/Object.freeze({
  87. __proto__: null,
  88. getStaticProps: getStaticProps$1,
  89. 'default': __SENTRY_WRAPPING_TARGET_FILE__
  90. });
  91. /*
  92. * This file is a template for the code which will be substituted when our webpack loader handles non-API files in the
  93. * `pages/` directory.
  94. *
  95. * We use `__SENTRY_WRAPPING_TARGET_FILE__.cjs` as a placeholder for the path to the file being wrapped. Because it's not a real package,
  96. * this causes both TS and ESLint to complain, hence the pragma comments below.
  97. */
  98. const userPageModule = serverComponentModule ;
  99. const pageComponent = userPageModule ? userPageModule.default : undefined;
  100. const origGetInitialProps = pageComponent ? pageComponent.getInitialProps : undefined;
  101. const origGetStaticProps = userPageModule ? userPageModule.getStaticProps : undefined;
  102. const origGetServerSideProps = userPageModule ? userPageModule.getServerSideProps : undefined;
  103. // eslint-disable-next-line @typescript-eslint/no-explicit-any
  104. const getInitialPropsWrappers = {
  105. '/_app': _sentry_nextjs__WEBPACK_IMPORTED_MODULE_1__.wrapAppGetInitialPropsWithSentry,
  106. '/_document': _sentry_nextjs__WEBPACK_IMPORTED_MODULE_1__.wrapDocumentGetInitialPropsWithSentry,
  107. '/_error': _sentry_nextjs__WEBPACK_IMPORTED_MODULE_1__.wrapErrorGetInitialPropsWithSentry,
  108. };
  109. const getInitialPropsWrapper = getInitialPropsWrappers['/reading-goal'] || _sentry_nextjs__WEBPACK_IMPORTED_MODULE_1__.wrapGetInitialPropsWithSentry;
  110. if (pageComponent && typeof origGetInitialProps === 'function') {
  111. pageComponent.getInitialProps = getInitialPropsWrapper(origGetInitialProps) ;
  112. }
  113. const getStaticProps =
  114. typeof origGetStaticProps === 'function'
  115. ? _sentry_nextjs__WEBPACK_IMPORTED_MODULE_1__.wrapGetStaticPropsWithSentry(origGetStaticProps, '/reading-goal')
  116. : undefined;
  117. const getServerSideProps =
  118. typeof origGetServerSideProps === 'function'
  119. ? _sentry_nextjs__WEBPACK_IMPORTED_MODULE_1__.wrapGetServerSidePropsWithSentry(origGetServerSideProps, '/reading-goal')
  120. : undefined;
  121. const pageWrapperTemplate = pageComponent ? _sentry_nextjs__WEBPACK_IMPORTED_MODULE_1__.wrapPageComponentWithSentry(pageComponent ) : pageComponent;
  122. __webpack_async_result__();
  123. } catch(e) { __webpack_async_result__(e); } });
  124. /***/ }),
  125. /***/ 25694:
  126. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  127. "use strict";
  128. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  129. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  130. /* harmony export */ });
  131. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  132. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  133. var _path;
  134. 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); }
  135. var SvgCalendar = function SvgCalendar(props) {
  136. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  137. xmlns: "http://www.w3.org/2000/svg",
  138. fill: "none",
  139. viewBox: "0 0 24 24",
  140. strokeWidth: 1.5,
  141. stroke: "currentColor",
  142. className: "w-6 h-6"
  143. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  144. strokeLinecap: "round",
  145. strokeLinejoin: "round",
  146. d: "M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5"
  147. })));
  148. };
  149. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgCalendar);
  150. /***/ }),
  151. /***/ 51053:
  152. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  153. "use strict";
  154. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  155. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  156. /* harmony export */ });
  157. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  158. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  159. var _path;
  160. 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); }
  161. var SvgClose = function SvgClose(props) {
  162. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  163. width: 24,
  164. height: 24,
  165. viewBox: "0 0 15 15",
  166. fill: "none",
  167. xmlns: "http://www.w3.org/2000/svg"
  168. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  169. d: "M11.782 4.032a.575.575 0 1 0-.813-.814L7.5 6.687 4.032 3.218a.575.575 0 0 0-.814.814L6.687 7.5l-3.469 3.468a.575.575 0 0 0 .814.814L7.5 8.313l3.469 3.469a.575.575 0 0 0 .813-.814L8.313 7.5l3.469-3.468Z",
  170. fill: "currentColor",
  171. fillRule: "evenodd",
  172. clipRule: "evenodd"
  173. })));
  174. };
  175. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgClose);
  176. /***/ }),
  177. /***/ 50764:
  178. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  179. "use strict";
  180. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  181. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  182. /* harmony export */ });
  183. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  184. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  185. var _path, _path2;
  186. 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); }
  187. var SvgSettingsStroke = function SvgSettingsStroke(props) {
  188. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  189. xmlns: "http://www.w3.org/2000/svg",
  190. fill: "none",
  191. viewBox: "0 0 24 24",
  192. strokeWidth: 1.5,
  193. stroke: "currentColor",
  194. className: "w-6 h-6"
  195. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  196. strokeLinecap: "round",
  197. strokeLinejoin: "round",
  198. d: "M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 0 1 0 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 0 1 0-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z"
  199. })), _path2 || (_path2 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  200. strokeLinecap: "round",
  201. strokeLinejoin: "round",
  202. d: "M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"
  203. })));
  204. };
  205. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgSettingsStroke);
  206. /***/ }),
  207. /***/ 97471:
  208. /***/ ((module) => {
  209. // Exports
  210. module.exports = {
  211. "icon": "OptionButton_icon__w5iJa",
  212. "button": "OptionButton_button__koa5L",
  213. "textContainer": "OptionButton_textContainer__KGc0j",
  214. "title": "OptionButton_title__fLEFm",
  215. "description": "OptionButton_description__paNw7",
  216. "selected": "OptionButton_selected__9vy3U",
  217. "recommended": "OptionButton_recommended__sDzVm"
  218. };
  219. /***/ }),
  220. /***/ 85407:
  221. /***/ ((module) => {
  222. // Exports
  223. module.exports = {
  224. "tabContainer": "ReadingGoalPage_tabContainer__mzLNd",
  225. "optionsContainer": "ReadingGoalPage_optionsContainer__3v9HQ",
  226. "titleContainer": "ReadingGoalPage_titleContainer__A2zup",
  227. "title": "ReadingGoalPage_title__s7pGO",
  228. "subtitle": "ReadingGoalPage_subtitle__ljYxq",
  229. "navigationContainer": "ReadingGoalPage_navigationContainer__0nY0E",
  230. "previewWrapper": "ReadingGoalPage_previewWrapper__sykGt",
  231. "dayPreview": "ReadingGoalPage_dayPreview__M4mrU",
  232. "lastDay": "ReadingGoalPage_lastDay__ieeGh",
  233. "rangePreview": "ReadingGoalPage_rangePreview__xB27p",
  234. "rangeInputContainer": "ReadingGoalPage_rangeInputContainer__SkyH9",
  235. "inputContainer": "ReadingGoalPage_inputContainer__RmukP",
  236. "input": "ReadingGoalPage_input__T_M3H",
  237. "label": "ReadingGoalPage_label__04sb1"
  238. };
  239. /***/ }),
  240. /***/ 80165:
  241. /***/ ((module) => {
  242. // Exports
  243. module.exports = {
  244. "progressRoot": "Progress_progressRoot__Np4He",
  245. "progressSmall": "Progress_progressSmall__xl_va",
  246. "progressMedium": "Progress_progressMedium__ys5Rw",
  247. "progressLarge": "Progress_progressLarge__smmtV",
  248. "progressIndicator": "Progress_progressIndicator__dPgS9"
  249. };
  250. /***/ }),
  251. /***/ 23848:
  252. /***/ ((module) => {
  253. // Exports
  254. module.exports = {
  255. "pageContainer": "index_pageContainer__Pxtn3",
  256. "loadingContainer": "index_loadingContainer__WEZFc",
  257. "flow": "index_flow__rCTR5",
  258. "flowItem": "index_flowItem__GnXWz",
  259. "additionalVerticalGap": "index_additionalVerticalGap__nzYz6",
  260. "fullWidth": "index_fullWidth__1n4ux"
  261. };
  262. /***/ }),
  263. /***/ 79965:
  264. /***/ ((module) => {
  265. // Exports
  266. module.exports = {
  267. "loadingContainer": "reading-goal_loadingContainer__5MEZB"
  268. };
  269. /***/ }),
  270. /***/ 65586:
  271. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  272. "use strict";
  273. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  274. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  275. /* harmony export */ });
  276. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  277. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  278. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
  279. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
  280. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
  281. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
  282. /* harmony import */ var _OptionButton_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(97471);
  283. /* harmony import */ var _OptionButton_module_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_OptionButton_module_scss__WEBPACK_IMPORTED_MODULE_4__);
  284. /* harmony import */ var _public_images_moon_illustration_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5894);
  285. const OptionButton = ({ option , description , selected , recommended , icon: Icon = _public_images_moon_illustration_svg__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z , onSelect , })=>{
  286. const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()("reading-goal");
  287. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("button", {
  288. type: "button",
  289. onClick: onSelect,
  290. className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_OptionButton_module_scss__WEBPACK_IMPORTED_MODULE_4___default().button), selected && (_OptionButton_module_scss__WEBPACK_IMPORTED_MODULE_4___default().selected)),
  291. children: [
  292. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(Icon, {
  293. className: (_OptionButton_module_scss__WEBPACK_IMPORTED_MODULE_4___default().icon)
  294. }),
  295. recommended && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
  296. className: (_OptionButton_module_scss__WEBPACK_IMPORTED_MODULE_4___default().recommended),
  297. children: t("recommended")
  298. }),
  299. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  300. className: (_OptionButton_module_scss__WEBPACK_IMPORTED_MODULE_4___default().textContainer),
  301. children: [
  302. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  303. className: (_OptionButton_module_scss__WEBPACK_IMPORTED_MODULE_4___default().title),
  304. children: option
  305. }),
  306. description && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  307. className: (_OptionButton_module_scss__WEBPACK_IMPORTED_MODULE_4___default().description),
  308. children: description
  309. })
  310. ]
  311. })
  312. ]
  313. });
  314. };
  315. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OptionButton);
  316. /***/ }),
  317. /***/ 90589:
  318. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  319. "use strict";
  320. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  321. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  322. /* harmony export */ });
  323. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  324. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  325. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60866);
  326. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1__);
  327. /* harmony import */ var _hooks_useReadingGoalReducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60168);
  328. /* harmony import */ var _OptionButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65586);
  329. /* harmony import */ var _ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(85407);
  330. /* harmony import */ var _ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_4__);
  331. const ReadingGoalExamplesTab = ({ state , dispatch , nav , logClick , })=>{
  332. const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default()("reading-goal");
  333. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  334. children: [
  335. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  336. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_4___default().titleContainer),
  337. children: [
  338. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h1", {
  339. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_4___default().title),
  340. children: t("examples-title")
  341. }),
  342. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  343. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_4___default().subtitle),
  344. children: t("examples-subtitle")
  345. })
  346. ]
  347. }),
  348. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  349. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_4___default().optionsContainer),
  350. children: [
  351. Object.keys(_hooks_useReadingGoalReducer__WEBPACK_IMPORTED_MODULE_2__/* .readingGoalExamples */ .x).map((exampleKey)=>{
  352. const example = _hooks_useReadingGoalReducer__WEBPACK_IMPORTED_MODULE_2__/* .readingGoalExamples */ .x[exampleKey];
  353. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_OptionButton__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  354. icon: example.icon,
  355. onSelect: ()=>{
  356. dispatch({
  357. type: "SET_EXAMPLE",
  358. payload: {
  359. exampleKey
  360. }
  361. });
  362. logClick(exampleKey);
  363. },
  364. selected: state.exampleKey === exampleKey,
  365. option: t(`examples.${example.i18nKey}.title`),
  366. recommended: "recommended" in example && example.recommended,
  367. description: t(`examples.${example.i18nKey}.description`)
  368. }, example.i18nKey);
  369. }),
  370. nav
  371. ]
  372. })
  373. ]
  374. });
  375. };
  376. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReadingGoalExamplesTab);
  377. /***/ }),
  378. /***/ 18535:
  379. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  380. "use strict";
  381. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  382. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  383. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  384. /* harmony export */ });
  385. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  386. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  387. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  388. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  389. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
  390. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
  391. /* harmony import */ var _ReadingGoal_ReadingGoalInput__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93272);
  392. /* harmony import */ var _ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(85407);
  393. /* harmony import */ var _ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7__);
  394. /* harmony import */ var _dls_Forms_Select__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(58087);
  395. /* harmony import */ var _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63196);
  396. /* harmony import */ var _utils_generators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49184);
  397. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_ReadingGoal_ReadingGoalInput__WEBPACK_IMPORTED_MODULE_3__]);
  398. _ReadingGoal_ReadingGoalInput__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  399. const ReadingGoalTargetAmountTab = ({ state , dispatch , nav , logChange , })=>{
  400. const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()("reading-goal");
  401. const { type , period , pages , seconds , rangeStartVerse , rangeEndVerse , duration } = state;
  402. const dayOptions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>(0,_utils_generators__WEBPACK_IMPORTED_MODULE_6__/* .generateDurationDaysOptions */ .zQ)(t, lang), [
  403. t,
  404. lang
  405. ]);
  406. const onDurationChange = (d)=>{
  407. const newDuration = Number(d);
  408. logChange("duration", {
  409. currentValue: duration,
  410. newValue: newDuration
  411. });
  412. dispatch({
  413. type: "SET_DURATION",
  414. payload: {
  415. duration: newDuration
  416. }
  417. });
  418. };
  419. const onRangeChange = (newRange)=>{
  420. dispatch({
  421. type: "SET_RANGE",
  422. payload: newRange
  423. });
  424. };
  425. const onPagesChange = (newPages)=>{
  426. dispatch({
  427. type: "SET_PAGES",
  428. payload: {
  429. pages: newPages
  430. }
  431. });
  432. };
  433. const onSecondsChange = (newSeconds)=>{
  434. dispatch({
  435. type: "SET_SECONDS",
  436. payload: {
  437. seconds: newSeconds
  438. }
  439. });
  440. };
  441. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  442. children: [
  443. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  444. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default().titleContainer),
  445. children: [
  446. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h1", {
  447. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default().title),
  448. children: t("goal-target.title")
  449. }),
  450. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  451. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default().subtitle),
  452. children: t("goal-target.description")
  453. })
  454. ]
  455. }),
  456. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  457. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default().optionsContainer),
  458. children: [
  459. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ReadingGoal_ReadingGoalInput__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  460. type: type,
  461. pages: pages,
  462. seconds: seconds,
  463. rangeStartVerse: rangeStartVerse,
  464. rangeEndVerse: rangeEndVerse,
  465. onRangeChange: onRangeChange,
  466. onPagesChange: onPagesChange,
  467. onSecondsChange: onSecondsChange,
  468. logChange: logChange
  469. }),
  470. period === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .QuranGoalPeriod.Continuous */ .r_.Continuous && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  471. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default().inputContainer),
  472. children: [
  473. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("label", {
  474. htmlFor: "duration",
  475. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default().label),
  476. children: t("duration")
  477. }),
  478. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Forms_Select__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
  479. id: "duration",
  480. name: "duration",
  481. size: _dls_Forms_Select__WEBPACK_IMPORTED_MODULE_4__/* .SelectSize.Large */ .h.Large,
  482. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default().input),
  483. options: dayOptions,
  484. value: duration.toString(),
  485. onChange: onDurationChange
  486. })
  487. ]
  488. }),
  489. nav
  490. ]
  491. })
  492. ]
  493. });
  494. };
  495. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReadingGoalTargetAmountTab);
  496. __webpack_async_result__();
  497. } catch(e) { __webpack_async_result__(e); } });
  498. /***/ }),
  499. /***/ 91555:
  500. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  501. "use strict";
  502. // EXPORTS
  503. __webpack_require__.d(__webpack_exports__, {
  504. "Z": () => (/* binding */ ReadingGoalPage_ReadingGoalTimeTab)
  505. });
  506. // EXTERNAL MODULE: external "react/jsx-runtime"
  507. var jsx_runtime_ = __webpack_require__(20997);
  508. // EXTERNAL MODULE: external "next-translate/useTranslation"
  509. var useTranslation_ = __webpack_require__(60866);
  510. var useTranslation_default = /*#__PURE__*/__webpack_require__.n(useTranslation_);
  511. // EXTERNAL MODULE: ./src/components/ReadingGoalPage/OptionButton.tsx
  512. var OptionButton = __webpack_require__(65586);
  513. // EXTERNAL MODULE: ./src/components/ReadingGoalPage/ReadingGoalPage.module.scss
  514. var ReadingGoalPage_module = __webpack_require__(85407);
  515. var ReadingGoalPage_module_default = /*#__PURE__*/__webpack_require__.n(ReadingGoalPage_module);
  516. // EXTERNAL MODULE: ./public/icons/calendar.svg
  517. var calendar = __webpack_require__(25694);
  518. // EXTERNAL MODULE: external "react"
  519. var external_react_ = __webpack_require__(16689);
  520. ;// CONCATENATED MODULE: ./public/icons/repeat.svg
  521. var _path;
  522. 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); }
  523. var SvgRepeat = function SvgRepeat(props) {
  524. return /*#__PURE__*/external_react_.createElement("svg", _extends({
  525. width: 24,
  526. height: 24,
  527. viewBox: "0 0 24 24",
  528. fill: "none",
  529. xmlns: "http://www.w3.org/2000/svg"
  530. }, props), _path || (_path = /*#__PURE__*/external_react_.createElement("path", {
  531. d: "M6.65 5.813h11.625V9.3l4.65-4.65L18.275 0v3.487H4.325v6.976H6.65v-4.65Zm11.625 11.625H6.65V13.95L2 18.6l4.65 4.65v-3.488H20.6v-6.975h-2.325v4.65Z",
  532. fill: "currentColor"
  533. })));
  534. };
  535. /* harmony default export */ const repeat = (SvgRepeat);
  536. // EXTERNAL MODULE: ./types/auth/Goal.ts
  537. var Goal = __webpack_require__(63196);
  538. ;// CONCATENATED MODULE: ./src/components/ReadingGoalPage/ReadingGoalTimeTab.tsx
  539. const options = [
  540. {
  541. key: Goal/* QuranGoalPeriod.Daily */.r_.Daily,
  542. icon: repeat
  543. },
  544. {
  545. key: Goal/* QuranGoalPeriod.Continuous */.r_.Continuous,
  546. icon: calendar/* default */.Z
  547. },
  548. ];
  549. const ReadingGoalTimeTab = ({ state , dispatch , nav , logClick })=>{
  550. const { t } = useTranslation_default()("reading-goal");
  551. return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
  552. children: [
  553. /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
  554. className: (ReadingGoalPage_module_default()).titleContainer,
  555. children: [
  556. /*#__PURE__*/ jsx_runtime_.jsx("h1", {
  557. className: (ReadingGoalPage_module_default()).title,
  558. children: t("frequency-tab.title")
  559. }),
  560. /*#__PURE__*/ jsx_runtime_.jsx("p", {
  561. className: (ReadingGoalPage_module_default()).subtitle,
  562. children: t("frequency-tab.description")
  563. })
  564. ]
  565. }),
  566. /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
  567. className: (ReadingGoalPage_module_default()).optionsContainer,
  568. children: [
  569. options.map((option)=>/*#__PURE__*/ jsx_runtime_.jsx(OptionButton/* default */.Z, {
  570. icon: option.icon,
  571. onSelect: ()=>{
  572. dispatch({
  573. type: "SET_PERIOD",
  574. payload: {
  575. period: option.key
  576. }
  577. });
  578. logClick(option.key);
  579. },
  580. selected: state.period === option.key,
  581. option: t(`${option.key.toLowerCase()}.title`),
  582. description: t(`${option.key.toLowerCase()}.description`)
  583. }, option.key)),
  584. nav
  585. ]
  586. })
  587. ]
  588. });
  589. };
  590. /* harmony default export */ const ReadingGoalPage_ReadingGoalTimeTab = (ReadingGoalTimeTab);
  591. /***/ }),
  592. /***/ 93607:
  593. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  594. "use strict";
  595. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  596. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  597. /* harmony export */ });
  598. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  599. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  600. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60866);
  601. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1__);
  602. /* harmony import */ var _OptionButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65586);
  603. /* harmony import */ var _ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(85407);
  604. /* harmony import */ var _ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7__);
  605. /* harmony import */ var _icons_book_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(69457);
  606. /* harmony import */ var _icons_clock_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8674);
  607. /* harmony import */ var _icons_settings_stroke_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50764);
  608. /* harmony import */ var _types_auth_Goal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(63196);
  609. const options = [
  610. {
  611. type: _types_auth_Goal__WEBPACK_IMPORTED_MODULE_6__/* .GoalType.TIME */ .lC.TIME,
  612. key: "time",
  613. icon: _icons_clock_svg__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z
  614. },
  615. {
  616. type: _types_auth_Goal__WEBPACK_IMPORTED_MODULE_6__/* .GoalType.PAGES */ .lC.PAGES,
  617. key: "pages",
  618. icon: _icons_book_svg__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z
  619. },
  620. {
  621. type: _types_auth_Goal__WEBPACK_IMPORTED_MODULE_6__/* .GoalType.RANGE */ .lC.RANGE,
  622. key: "range",
  623. icon: _icons_settings_stroke_svg__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z
  624. },
  625. ];
  626. const ReadingGoalTypeTab = ({ state , dispatch , nav , logClick })=>{
  627. const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default()("reading-goal");
  628. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  629. children: [
  630. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  631. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default().titleContainer),
  632. children: [
  633. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h1", {
  634. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default().title),
  635. children: t("goal-type.title")
  636. }),
  637. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  638. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default().subtitle),
  639. children: t("goal-type.description")
  640. })
  641. ]
  642. }),
  643. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  644. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_7___default().optionsContainer),
  645. children: [
  646. options.map((option)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_OptionButton__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
  647. onSelect: ()=>{
  648. dispatch({
  649. type: "SET_TYPE",
  650. payload: {
  651. type: option.type
  652. }
  653. });
  654. logClick(option.key);
  655. },
  656. selected: state.type === option.type,
  657. option: t(`goal-types.${option.key}.title`),
  658. description: t(`goal-types.${option.key}.description`),
  659. icon: option.icon
  660. }, option.key)),
  661. nav
  662. ]
  663. })
  664. ]
  665. });
  666. };
  667. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReadingGoalTypeTab);
  668. /***/ }),
  669. /***/ 37329:
  670. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  671. "use strict";
  672. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  673. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  674. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  675. /* harmony export */ });
  676. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  677. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  678. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  679. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  680. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
  681. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
  682. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
  683. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
  684. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
  685. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
  686. /* harmony import */ var _DataFetcher__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(12951);
  687. /* harmony import */ var _ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(85407);
  688. /* harmony import */ var _ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_18__);
  689. /* harmony import */ var _ReadingGoalWeekPreviewTabSkeleton__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(39933);
  690. /* harmony import */ var _contexts_DataContext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(70813);
  691. /* harmony import */ var _dls_Popover_HoverablePopover__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(74306);
  692. /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(62093);
  693. /* harmony import */ var _types_auth_Goal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(63196);
  694. /* harmony import */ var _utils_api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(4917);
  695. /* harmony import */ var _utils_auth_api__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(37883);
  696. /* harmony import */ var _utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(13830);
  697. /* harmony import */ var _utils_chapter__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(95892);
  698. /* harmony import */ var _utils_datetime__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(76410);
  699. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(24709);
  700. /* harmony import */ var _utils_number__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(19303);
  701. /* harmony import */ var _utils_verseKeys__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(36495);
  702. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_DataFetcher__WEBPACK_IMPORTED_MODULE_5__, _dls_Popover_HoverablePopover__WEBPACK_IMPORTED_MODULE_8__]);
  703. ([_DataFetcher__WEBPACK_IMPORTED_MODULE_5__, _dls_Popover_HoverablePopover__WEBPACK_IMPORTED_MODULE_8__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  704. const makePayload = (state, mushafId)=>{
  705. const payload = {
  706. mushafId,
  707. type: state.type,
  708. amount: {
  709. [_types_auth_Goal__WEBPACK_IMPORTED_MODULE_10__/* .GoalType.PAGES */ .lC.PAGES]: state.pages,
  710. [_types_auth_Goal__WEBPACK_IMPORTED_MODULE_10__/* .GoalType.TIME */ .lC.TIME]: state.seconds,
  711. [_types_auth_Goal__WEBPACK_IMPORTED_MODULE_10__/* .GoalType.RANGE */ .lC.RANGE]: `${state.rangeStartVerse}-${state.rangeEndVerse}`
  712. }[state.type]
  713. };
  714. if (state.period === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_10__/* .QuranGoalPeriod.Continuous */ .r_.Continuous) payload.duration = state.duration;
  715. return payload;
  716. };
  717. // this is the maximum number of days that we'll show in the preview for continuous goals
  718. // if the user selects a duration that is longer than this, we will show in the last day "+X more days"
  719. const MAX_DAYS = 6;
  720. const ReadingGoalWeekPreviewTab = ({ state , nav })=>{
  721. const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("reading-goal");
  722. const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(_contexts_DataContext__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z);
  723. const quranFont = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_9__/* .selectQuranFont */ .Ho, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
  724. const mushafLines = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_9__/* .selectQuranMushafLines */ .z$, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
  725. const { mushaf } = (0,_utils_api__WEBPACK_IMPORTED_MODULE_11__/* .getMushafId */ .$P)(quranFont, mushafLines);
  726. const payload = makePayload(state, mushaf);
  727. const getDailyAmount = (data, idx)=>{
  728. const { type } = state;
  729. const day = data.week[idx];
  730. if (type === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_10__/* .GoalType.RANGE */ .lC.RANGE) {
  731. const range = day.amount;
  732. const [{ chapter: startingChapter , verse: startingVerse }, { chapter: endingChapter , verse: endingVerse }, ] = (0,_utils_verseKeys__WEBPACK_IMPORTED_MODULE_17__/* .parseVerseRange */ .p)(range);
  733. const startingChapterName = (0,_utils_chapter__WEBPACK_IMPORTED_MODULE_14__/* .getChapterData */ .dy)(chaptersData, startingChapter).transliteratedName;
  734. const endingChapterName = (0,_utils_chapter__WEBPACK_IMPORTED_MODULE_14__/* .getChapterData */ .dy)(chaptersData, endingChapter).transliteratedName;
  735. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  736. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_18___default().rangePreview),
  737. children: [
  738. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("p", {
  739. children: [
  740. t("reciter:read"),
  741. " ",
  742. startingChapterName,
  743. " ",
  744. (0,_utils_locale__WEBPACK_IMPORTED_MODULE_16__/* .toLocalizedNumber */ .rQ)(Number(startingVerse), lang)
  745. ]
  746. }),
  747. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("p", {
  748. children: [
  749. t("common:to").toLowerCase(),
  750. " ",
  751. endingChapterName,
  752. " ",
  753. (0,_utils_locale__WEBPACK_IMPORTED_MODULE_16__/* .toLocalizedNumber */ .rQ)(Number(endingVerse), lang)
  754. ]
  755. })
  756. ]
  757. });
  758. }
  759. const numberAmount = day.amount;
  760. if (type === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_10__/* .GoalType.TIME */ .lC.TIME) {
  761. return `${t("reciter:read")} ${(0,_utils_datetime__WEBPACK_IMPORTED_MODULE_15__/* .secondsToReadableFormat */ .by)(numberAmount, t, lang)}`;
  762. }
  763. const pages = (0,_utils_number__WEBPACK_IMPORTED_MODULE_19__/* .convertNumberToDecimal */ .uZ)(numberAmount, 2);
  764. return `${t("reciter:read")} ${t("x-pages", {
  765. count: pages,
  766. pages: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_16__/* .toLocalizedNumber */ .rQ)(pages, lang)
  767. })}`;
  768. };
  769. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  770. children: [
  771. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  772. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_18___default().titleContainer),
  773. children: [
  774. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h1", {
  775. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_18___default().title),
  776. children: t("preview-schedule.title")
  777. }),
  778. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  779. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_18___default().subtitle),
  780. children: t("preview-schedule.description")
  781. })
  782. ]
  783. }),
  784. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("ol", {
  785. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_18___default().optionsContainer), (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_18___default().previewWrapper)),
  786. children: [
  787. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_DataFetcher__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  788. queryKey: (0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_13__/* .makeEstimateReadingGoalUrl */ .I0)(payload),
  789. fetcher: _utils_auth_api__WEBPACK_IMPORTED_MODULE_12__/* .privateFetcher */ .UK,
  790. loading: ()=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ReadingGoalWeekPreviewTabSkeleton__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
  791. numberOfDays: state.period === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_10__/* .QuranGoalPeriod.Continuous */ .r_.Continuous ? state.duration : 7
  792. }),
  793. render: (response)=>{
  794. const { data } = response;
  795. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  796. children: data.week.map((day, idx)=>{
  797. const date = new Date(day.date);
  798. const shouldShowNumberOfDaysAfterPreview = state.duration > MAX_DAYS && state.period === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_10__/* .QuranGoalPeriod.Continuous */ .r_.Continuous;
  799. const isLastElement = shouldShowNumberOfDaysAfterPreview && idx > MAX_DAYS - 1;
  800. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("li", {
  801. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_18___default().dayPreview), isLastElement && (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_18___default().lastDay)),
  802. children: isLastElement ? /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h3", {
  803. children: t("plus-x-more-days", {
  804. count: state.duration - MAX_DAYS,
  805. days: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_16__/* .toLocalizedNumber */ .rQ)(state.duration - MAX_DAYS, lang)
  806. })
  807. }) : /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  808. children: [
  809. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Popover_HoverablePopover__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
  810. content: (0,_utils_datetime__WEBPACK_IMPORTED_MODULE_15__/* .dateToReadableFormat */ .ZC)(date, lang),
  811. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h3", {
  812. children: (0,_utils_datetime__WEBPACK_IMPORTED_MODULE_15__/* .getFullDayName */ .Zu)(date, lang)
  813. })
  814. }),
  815. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  816. children: getDailyAmount(data, idx)
  817. })
  818. ]
  819. })
  820. }, day.date);
  821. })
  822. });
  823. }
  824. }),
  825. nav
  826. ]
  827. })
  828. ]
  829. });
  830. };
  831. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReadingGoalWeekPreviewTab);
  832. __webpack_async_result__();
  833. } catch(e) { __webpack_async_result__(e); } });
  834. /***/ }),
  835. /***/ 39933:
  836. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  837. "use strict";
  838. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  839. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  840. /* harmony export */ });
  841. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  842. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  843. /* harmony import */ var _ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(85407);
  844. /* harmony import */ var _ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_2__);
  845. /* harmony import */ var _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7190);
  846. const ReadingGoalWeekPreviewTabSkeleton = ({ numberOfDays , })=>{
  847. const days = Array.from({
  848. length: Math.min(numberOfDays, 7)
  849. }).map((_, idx)=>// eslint-disable-next-line react/no-array-index-key
  850. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("li", {
  851. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_2___default().dayPreview),
  852. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {})
  853. }, idx));
  854. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  855. children: days
  856. });
  857. };
  858. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReadingGoalWeekPreviewTabSkeleton);
  859. /***/ }),
  860. /***/ 60168:
  861. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  862. "use strict";
  863. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  864. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__),
  865. /* harmony export */ "x": () => (/* binding */ readingGoalExamples)
  866. /* harmony export */ });
  867. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  868. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  869. /* harmony import */ var _icons_book_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(69457);
  870. /* harmony import */ var _icons_calendar_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25694);
  871. /* harmony import */ var _icons_clock_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8674);
  872. /* harmony import */ var _icons_settings_stroke_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50764);
  873. /* harmony import */ var _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63196);
  874. /* eslint-disable max-lines */ /* eslint-disable react-func/max-lines-per-function */
  875. const reducer = (state, action)=>{
  876. switch(action.type){
  877. case "SET_PERIOD":
  878. return {
  879. ...state,
  880. duration: action.payload.period === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .QuranGoalPeriod.Continuous */ .r_.Continuous ? 30 : null,
  881. period: action.payload.period
  882. };
  883. case "SET_TYPE":
  884. return {
  885. ...state,
  886. type: action.payload.type
  887. };
  888. case "SET_PAGES":
  889. return {
  890. ...state,
  891. pages: action.payload.pages
  892. };
  893. case "SET_SECONDS":
  894. return {
  895. ...state,
  896. seconds: action.payload.seconds
  897. };
  898. case "SET_DURATION":
  899. return {
  900. ...state,
  901. duration: action.payload.duration,
  902. period: action.payload.duration ? _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .QuranGoalPeriod.Continuous */ .r_.Continuous : _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .QuranGoalPeriod.Daily */ .r_.Daily
  903. };
  904. case "SET_RANGE":
  905. return {
  906. ...state,
  907. rangeStartVerse: action.payload.startVerse,
  908. rangeEndVerse: action.payload.endVerse
  909. };
  910. case "SET_EXAMPLE":
  911. {
  912. const example = readingGoalExamples[action.payload.exampleKey];
  913. let values = {};
  914. if ("values" in example) {
  915. values = {
  916. ...example.values
  917. };
  918. }
  919. return {
  920. ...state,
  921. exampleKey: action.payload.exampleKey,
  922. ...values
  923. };
  924. }
  925. default:
  926. return state;
  927. }
  928. };
  929. const readingGoalExamples = {
  930. "10_mins": {
  931. i18nKey: "time",
  932. icon: _icons_clock_svg__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z,
  933. recommended: true,
  934. values: {
  935. type: _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .GoalType.TIME */ .lC.TIME,
  936. seconds: 10 * 60,
  937. period: _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .QuranGoalPeriod.Daily */ .r_.Daily
  938. }
  939. },
  940. khatm: {
  941. i18nKey: "khatm",
  942. icon: _icons_book_svg__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z,
  943. values: {
  944. type: _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .GoalType.RANGE */ .lC.RANGE,
  945. rangeStartVerse: "1:1",
  946. rangeEndVerse: "114:6",
  947. duration: 30,
  948. period: _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .QuranGoalPeriod.Continuous */ .r_.Continuous
  949. }
  950. },
  951. yearly: {
  952. i18nKey: "year",
  953. icon: _icons_calendar_svg__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z,
  954. values: {
  955. type: _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .GoalType.RANGE */ .lC.RANGE,
  956. rangeStartVerse: "1:1",
  957. rangeEndVerse: "114:6",
  958. duration: 365,
  959. period: _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .QuranGoalPeriod.Continuous */ .r_.Continuous
  960. }
  961. },
  962. custom: {
  963. i18nKey: "custom",
  964. icon: _icons_settings_stroke_svg__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z
  965. }
  966. };
  967. const initialState = {
  968. period: _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .QuranGoalPeriod.Daily */ .r_.Daily,
  969. type: _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .GoalType.PAGES */ .lC.PAGES,
  970. exampleKey: null,
  971. pages: 1,
  972. seconds: 60,
  973. duration: null,
  974. rangeStartVerse: "1:1",
  975. rangeEndVerse: "114:6"
  976. };
  977. const useReadingGoalReducer = ()=>{
  978. const { 0: state , 1: dispatch } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(reducer, initialState);
  979. return [
  980. state,
  981. dispatch
  982. ];
  983. };
  984. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useReadingGoalReducer);
  985. /***/ }),
  986. /***/ 81743:
  987. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  988. "use strict";
  989. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  990. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  991. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  992. /* harmony export */ });
  993. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  994. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  995. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  996. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  997. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
  998. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
  999. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(71853);
  1000. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_3__);
  1001. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(60866);
  1002. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__);
  1003. /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(15941);
  1004. /* harmony import */ var _hooks_useReadingGoalReducer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(60168);
  1005. /* harmony import */ var _ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(85407);
  1006. /* harmony import */ var _ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_22__);
  1007. /* harmony import */ var _utils_tabs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(25511);
  1008. /* harmony import */ var _utils_validator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(27097);
  1009. /* harmony import */ var _contexts_DataContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(70813);
  1010. /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(50497);
  1011. /* harmony import */ var _dls_Progress__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8894);
  1012. /* harmony import */ var _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(7190);
  1013. /* harmony import */ var _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(79717);
  1014. /* harmony import */ var _hooks_useGetMushaf__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(23830);
  1015. /* harmony import */ var _icons_chevron_left_svg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(49880);
  1016. /* harmony import */ var _icons_chevron_right_svg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(3932);
  1017. /* harmony import */ var _pages_index_module_scss__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(23848);
  1018. /* harmony import */ var _pages_index_module_scss__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_pages_index_module_scss__WEBPACK_IMPORTED_MODULE_21__);
  1019. /* harmony import */ var _types_auth_Goal__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(63196);
  1020. /* harmony import */ var _utils_auth_api__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(37883);
  1021. /* harmony import */ var _utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(13830);
  1022. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(55943);
  1023. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_5__, _utils_tabs__WEBPACK_IMPORTED_MODULE_7__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_10__, _dls_Progress__WEBPACK_IMPORTED_MODULE_11__, _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_13__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__]);
  1024. ([swr__WEBPACK_IMPORTED_MODULE_5__, _utils_tabs__WEBPACK_IMPORTED_MODULE_7__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_10__, _dls_Progress__WEBPACK_IMPORTED_MODULE_11__, _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_13__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  1025. /* eslint-disable react-func/max-lines-per-function */ /* eslint-disable max-lines */
  1026. const ReadingGoalOnboarding = ()=>{
  1027. const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default()("reading-goal");
  1028. const router = (0,next_router__WEBPACK_IMPORTED_MODULE_3__.useRouter)();
  1029. const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(_contexts_DataContext__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z);
  1030. const mushaf = (0,_hooks_useGetMushaf__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z)();
  1031. const { 0: loading , 1: setLoading } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
  1032. const { 0: tabIdx , 1: setTabIdx } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);
  1033. const [state, dispatch] = (0,_hooks_useReadingGoalReducer__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)();
  1034. const toast = (0,_dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_13__/* .useToast */ .pm)();
  1035. const { cache } = (0,swr__WEBPACK_IMPORTED_MODULE_5__.useSWRConfig)();
  1036. const addReadingGoalAndClearCache = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (data)=>{
  1037. await (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_18__/* .addReadingGoal */ .Ec)(data).then(()=>{
  1038. cache.delete((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_19__/* .makeStreakUrl */ .G_)());
  1039. });
  1040. }, [
  1041. cache
  1042. ]);
  1043. const Tab = _utils_tabs__WEBPACK_IMPORTED_MODULE_7__/* .tabsArray */ .So[tabIdx];
  1044. const onSubmit = async ()=>{
  1045. let amount;
  1046. if (state.type === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_17__/* .GoalType.PAGES */ .lC.PAGES) amount = state.pages;
  1047. else if (state.type === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_17__/* .GoalType.TIME */ .lC.TIME) amount = state.seconds;
  1048. else amount = `${state.rangeStartVerse}-${state.rangeEndVerse}`;
  1049. const data = {
  1050. mushafId: mushaf,
  1051. type: state.type,
  1052. amount,
  1053. category: _types_auth_Goal__WEBPACK_IMPORTED_MODULE_17__/* .GoalCategory.QURAN */ .c9.QURAN
  1054. };
  1055. if (state.period === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_17__/* .QuranGoalPeriod.Continuous */ .r_.Continuous) {
  1056. data.duration = state.duration;
  1057. }
  1058. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logFormSubmission */ .dz)("create_goal", {
  1059. duration: null,
  1060. ...data
  1061. });
  1062. setLoading(true);
  1063. try {
  1064. await addReadingGoalAndClearCache(data);
  1065. toast(t("set-reading-goal-success"), {
  1066. status: _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_13__/* .ToastStatus.Success */ .YZ.Success
  1067. });
  1068. router.push("/");
  1069. } catch (e) {
  1070. toast(t("common:error.general"), {
  1071. status: _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_13__/* .ToastStatus.Error */ .YZ.Error
  1072. });
  1073. }
  1074. setLoading(false);
  1075. };
  1076. const isPreviewTab = Tab.key === _utils_tabs__WEBPACK_IMPORTED_MODULE_7__/* .TabKey.PreviewTab */ .Rc.PreviewTab;
  1077. const percentage = isPreviewTab ? 100 : tabIdx / _utils_tabs__WEBPACK_IMPORTED_MODULE_7__/* .tabsArray.length */ .So.length * 100;
  1078. const onPrev = ()=>{
  1079. if (tabIdx !== 0 && state.exampleKey !== "custom") {
  1080. setTabIdx(0);
  1081. (0,_utils_tabs__WEBPACK_IMPORTED_MODULE_7__/* .logTabClick */ ._x)(Tab.key, "previous");
  1082. } else {
  1083. setTabIdx((prevIdx)=>prevIdx - 1);
  1084. (0,_utils_tabs__WEBPACK_IMPORTED_MODULE_7__/* .logTabClick */ ._x)(Tab.key, "previous");
  1085. }
  1086. };
  1087. const onNext = ()=>{
  1088. if (!isPreviewTab) {
  1089. if (tabIdx === 0 && state.exampleKey !== "custom") {
  1090. // if the user selected an example, skip to the preview tab
  1091. setTabIdx(_utils_tabs__WEBPACK_IMPORTED_MODULE_7__/* .tabsArray.length */ .So.length - 1);
  1092. } else {
  1093. // otherwise, go to the next tab
  1094. setTabIdx((prevIdx)=>prevIdx + 1);
  1095. }
  1096. (0,_utils_tabs__WEBPACK_IMPORTED_MODULE_7__/* .logTabNextClick */ .T9)(Tab.key, state);
  1097. } else {
  1098. onSubmit();
  1099. }
  1100. };
  1101. const getIsNextDisabled = ()=>{
  1102. // if the user is on the examples tab and hasn't selected an example, disable the next button
  1103. if (Tab.key === _utils_tabs__WEBPACK_IMPORTED_MODULE_7__/* .TabKey.ExamplesTab */ .Rc.ExamplesTab && !state.exampleKey) return true;
  1104. if (Tab.key === _utils_tabs__WEBPACK_IMPORTED_MODULE_7__/* .TabKey.AmountTab */ .Rc.AmountTab) {
  1105. return !(0,_utils_validator__WEBPACK_IMPORTED_MODULE_8__/* .validateReadingGoalData */ .w)(chaptersData, {
  1106. type: state.type,
  1107. pages: state.pages,
  1108. seconds: state.seconds,
  1109. range: {
  1110. startVerse: state.rangeStartVerse,
  1111. endVerse: state.rangeEndVerse
  1112. }
  1113. }, mushaf);
  1114. }
  1115. return false;
  1116. };
  1117. const logClick = (event)=>{
  1118. (0,_utils_tabs__WEBPACK_IMPORTED_MODULE_7__/* .logTabClick */ ._x)(Tab.key, event);
  1119. };
  1120. const logChange = (input, values, metadata)=>{
  1121. (0,_utils_tabs__WEBPACK_IMPORTED_MODULE_7__/* .logTabInputChange */ .GD)(Tab.key, input, values, metadata);
  1122. };
  1123. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  1124. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_pages_index_module_scss__WEBPACK_IMPORTED_MODULE_21___default().flowItem)),
  1125. children: [
  1126. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Progress__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
  1127. value: percentage
  1128. }),
  1129. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1130. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_22___default().tabContainer),
  1131. children: loading ? /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
  1132. isCentered: true,
  1133. size: _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_12__/* .SpinnerSize.Large */ .E.Large
  1134. }) : /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(Tab.Component, {
  1135. onTabChange: setTabIdx,
  1136. state: state,
  1137. dispatch: dispatch,
  1138. logClick: logClick,
  1139. logChange: logChange,
  1140. nav: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  1141. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_22___default().navigationContainer),
  1142. children: [
  1143. tabIdx > 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .ZP, {
  1144. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_22___default().navigateButton),
  1145. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_10__/* .ButtonSize.Large */ .qE.Large,
  1146. prefix: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_chevron_left_svg__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {}),
  1147. onClick: onPrev,
  1148. type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_10__/* .ButtonType.Secondary */ .L$.Secondary,
  1149. children: t("common:prev")
  1150. }),
  1151. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .ZP, {
  1152. className: (_ReadingGoalPage_module_scss__WEBPACK_IMPORTED_MODULE_22___default().navigateButton),
  1153. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_10__/* .ButtonSize.Large */ .qE.Large,
  1154. suffix: !isPreviewTab ? /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_chevron_right_svg__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, {}) : undefined,
  1155. isDisabled: getIsNextDisabled(),
  1156. onClick: onNext,
  1157. children: !isPreviewTab ? t("common:next") : t("start-journey")
  1158. })
  1159. ]
  1160. })
  1161. })
  1162. })
  1163. ]
  1164. });
  1165. };
  1166. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReadingGoalOnboarding);
  1167. __webpack_async_result__();
  1168. } catch(e) { __webpack_async_result__(e); } });
  1169. /***/ }),
  1170. /***/ 25511:
  1171. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  1172. "use strict";
  1173. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  1174. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1175. /* harmony export */ "GD": () => (/* binding */ logTabInputChange),
  1176. /* harmony export */ "Rc": () => (/* binding */ TabKey),
  1177. /* harmony export */ "So": () => (/* binding */ tabsArray),
  1178. /* harmony export */ "T9": () => (/* binding */ logTabNextClick),
  1179. /* harmony export */ "_x": () => (/* binding */ logTabClick)
  1180. /* harmony export */ });
  1181. /* harmony import */ var _ReadingGoalExamplesTab__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(90589);
  1182. /* harmony import */ var _ReadingGoalTargetAmountTab__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18535);
  1183. /* harmony import */ var _ReadingGoalTimeTab__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91555);
  1184. /* harmony import */ var _ReadingGoalTypeTab__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93607);
  1185. /* harmony import */ var _ReadingGoalWeekPreviewTab__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(37329);
  1186. /* harmony import */ var _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63196);
  1187. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(55943);
  1188. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_ReadingGoalTargetAmountTab__WEBPACK_IMPORTED_MODULE_1__, _ReadingGoalWeekPreviewTab__WEBPACK_IMPORTED_MODULE_4__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__]);
  1189. ([_ReadingGoalTargetAmountTab__WEBPACK_IMPORTED_MODULE_1__, _ReadingGoalWeekPreviewTab__WEBPACK_IMPORTED_MODULE_4__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  1190. var TabKey;
  1191. (function(TabKey) {
  1192. TabKey["ExamplesTab"] = "examples";
  1193. TabKey["ContinuityTab"] = "continuity";
  1194. TabKey["TypeTab"] = "type";
  1195. TabKey["AmountTab"] = "amount";
  1196. TabKey["PreviewTab"] = "preview";
  1197. })(TabKey || (TabKey = {}));
  1198. const tabs = {
  1199. [TabKey.ExamplesTab]: _ReadingGoalExamplesTab__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z,
  1200. [TabKey.ContinuityTab]: _ReadingGoalTimeTab__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z,
  1201. [TabKey.TypeTab]: _ReadingGoalTypeTab__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z,
  1202. [TabKey.AmountTab]: _ReadingGoalTargetAmountTab__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z,
  1203. [TabKey.PreviewTab]: _ReadingGoalWeekPreviewTab__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z
  1204. };
  1205. const tabsArray = Object.keys(tabs).map((key)=>({
  1206. key,
  1207. Component: tabs[key]
  1208. }));
  1209. const logTabClick = (tab, event, metadata)=>{
  1210. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__/* .logButtonClick */ .MY)(`create_goal_${tab}_tab_${event}`, metadata);
  1211. };
  1212. const logTabNextClick = (tab, state)=>{
  1213. let metadata;
  1214. if (tab === TabKey.ExamplesTab) {
  1215. metadata = {
  1216. example: state.exampleKey
  1217. };
  1218. } else if (tab === TabKey.TypeTab) {
  1219. // eslint-disable-next-line @typescript-eslint/naming-convention
  1220. metadata = {
  1221. goal_type: state.type
  1222. };
  1223. } else if (tab === TabKey.AmountTab) {
  1224. metadata = {
  1225. pages: state.type === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .GoalType.PAGES */ .lC.PAGES ? state.pages : null,
  1226. seconds: state.type === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .GoalType.TIME */ .lC.TIME ? state.seconds : null,
  1227. range: state.type === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .GoalType.RANGE */ .lC.RANGE ? `${state.rangeStartVerse}-${state.rangeEndVerse}` : null,
  1228. duration: state.period === _types_auth_Goal__WEBPACK_IMPORTED_MODULE_5__/* .QuranGoalPeriod.Continuous */ .r_.Continuous ? state.duration : null
  1229. };
  1230. } else if (tab === TabKey.ContinuityTab) {
  1231. // eslint-disable-next-line @typescript-eslint/naming-convention
  1232. metadata = {
  1233. goal_period: state.period
  1234. };
  1235. }
  1236. logTabClick(tab, "next", metadata);
  1237. };
  1238. const logTabInputChange = (tab, input, values, metadata)=>{
  1239. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__/* .logValueChange */ .Q8)(`create_goal_${tab}_tab_${input}`, values.currentValue, values.newValue, metadata);
  1240. };
  1241. __webpack_async_result__();
  1242. } catch(e) { __webpack_async_result__(e); } });
  1243. /***/ }),
  1244. /***/ 8894:
  1245. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  1246. "use strict";
  1247. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  1248. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1249. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1250. /* harmony export */ });
  1251. /* unused harmony export ProgressSize */
  1252. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  1253. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  1254. /* harmony import */ var _radix_ui_react_progress__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6005);
  1255. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
  1256. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
  1257. /* harmony import */ var _Progress_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80165);
  1258. /* harmony import */ var _Progress_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Progress_module_scss__WEBPACK_IMPORTED_MODULE_3__);
  1259. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_radix_ui_react_progress__WEBPACK_IMPORTED_MODULE_1__]);
  1260. _radix_ui_react_progress__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  1261. var ProgressSize;
  1262. (function(ProgressSize) {
  1263. ProgressSize["Small"] = "small";
  1264. ProgressSize["Medium"] = "medium";
  1265. ProgressSize["Large"] = "large";
  1266. })(ProgressSize || (ProgressSize = {}));
  1267. const Progress = ({ value , rootStyles , size =ProgressSize.Small , indicatorStyles , })=>{
  1268. const rootClassNames = classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Progress_module_scss__WEBPACK_IMPORTED_MODULE_3___default().progressRoot), {
  1269. [(_Progress_module_scss__WEBPACK_IMPORTED_MODULE_3___default().progressSmall)]: size === ProgressSize.Small,
  1270. [(_Progress_module_scss__WEBPACK_IMPORTED_MODULE_3___default().progressMedium)]: size === ProgressSize.Medium,
  1271. [(_Progress_module_scss__WEBPACK_IMPORTED_MODULE_3___default().progressLarge)]: size === ProgressSize.Large
  1272. }, rootStyles);
  1273. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_progress__WEBPACK_IMPORTED_MODULE_1__.Root, {
  1274. className: rootClassNames,
  1275. value: value,
  1276. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_progress__WEBPACK_IMPORTED_MODULE_1__.Indicator, {
  1277. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Progress_module_scss__WEBPACK_IMPORTED_MODULE_3___default().progressIndicator), indicatorStyles),
  1278. style: {
  1279. transform: `translateX(-${100 - value}%)`
  1280. }
  1281. })
  1282. });
  1283. };
  1284. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Progress);
  1285. __webpack_async_result__();
  1286. } catch(e) { __webpack_async_result__(e); } });
  1287. /***/ }),
  1288. /***/ 70813:
  1289. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  1290. "use strict";
  1291. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1292. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1293. /* harmony export */ });
  1294. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  1295. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  1296. const DataContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({});
  1297. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DataContext);
  1298. /***/ }),
  1299. /***/ 75184:
  1300. /***/ ((module) => {
  1301. "use strict";
  1302. module.exports = require("@reduxjs/toolkit");
  1303. /***/ }),
  1304. /***/ 58097:
  1305. /***/ ((module) => {
  1306. "use strict";
  1307. module.exports = require("@sentry/nextjs");
  1308. /***/ }),
  1309. /***/ 59003:
  1310. /***/ ((module) => {
  1311. "use strict";
  1312. module.exports = require("classnames");
  1313. /***/ }),
  1314. /***/ 59606:
  1315. /***/ ((module) => {
  1316. "use strict";
  1317. module.exports = require("humps");
  1318. /***/ }),
  1319. /***/ 12372:
  1320. /***/ ((module) => {
  1321. "use strict";
  1322. module.exports = require("lodash/findKey");
  1323. /***/ }),
  1324. /***/ 98492:
  1325. /***/ ((module) => {
  1326. "use strict";
  1327. module.exports = require("lodash/groupBy");
  1328. /***/ }),
  1329. /***/ 35526:
  1330. /***/ ((module) => {
  1331. "use strict";
  1332. module.exports = require("lodash/random");
  1333. /***/ }),
  1334. /***/ 64042:
  1335. /***/ ((module) => {
  1336. "use strict";
  1337. module.exports = require("lodash/range");
  1338. /***/ }),
  1339. /***/ 16641:
  1340. /***/ ((module) => {
  1341. "use strict";
  1342. module.exports = require("next-seo");
  1343. /***/ }),
  1344. /***/ 60866:
  1345. /***/ ((module) => {
  1346. "use strict";
  1347. module.exports = require("next-translate/useTranslation");
  1348. /***/ }),
  1349. /***/ 3280:
  1350. /***/ ((module) => {
  1351. "use strict";
  1352. module.exports = require("next/dist/shared/lib/app-router-context.js");
  1353. /***/ }),
  1354. /***/ 92796:
  1355. /***/ ((module) => {
  1356. "use strict";
  1357. module.exports = require("next/dist/shared/lib/head-manager-context.js");
  1358. /***/ }),
  1359. /***/ 3539:
  1360. /***/ ((module) => {
  1361. "use strict";
  1362. module.exports = require("next/dist/shared/lib/i18n/detect-domain-locale.js");
  1363. /***/ }),
  1364. /***/ 34014:
  1365. /***/ ((module) => {
  1366. "use strict";
  1367. module.exports = require("next/dist/shared/lib/i18n/normalize-locale-path.js");
  1368. /***/ }),
  1369. /***/ 78524:
  1370. /***/ ((module) => {
  1371. "use strict";
  1372. module.exports = require("next/dist/shared/lib/is-plain-object.js");
  1373. /***/ }),
  1374. /***/ 78020:
  1375. /***/ ((module) => {
  1376. "use strict";
  1377. module.exports = require("next/dist/shared/lib/mitt.js");
  1378. /***/ }),
  1379. /***/ 64406:
  1380. /***/ ((module) => {
  1381. "use strict";
  1382. module.exports = require("next/dist/shared/lib/page-path/denormalize-page-path.js");
  1383. /***/ }),
  1384. /***/ 24964:
  1385. /***/ ((module) => {
  1386. "use strict";
  1387. module.exports = require("next/dist/shared/lib/router-context.js");
  1388. /***/ }),
  1389. /***/ 93431:
  1390. /***/ ((module) => {
  1391. "use strict";
  1392. module.exports = require("next/dist/shared/lib/router/utils/add-locale.js");
  1393. /***/ }),
  1394. /***/ 11751:
  1395. /***/ ((module) => {
  1396. "use strict";
  1397. module.exports = require("next/dist/shared/lib/router/utils/add-path-prefix.js");
  1398. /***/ }),
  1399. /***/ 46220:
  1400. /***/ ((module) => {
  1401. "use strict";
  1402. module.exports = require("next/dist/shared/lib/router/utils/compare-states.js");
  1403. /***/ }),
  1404. /***/ 10299:
  1405. /***/ ((module) => {
  1406. "use strict";
  1407. module.exports = require("next/dist/shared/lib/router/utils/format-next-pathname-info.js");
  1408. /***/ }),
  1409. /***/ 23938:
  1410. /***/ ((module) => {
  1411. "use strict";
  1412. module.exports = require("next/dist/shared/lib/router/utils/format-url.js");
  1413. /***/ }),
  1414. /***/ 29565:
  1415. /***/ ((module) => {
  1416. "use strict";
  1417. module.exports = require("next/dist/shared/lib/router/utils/get-asset-path-from-route.js");
  1418. /***/ }),
  1419. /***/ 35789:
  1420. /***/ ((module) => {
  1421. "use strict";
  1422. module.exports = require("next/dist/shared/lib/router/utils/get-next-pathname-info.js");
  1423. /***/ }),
  1424. /***/ 1897:
  1425. /***/ ((module) => {
  1426. "use strict";
  1427. module.exports = require("next/dist/shared/lib/router/utils/is-bot.js");
  1428. /***/ }),
  1429. /***/ 1428:
  1430. /***/ ((module) => {
  1431. "use strict";
  1432. module.exports = require("next/dist/shared/lib/router/utils/is-dynamic.js");
  1433. /***/ }),
  1434. /***/ 28854:
  1435. /***/ ((module) => {
  1436. "use strict";
  1437. module.exports = require("next/dist/shared/lib/router/utils/parse-path.js");
  1438. /***/ }),
  1439. /***/ 91292:
  1440. /***/ ((module) => {
  1441. "use strict";
  1442. module.exports = require("next/dist/shared/lib/router/utils/parse-relative-url.js");
  1443. /***/ }),
  1444. /***/ 34567:
  1445. /***/ ((module) => {
  1446. "use strict";
  1447. module.exports = require("next/dist/shared/lib/router/utils/path-has-prefix.js");
  1448. /***/ }),
  1449. /***/ 80979:
  1450. /***/ ((module) => {
  1451. "use strict";
  1452. module.exports = require("next/dist/shared/lib/router/utils/querystring.js");
  1453. /***/ }),
  1454. /***/ 93297:
  1455. /***/ ((module) => {
  1456. "use strict";
  1457. module.exports = require("next/dist/shared/lib/router/utils/remove-trailing-slash.js");
  1458. /***/ }),
  1459. /***/ 36052:
  1460. /***/ ((module) => {
  1461. "use strict";
  1462. module.exports = require("next/dist/shared/lib/router/utils/resolve-rewrites.js");
  1463. /***/ }),
  1464. /***/ 84226:
  1465. /***/ ((module) => {
  1466. "use strict";
  1467. module.exports = require("next/dist/shared/lib/router/utils/route-matcher.js");
  1468. /***/ }),
  1469. /***/ 95052:
  1470. /***/ ((module) => {
  1471. "use strict";
  1472. module.exports = require("next/dist/shared/lib/router/utils/route-regex.js");
  1473. /***/ }),
  1474. /***/ 59232:
  1475. /***/ ((module) => {
  1476. "use strict";
  1477. module.exports = require("next/dist/shared/lib/utils.js");
  1478. /***/ }),
  1479. /***/ 71853:
  1480. /***/ ((module) => {
  1481. "use strict";
  1482. module.exports = require("next/router");
  1483. /***/ }),
  1484. /***/ 16689:
  1485. /***/ ((module) => {
  1486. "use strict";
  1487. module.exports = require("react");
  1488. /***/ }),
  1489. /***/ 2784:
  1490. /***/ ((module) => {
  1491. "use strict";
  1492. module.exports = require("react-hotkeys-hook");
  1493. /***/ }),
  1494. /***/ 6022:
  1495. /***/ ((module) => {
  1496. "use strict";
  1497. module.exports = require("react-redux");
  1498. /***/ }),
  1499. /***/ 20997:
  1500. /***/ ((module) => {
  1501. "use strict";
  1502. module.exports = require("react/jsx-runtime");
  1503. /***/ }),
  1504. /***/ 52648:
  1505. /***/ ((module) => {
  1506. "use strict";
  1507. module.exports = require("refresh-fetch");
  1508. /***/ }),
  1509. /***/ 98680:
  1510. /***/ ((module) => {
  1511. "use strict";
  1512. module.exports = import("@radix-ui/react-popover");;
  1513. /***/ }),
  1514. /***/ 6005:
  1515. /***/ ((module) => {
  1516. "use strict";
  1517. module.exports = import("@radix-ui/react-progress");;
  1518. /***/ }),
  1519. /***/ 66704:
  1520. /***/ ((module) => {
  1521. "use strict";
  1522. module.exports = import("@radix-ui/react-tooltip");;
  1523. /***/ }),
  1524. /***/ 88813:
  1525. /***/ ((module) => {
  1526. "use strict";
  1527. module.exports = import("firebase/compat/analytics");;
  1528. /***/ }),
  1529. /***/ 33773:
  1530. /***/ ((module) => {
  1531. "use strict";
  1532. module.exports = import("firebase/compat/app");;
  1533. /***/ }),
  1534. /***/ 69915:
  1535. /***/ ((module) => {
  1536. "use strict";
  1537. module.exports = import("js-cookie");;
  1538. /***/ }),
  1539. /***/ 3590:
  1540. /***/ ((module) => {
  1541. "use strict";
  1542. module.exports = import("react-toastify");;
  1543. /***/ }),
  1544. /***/ 15941:
  1545. /***/ ((module) => {
  1546. "use strict";
  1547. module.exports = import("swr");;
  1548. /***/ }),
  1549. /***/ 79847:
  1550. /***/ ((module) => {
  1551. "use strict";
  1552. module.exports = import("swr/immutable");;
  1553. /***/ }),
  1554. /***/ 63477:
  1555. /***/ ((module) => {
  1556. "use strict";
  1557. module.exports = require("querystring");
  1558. /***/ })
  1559. };
  1560. ;
  1561. // load runtime
  1562. var __webpack_require__ = require("../webpack-runtime.js");
  1563. __webpack_require__.C(exports);
  1564. var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
  1565. var __webpack_exports__ = __webpack_require__.X(0, [11497,79165,96270,24709,57933,61239,25869,50497,76410,79717,13830,37883,22197,12951,85949,62093,91308,41051,1223,39820,1266,5894,38646,73273], () => (__webpack_exec__(94669)));
  1566. module.exports = __webpack_exports__;
  1567. })();
  1568. //# sourceMappingURL=reading-goal.js.map