calendar.js.map 60 KB

1
  1. {"version":3,"file":"../pages/calendar.js","mappings":"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","sources":["webpack://quran.com/src/pages/calendar/index.tsx","webpack://quran.com/sentry-wrapper-module","webpack://quran.com/./public/icons/notification-bell.svg","webpack://quran.com/./src/components/PageContainer/PageContainer.module.scss","webpack://quran.com/./src/components/QuranReflect/ReflectionText/ReflectionText.module.scss","webpack://quran.com/./src/components/QuranicCalendar/JoinQuranicCalendarButton/JoinQuranicCalendarButton.module.scss","webpack://quran.com/./src/components/QuranicCalendar/QuranicCalendarMonth/QuranicCalendarMonth.module.scss","webpack://quran.com/./src/components/QuranicCalendar/QuranicCalendarWeek/QuranicCalendarWeek.module.scss","webpack://quran.com/./src/pages/calendar/calendar.module.scss","webpack://quran.com/./src/components/PageContainer/index.tsx","webpack://quran.com/./src/components/QuranReflect/ReflectionText/index.tsx","webpack://quran.com/./src/utils/quranReflect/bodyParser.ts","webpack://quran.com/./src/components/QuranReflect/hooks/useReflectionBodyParser.ts","webpack://quran.com/./src/components/QuranicCalendar/JoinQuranicCalendarButton/index.tsx","webpack://quran.com/./src/components/QuranicCalendar/QuranicCalendarHero/index.tsx","webpack://quran.com/./src/components/QuranicCalendar/QuranicCalendarMonth/index.tsx","webpack://quran.com/./src/components/QuranicCalendar/QuranicCalendarWeek/index.tsx","webpack://quran.com/./src/utils/auth/qf/api.ts","webpack://quran.com/./src/utils/auth/qf/apiPaths.ts","webpack://quran.com/./src/utils/hijri-date.ts","webpack://quran.com/./src/utils/quranReflect/navigation.ts","webpack://quran.com/external commonjs \"@reduxjs/toolkit\"","webpack://quran.com/external commonjs \"@sentry/nextjs\"","webpack://quran.com/external commonjs \"@umalqura/core\"","webpack://quran.com/external commonjs \"classnames\"","webpack://quran.com/external commonjs \"humps\"","webpack://quran.com/external commonjs \"lodash/findKey\"","webpack://quran.com/external commonjs \"lodash/groupBy\"","webpack://quran.com/external commonjs \"lodash/random\"","webpack://quran.com/external commonjs \"lodash/range\"","webpack://quran.com/external commonjs \"next-seo\"","webpack://quran.com/external commonjs \"next-translate/Trans\"","webpack://quran.com/external commonjs \"next-translate/useTranslation\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/app-router-context.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/head-manager-context.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/i18n/detect-domain-locale.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/i18n/normalize-locale-path.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/is-plain-object.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/mitt.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/page-path/denormalize-page-path.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router-context.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/add-locale.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/add-path-prefix.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/compare-states.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/format-next-pathname-info.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/format-url.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/get-asset-path-from-route.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/get-next-pathname-info.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/is-bot.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/is-dynamic.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/parse-path.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/parse-relative-url.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/path-has-prefix.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/querystring.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/remove-trailing-slash.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/resolve-rewrites.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/route-matcher.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/route-regex.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/utils.js\"","webpack://quran.com/external commonjs \"next/router\"","webpack://quran.com/external commonjs \"react\"","webpack://quran.com/external commonjs \"react-virtuoso\"","webpack://quran.com/external commonjs \"react/jsx-runtime\"","webpack://quran.com/external commonjs \"refresh-fetch\"","webpack://quran.com/external module \"@radix-ui/react-collapsible\"","webpack://quran.com/external module \"@radix-ui/react-tooltip\"","webpack://quran.com/external module \"firebase/compat/analytics\"","webpack://quran.com/external module \"firebase/compat/app\"","webpack://quran.com/external module \"js-cookie\"","webpack://quran.com/external module \"react-toastify\"","webpack://quran.com/external module \"swr/immutable\"","webpack://quran.com/external node-commonjs \"querystring\""],"sourcesContent":["import umalqura from '@umalqura/core';\nimport useTranslation from 'next-translate/useTranslation';\nimport { Virtuoso } from 'react-virtuoso';\n\nimport styles from './calendar.module.scss';\n\nimport NextSeoWrapper from '@/components/NextSeoWrapper';\nimport PageContainer from '@/components/PageContainer';\nimport JoinQuranicCalendarButton from '@/components/QuranicCalendar/JoinQuranicCalendarButton';\nimport QuranicCalendarHero from '@/components/QuranicCalendar/QuranicCalendarHero';\nimport QuranicCalendarMonth from '@/components/QuranicCalendar/QuranicCalendarMonth';\nimport { getCurrentQuranicCalendarWeek } from '@/utils/hijri-date';\nimport { getLanguageAlternates } from '@/utils/locale';\nimport { getCanonicalUrl, getQuranicCalendarNavigationUrl } from '@/utils/navigation';\nimport monthsMap from 'quranic-calendar.json';\n\nconst MONTHS_WEEKS = Object.values(monthsMap);\nconst PATH = getQuranicCalendarNavigationUrl();\n\nconst QuranicCalendarPage = () => {\n const { t, lang } = useTranslation('quranic-calendar');\n const currentHijriDate = umalqura();\n\n /**\n * Get the index of the current month in the MONTHS_WEEKS array\n * by comparing the current month and year with the month and year of each month in the array.\n *\n * @returns {number} The index of the current month in the MONTHS_WEEKS array\n */\n const getInitialTopMostItemIndex = () => {\n for (let index = 0; index < MONTHS_WEEKS.length; index += 1) {\n const monthWeeks = MONTHS_WEEKS[index];\n const calendarMonth = umalqura(\n Number(monthWeeks[0].hijriYear),\n Number(monthWeeks[0].hijriMonth),\n 1,\n );\n const isCurrentMonthAndYear =\n calendarMonth.hm === currentHijriDate.hm && currentHijriDate.hy === calendarMonth.hy;\n if (isCurrentMonthAndYear) {\n return index;\n }\n }\n return 0;\n };\n const currentQuranicCalendarWeek = getCurrentQuranicCalendarWeek(currentHijriDate);\n\n return (\n <>\n <NextSeoWrapper\n title={t('quranic-calendar')}\n url={getCanonicalUrl(lang, PATH)}\n languageAlternates={getLanguageAlternates(PATH)}\n />\n <QuranicCalendarHero />\n <PageContainer>\n <JoinQuranicCalendarButton\n currentQuranicCalendarWeek={currentQuranicCalendarWeek}\n currentHijriDate={currentHijriDate}\n />\n <div className={styles.container}>\n <Virtuoso\n data={MONTHS_WEEKS}\n initialItemCount={1}\n initialTopMostItemIndex={getInitialTopMostItemIndex()}\n totalCount={MONTHS_WEEKS.length}\n itemContent={(index, monthWeeks) => (\n <QuranicCalendarMonth\n currentQuranicCalendarWeek={currentQuranicCalendarWeek}\n key={index}\n monthWeeks={monthWeeks}\n />\n )}\n />\n </div>\n </PageContainer>\n </>\n );\n};\n\nexport default QuranicCalendarPage;\n","import * as Sentry from '@sentry/nextjs';\nimport * as serverComponentModule from '__SENTRY_WRAPPING_TARGET_FILE__.cjs';\nexport * from '__SENTRY_WRAPPING_TARGET_FILE__.cjs';\n\n/*\n * This file is a template for the code which will be substituted when our webpack loader handles non-API files in the\n * `pages/` directory.\n *\n * 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,\n * this causes both TS and ESLint to complain, hence the pragma comments below.\n */\n\nconst userPageModule = serverComponentModule ;\n\nconst pageComponent = userPageModule ? userPageModule.default : undefined;\n\nconst origGetInitialProps = pageComponent ? pageComponent.getInitialProps : undefined;\nconst origGetStaticProps = userPageModule ? userPageModule.getStaticProps : undefined;\nconst origGetServerSideProps = userPageModule ? userPageModule.getServerSideProps : undefined;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst getInitialPropsWrappers = {\n '/_app': Sentry.wrapAppGetInitialPropsWithSentry,\n '/_document': Sentry.wrapDocumentGetInitialPropsWithSentry,\n '/_error': Sentry.wrapErrorGetInitialPropsWithSentry,\n};\n\nconst getInitialPropsWrapper = getInitialPropsWrappers['/calendar'] || Sentry.wrapGetInitialPropsWithSentry;\n\nif (pageComponent && typeof origGetInitialProps === 'function') {\n pageComponent.getInitialProps = getInitialPropsWrapper(origGetInitialProps) ;\n}\n\nconst getStaticProps =\n typeof origGetStaticProps === 'function'\n ? Sentry.wrapGetStaticPropsWithSentry(origGetStaticProps, '/calendar')\n : undefined;\nconst getServerSideProps =\n typeof origGetServerSideProps === 'function'\n ? Sentry.wrapGetServerSidePropsWithSentry(origGetServerSideProps, '/calendar')\n : undefined;\n\nconst pageWrapperTemplate = pageComponent ? Sentry.wrapPageComponentWithSentry(pageComponent ) : pageComponent;\n\nexport { pageWrapperTemplate as default, getServerSideProps, getStaticProps };\n","var _path;\nfunction _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); }\nimport * as React from \"react\";\nvar SvgNotificationBell = function SvgNotificationBell(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M5.25 9a6.75 6.75 0 0 1 13.5 0v.75c0 2.123.8 4.057 2.118 5.52a.75.75 0 0 1-.297 1.206c-1.544.57-3.16.99-4.831 1.243a3.75 3.75 0 1 1-7.48 0 24.585 24.585 0 0 1-4.831-1.244.75.75 0 0 1-.298-1.205A8.217 8.217 0 0 0 5.25 9.75V9zm4.502 8.9a2.25 2.25 0 1 0 4.496 0 25.057 25.057 0 0 1-4.496 0z\",\n clipRule: \"evenodd\"\n })));\n};\nexport default SvgNotificationBell;","// Exports\nmodule.exports = {\n\t\"container\": \"PageContainer_container__1TUET\",\n\t\"fullWidth\": \"PageContainer_fullWidth__RU5GM\"\n};\n","// Exports\nmodule.exports = {\n\t\"hashtag\": \"ReflectionText_hashtag__uFX_O\",\n\t\"body\": \"ReflectionText_body__0Igdy\"\n};\n","// Exports\nmodule.exports = {\n\t\"text\": \"JoinQuranicCalendarButton_text__LVgQ6\",\n\t\"cta\": \"JoinQuranicCalendarButton_cta__A1sPD\",\n\t\"highlight\": \"JoinQuranicCalendarButton_highlight__TunkA\",\n\t\"normal\": \"JoinQuranicCalendarButton_normal__aSk2p\",\n\t\"bordered\": \"JoinQuranicCalendarButton_bordered__fH_X5\",\n\t\"subTextContainer\": \"JoinQuranicCalendarButton_subTextContainer__vMx_r\"\n};\n","// Exports\nmodule.exports = {\n\t\"monthHeader\": \"QuranicCalendarMonth_monthHeader__yK_65\",\n\t\"container\": \"QuranicCalendarMonth_container__Nxg83\"\n};\n","// Exports\nmodule.exports = {\n\t\"weekContainer\": \"QuranicCalendarWeek_weekContainer__x1skz\",\n\t\"currentWeek\": \"QuranicCalendarWeek_currentWeek__cJvlZ\",\n\t\"collapsibleTitle\": \"QuranicCalendarWeek_collapsibleTitle__sEy8B\",\n\t\"collapsibleBody\": \"QuranicCalendarWeek_collapsibleBody__VGUAZ\",\n\t\"link\": \"QuranicCalendarWeek_link__58BsZ\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"calendar_container__HzLHf\"\n};\n","import { ReactNode, FC } from 'react';\n\nimport styles from './PageContainer.module.scss';\n\ntype Props = {\n children: ReactNode | ReactNode[];\n};\n\nconst PageContainer: FC<Props> = ({ children }) => {\n return <div className={styles.container}>{children}</div>;\n};\n\nexport default PageContainer;\n","import React from 'react';\n\nimport useReflectionBodyParser from '../hooks/useReflectionBodyParser';\n\nimport styles from './ReflectionText.module.scss';\n\ntype Props = {\n reflectionText: string;\n};\n\nconst ReflectionText: React.FC<Props> = ({ reflectionText }) => {\n const formattedText = useReflectionBodyParser(reflectionText, styles.hashtag);\n return (\n <span\n className={styles.body}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{\n __html: formattedText,\n }}\n />\n );\n};\n\nexport default ReflectionText;\n","/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable import/prefer-default-export */\nimport { getQuranReflectTagUrl } from './navigation';\n\n/**\n * Wraps hashtags in links: It finds all hashtags starting with # followed\n * by one or more word characters (\\w+). The captured hashtag is then\n * used to create a link.\n *\n * @param {string} tag\n * @param {string} hashtagStyle\n * @returns {string}\n */\nconst tagToLink = (tag: string, hashtagStyle: string): string => {\n const tagWithHashTag = `#${tag}`;\n return `<a target=\"_blank\" href=\"${getQuranReflectTagUrl(\n tagWithHashTag,\n )}\" class=\"${hashtagStyle}\">${tagWithHashTag}</a>`;\n};\n\n/**\n * Replaces URLs in a given text with HTML anchor tags.\n *\n * @param {string} text - The input text containing URLs.\n * @returns {string} The text with URLs replaced by anchor tags.\n */\nconst replaceUrlsWithLinks = (text: string): string => {\n const regex = /(\\b(https?|ftp|file):\\/\\/[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])/gi;\n return text.replace(regex, (url) => {\n // Check if URL is already linked\n const surroundingLength = 100; // Number of characters around the URL to check for <a> tag\n const index = text.indexOf(url);\n\n const beforeText = text.slice(Math.max(0, index - surroundingLength), index);\n const afterText = text.slice(index + url.length, index + url.length + surroundingLength);\n\n if (beforeText.includes('<a href=') && afterText.includes('</a>')) {\n // URL is already inside an anchor tag, return as is\n return url;\n }\n\n // Convert URL to a link\n return `<a href='${url}' target='_blank'>${url}</a>`;\n });\n};\n\nexport const parseReflectionBody = (reflectionBody: string, hashtagStyle: string): string => {\n return (\n // 1. Wraps URLs in links: Find all URLs starting with http or https. The captured URL is then used to create a link.\n replaceUrlsWithLinks(reflectionBody)\n // 2. Replaces new lines: match all occurrences of new lines (\\n) and carriage returns (\\r) and replaces them with the <br> tag.\n .replace(/\\r?\\n/g, '<br>')\n // 3. Wraps hashtags in links: Find all hashtags starting with # followed by one or more word characters (\\w+). The captured hashtag is then used to create a link.\n .replace(/#(\\w+)/g, (_, tag) => tagToLink(tag, hashtagStyle))\n );\n};\n","import { useMemo } from 'react';\n\nimport { parseReflectionBody } from '@/utils/quranReflect/bodyParser';\n\n/**\n * A hook to parse the reflection body and replace the hashtags with links.\n *\n * TODO: make all usages of this hook DRY.\n *\n * @param {string} reflectionText\n * @param {string} hashtagStyle\n * @returns {string}\n */\nconst useReflectionBodyParser = (reflectionText: string, hashtagStyle: string): string => {\n const parsedBody = useMemo(\n () => parseReflectionBody(reflectionText, hashtagStyle),\n [hashtagStyle, reflectionText],\n );\n\n return parsedBody;\n};\n\nexport default useReflectionBodyParser;\n","import React, { useEffect, useState } from 'react';\n\nimport umalqura from '@umalqura/core';\nimport classNames from 'classnames';\nimport { useRouter } from 'next/router';\nimport Trans from 'next-translate/Trans';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './JoinQuranicCalendarButton.module.scss';\n\nimport Button, { ButtonShape, ButtonSize, ButtonType } from '@/dls/Button/Button';\nimport { ToastStatus, useToast } from '@/dls/Toast/Toast';\nimport NotificationBellIcon from '@/icons/notification-bell.svg';\nimport { isLoggedIn } from '@/utils/auth/login';\nimport { followUser, isUserFollowed } from '@/utils/auth/qf/api';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport { toLocalizedDate, toLocalizedNumber } from '@/utils/locale';\nimport { getLoginNavigationUrl, getQuranicCalendarNavigationUrl } from '@/utils/navigation';\n\nconst QC_USERNAME = 'calendar';\n\ntype Props = {\n currentHijriDate: umalqura.UmAlQura;\n currentQuranicCalendarWeek: number;\n};\n\nconst JoinQuranicCalendarButton: React.FC<Props> = ({\n currentQuranicCalendarWeek,\n currentHijriDate,\n}) => {\n const { t, lang } = useTranslation('quranic-calendar');\n const toast = useToast();\n const [isLoading, setIsLoading] = useState(false);\n const [hasJoined, setHasJoined] = useState(false);\n const [hasError, setHasError] = useState(false);\n\n useEffect(() => {\n if (isLoggedIn()) {\n setIsLoading(true);\n isUserFollowed(QC_USERNAME)\n .then((response) => {\n setHasJoined(response.followed);\n })\n .catch(() => {\n setHasError(true);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }\n }, []);\n\n const router = useRouter();\n const onClick = () => {\n logButtonClick('join_quranic_calendar');\n if (isLoggedIn()) {\n setIsLoading(true);\n followUser(QC_USERNAME)\n .then(() => {\n toast(t('join-quranic-calendar-success'), {\n status: ToastStatus.Success,\n });\n setHasJoined(true);\n })\n .catch(() => {\n toast(t('common:error.general'), {\n status: ToastStatus.Error,\n });\n })\n .finally(() => {\n setIsLoading(false);\n });\n } else {\n router.replace(getLoginNavigationUrl(getQuranicCalendarNavigationUrl()));\n }\n };\n\n return (\n <div className={styles.text}>\n <div className={styles.bordered}>\n <Trans\n i18nKey=\"quranic-calendar:today\"\n components={{\n br: <br key={0} />,\n highlight: <span key={1} className={styles.highlight} />,\n }}\n values={{\n day: toLocalizedNumber(currentHijriDate.hd, lang),\n month: t(`islamic-months.${currentHijriDate.hm}`),\n year: toLocalizedNumber(currentHijriDate.hy, lang, false, {\n useGrouping: false,\n }),\n gregorianDate: toLocalizedDate(currentHijriDate.date, lang, {\n dateStyle: 'long',\n }),\n }}\n />\n <br />\n <Trans\n i18nKey=\"quranic-calendar:join-qc.line-1\"\n components={{\n br: <br key={0} />,\n highlight: <span key={1} className={styles.highlight} />,\n }}\n values={{\n weekNumber: toLocalizedNumber(currentQuranicCalendarWeek, lang),\n }}\n />\n <br />\n </div>\n <div className={styles.subTextContainer}>\n <Trans\n i18nKey=\"quranic-calendar:join-qc.line-2\"\n components={{\n br: <br key={0} />,\n normal: <span key={1} className={styles.normal} />,\n highlight: <span key={1} className={styles.highlight} />,\n }}\n values={{\n weekNumber: toLocalizedNumber(currentQuranicCalendarWeek, lang),\n }}\n />\n\n <div className={classNames(styles.cta, styles.text)}>\n {hasJoined ? '' : t('join-quranic-calendar')}\n </div>\n <Button\n isLoading={isLoading}\n isDisabled={hasJoined || hasError}\n onClick={onClick}\n type={ButtonType.Success}\n shape={ButtonShape.Pill}\n size={ButtonSize.Small}\n prefix={<NotificationBellIcon />}\n >\n {hasJoined ? t('common:subscribed') : t('common:subscribe')}\n </Button>\n </div>\n </div>\n );\n};\n\nexport default JoinQuranicCalendarButton;\n","/* eslint-disable i18next/no-literal-string */\nimport React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from '@/components/RamadanActivity/RamadanActivityHero/Hero.module.scss';\n\nconst QuranicCalendarHero = () => {\n const { t } = useTranslation('quranic-calendar');\n return (\n <div className={styles.container} dir=\"ltr\">\n <div className={styles.rowContainer}>\n <div className={styles.row}>\n <p className={styles.header}>{t('quranic-calendar')}</p>\n <div className={styles.desc}>{t('hero.line-1')}</div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default QuranicCalendarHero;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './QuranicCalendarMonth.module.scss';\n\nimport QuranicCalendarMonthData from '@/components/QuranicCalendar/types/QuranicCalendarMonthData';\nimport QuranicCalendarWeek from 'src/components/QuranicCalendar/QuranicCalendarWeek';\n\ntype Props = {\n monthWeeks: QuranicCalendarMonthData;\n currentQuranicCalendarWeek: number;\n};\n\nconst QuranicCalendarMonth: React.FC<Props> = ({ monthWeeks, currentQuranicCalendarWeek }) => {\n const { t } = useTranslation('quranic-calendar');\n const localizedMonth = `${t(`islamic-months.${monthWeeks[0].hijriMonth}`)}`;\n\n return (\n <div className={styles.container}>\n <div className={styles.monthHeader}>{localizedMonth}</div>\n {monthWeeks.map((week) => {\n const { ranges, weekNumber } = week;\n return (\n <QuranicCalendarWeek\n key={ranges}\n isCurrentWeek={currentQuranicCalendarWeek === Number(weekNumber)}\n weekNumber={Number(weekNumber)}\n localizedMonth={localizedMonth}\n ranges={ranges}\n />\n );\n })}\n </div>\n );\n};\n\nexport default QuranicCalendarMonth;\n","/* eslint-disable max-lines */\nimport React from 'react';\n\nimport classNames from 'classnames';\nimport useTranslation from 'next-translate/useTranslation';\nimport useSWRImmutable from 'swr/immutable';\n\nimport styles from './QuranicCalendarWeek.module.scss';\n\nimport ReflectionText from '@/components/QuranReflect/ReflectionText';\nimport Collapsible, { CollapsibleDirection } from '@/dls/Collapsible/Collapsible';\nimport Link, { LinkVariant } from '@/dls/Link/Link';\nimport ChevronDownIcon from '@/icons/chevron-down.svg';\nimport { getQuranicCalendarPostOfWeek } from '@/utils/auth/qf/api';\nimport { makeQuranicCalendarPostOfWeekUrl } from '@/utils/auth/qf/apiPaths';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport { toLocalizedNumber, toLocalizedVerseKey } from '@/utils/locale';\nimport {\n QuranicCalendarRangesNavigationSettings,\n getQuranicCalendarRangesNavigationUrl,\n} from '@/utils/navigation';\nimport { getQuranReflectPostUrl } from '@/utils/quranReflect/navigation';\n\ntype Props = {\n weekNumber: number;\n isCurrentWeek: boolean;\n localizedMonth: string;\n ranges: string;\n};\n\nconst QuranicCalendarWeek: React.FC<Props> = ({\n weekNumber,\n localizedMonth,\n isCurrentWeek,\n ranges,\n}) => {\n const { t, lang } = useTranslation('quranic-calendar');\n\n const onRangesClicked = (settings: QuranicCalendarRangesNavigationSettings) => {\n logButtonClick('quranic_calendar_week', {\n ranges,\n weekNumber,\n settings,\n });\n };\n\n const onInteractClicked = () => {\n logButtonClick('quranic_calendar_interact', {\n ranges,\n weekNumber,\n });\n };\n\n const { data, isValidating, error } = useSWRImmutable(\n makeQuranicCalendarPostOfWeekUrl(weekNumber),\n async () => {\n const response = await getQuranicCalendarPostOfWeek(weekNumber);\n return response;\n },\n );\n const hasPost = !isValidating && !error && !!data?.post?.body;\n\n return (\n <div\n className={classNames(styles.weekContainer, {\n [styles.currentWeek]: isCurrentWeek,\n })}\n >\n <p>\n {t('week-title', {\n weekNumber: toLocalizedNumber(weekNumber, lang),\n month: localizedMonth,\n rangeStart: toLocalizedVerseKey(ranges.split('-')[0], lang),\n rangeEnd: toLocalizedVerseKey(ranges.split('-')[1], lang),\n })}\n </p>\n <div>\n <Link\n className={styles.link}\n isNewTab\n onClick={() => {\n onRangesClicked(QuranicCalendarRangesNavigationSettings.EnglishAndArabic);\n }}\n variant={LinkVariant.Blend}\n href={getQuranicCalendarRangesNavigationUrl(\n ranges,\n QuranicCalendarRangesNavigationSettings.EnglishAndArabic,\n )}\n >\n {t('reading-options.en-and-ar')}\n </Link>\n <Link\n isNewTab\n className={styles.link}\n onClick={() => {\n onRangesClicked(QuranicCalendarRangesNavigationSettings.EnglishOnly);\n }}\n variant={LinkVariant.Blend}\n href={getQuranicCalendarRangesNavigationUrl(\n ranges,\n QuranicCalendarRangesNavigationSettings.EnglishOnly,\n )}\n >\n {t('reading-options.en-only')}\n </Link>\n <Link\n isNewTab\n className={styles.link}\n onClick={() => {\n onRangesClicked(QuranicCalendarRangesNavigationSettings.DefaultSettings);\n }}\n variant={LinkVariant.Blend}\n href={getQuranicCalendarRangesNavigationUrl(\n ranges,\n QuranicCalendarRangesNavigationSettings.DefaultSettings,\n )}\n >\n {t('reading-options.default-settings')}\n </Link>\n </div>\n {!!hasPost && (\n <Collapsible\n direction={CollapsibleDirection.Right}\n title={<div className={styles.collapsibleTitle}>{t('supplemental-resources')}</div>}\n prefix={<ChevronDownIcon />}\n shouldRotatePrefixOnToggle\n shouldOpen={isCurrentWeek}\n >\n {({ isOpen: isCollapsibleOpen }) => {\n if (!isCollapsibleOpen) return null;\n return (\n <>\n <div className={styles.collapsibleBody}>\n <ReflectionText reflectionText={data?.post?.body} />\n </div>\n <Link\n isNewTab\n onClick={onInteractClicked}\n variant={LinkVariant.Blend}\n href={getQuranReflectPostUrl(data.post.id)}\n >\n {t('interact-with-post')}\n </Link>\n </>\n );\n }}\n </Collapsible>\n )}\n </div>\n );\n};\n\nexport default QuranicCalendarWeek;\n","import {\n makeFollowUserUrl,\n makeGetUserReflectionsUrl,\n makePostReflectionViewsUrl,\n makeIsUserFollowedUrl,\n makeQuranicCalendarPostOfWeekUrl,\n} from './apiPaths';\n\nimport AyahReflection from '@/types/QuranReflect/AyahReflection';\nimport { postRequest, privateFetcher } from '@/utils/auth/api';\nimport GetAllUserReflectionsQueryParams from '@/utils/auth/types/GetAllUserReflectionsQueryParams';\n\nexport const postReflectionViews = async (postId: string): Promise<{ success: boolean }> =>\n postRequest(makePostReflectionViewsUrl(postId), {});\n\nexport const followUser = async (usernameOrId: string): Promise<{ success: boolean }> =>\n postRequest(makeFollowUserUrl(usernameOrId), {});\n\nexport const isUserFollowed = async (\n usernameOrId: string,\n): Promise<{ success: boolean; followed: boolean }> => {\n return privateFetcher(makeIsUserFollowedUrl(usernameOrId));\n};\n\nexport const getAllUserReflections = async (params: GetAllUserReflectionsQueryParams) => {\n return privateFetcher(makeGetUserReflectionsUrl(params));\n};\n\nexport const getQuranicCalendarPostOfWeek = async (\n weekNumber: number,\n): Promise<{ post: AyahReflection }> => {\n return privateFetcher(makeQuranicCalendarPostOfWeekUrl(weekNumber));\n};\n","import { makeUrl } from '@/utils/auth/apiPaths';\nimport GetAllUserReflectionsQueryParams from '@/utils/auth/types/GetAllUserReflectionsQueryParams';\n\nconst getPrefixedUrl = (url: string) => `qf/${url}`;\n\nexport const makePostReflectionViewsUrl = (postId: string) =>\n makeUrl(getPrefixedUrl(`posts/${postId}/views`));\n\nexport const makeFollowUserUrl = (userNameOrId: string) =>\n makeUrl(getPrefixedUrl(`users/${userNameOrId}/follow`));\n\nexport const makeIsUserFollowedUrl = (userNameOrId: string) =>\n makeUrl(getPrefixedUrl(`users/${userNameOrId}/is-followed`));\n\nexport const makeGetUserReflectionsUrl = (params?: GetAllUserReflectionsQueryParams) =>\n makeUrl(getPrefixedUrl('posts'), params as any);\n\nexport const makeQuranicCalendarPostOfWeekUrl = (weekNumber: number) =>\n makeUrl(getPrefixedUrl(`quranic-calendar/${weekNumber}`));\n","/* eslint-disable guard-for-in */\n/* eslint-disable no-restricted-syntax */\n/* eslint-disable react-func/max-lines-per-function */\nimport umalqura from '@umalqura/core';\nimport groupBy from 'lodash/groupBy';\n\nimport QuranicCalendarMonthData from '@/components/QuranicCalendar/types/QuranicCalendarMonthData';\nimport monthsMap from 'quranic-calendar.json';\n\ntype Month = {\n year: number;\n month: number;\n day: number;\n};\n\n/**\n * The idea is to sum the number of weeks from the start of the Quranic\n * calendar to the current week. This is done by summing the number of weeks\n * in each month before the current month and then adding the current week\n * in the current month.\n *\n * @param {umalqura.UmAlQura} currentHijriDate\n * @returns {number}\n */\nexport const getCurrentQuranicCalendarWeek = (currentHijriDate: umalqura.UmAlQura): number => {\n // Today's date\n const today = currentHijriDate.date;\n\n // Convert today's date to the start of the day\n today.setHours(0, 0, 0, 0);\n\n // Iterate through the weeks to find the current week\n for (const key in monthsMap) {\n const weeks = monthsMap[key];\n for (const week of weeks) {\n const startDate = new Date(week.year, week.month - 1, week.day);\n const endDate = new Date(startDate);\n endDate.setDate(startDate.getDate() + 7);\n\n if (today >= startDate && today < endDate) {\n return Number(week.weekNumber);\n }\n }\n }\n\n return 0;\n};\n\n// TODO: add unit tests\nexport const generateWeeksOfMonths = (\n months: Month[],\n): {\n monthsDataMap: { [key: string]: QuranicCalendarMonthData };\n currentMonthIndex: number;\n} => {\n const today = umalqura();\n const monthsDataMap = {} as {\n [key: string]: QuranicCalendarMonthData;\n };\n let currentMonthIndex;\n\n // 1. loop through each first day of each month\n for (let i = 0; i < months.length; i += 1) {\n const firstDayOfHijriMonth = umalqura(months[i].year, months[i].month, months[i].day);\n const monthYearKey = `${firstDayOfHijriMonth.hy}-${firstDayOfHijriMonth.hm}`;\n // 2. initialize current month details\n // @ts-ignore\n monthsDataMap[monthYearKey] = {};\n // @ts-ignore\n monthsDataMap[monthYearKey].weeks = {};\n // @ts-ignore\n monthsDataMap[monthYearKey].firstDateOfMonth = firstDayOfHijriMonth.date;\n // filter null days (days before or after start of month) and also filter days before the first day of the month if we are not starting from the first day of the month exactly\n const daysInMonth = firstDayOfHijriMonth.monthArray\n .flat()\n .filter((day) => day !== null && day.isSameOrAfter(firstDayOfHijriMonth));\n /**\n * 3. group days by week of the month. Since 0 dayOfWeek starts is\n * Monday, we are modifying weekOfYear to start on Friday\n */\n const weeksOfMonthDaysMap = groupBy(daysInMonth, (day) => {\n const shiftedDayOfWeek = (day.dayOfWeek + 2) % 7;\n const shiftedWeekOfYear = day.weekOfYear + (shiftedDayOfWeek < day.dayOfWeek ? 1 : 0);\n return `${day.hy}-${shiftedWeekOfYear}`;\n });\n // 4. if the month is the current month, set the current month flag\n const isCurrentMonth = today.hy === months[i].year && today.hm === months[i].month;\n // @ts-ignore\n monthsDataMap[monthYearKey].isCurrentMonth = isCurrentMonth;\n // 5. save the index of the current month so we can automatically scroll to later\n if (isCurrentMonth) {\n currentMonthIndex = i;\n }\n\n Object.keys(weeksOfMonthDaysMap).forEach((weekKey) => {\n const weekDays = weeksOfMonthDaysMap[weekKey];\n // @ts-ignore\n monthsDataMap[monthYearKey].weeks[weekKey] = {\n weekDays,\n isCurrentWeek: isCurrentMonth && weekDays[0].weekOfYear === today.weekOfYear,\n };\n });\n }\n\n return { monthsDataMap, currentMonthIndex };\n};\n","import stringify from '@/utils/qs-stringify';\n\nconst STAGING_API_HOST = 'https://quranreflect.org';\nconst PRODUCTION_API_HOST = 'https://quranreflect.com';\n\n// env variables in Vercel can't be dynamic, we have to hardcode the urls here. https://stackoverflow.com/questions/44342226/next-js-error-only-absolute-urls-are-supported\nexport const API_HOST =\n process.env.NEXT_PUBLIC_VERCEL_ENV === 'production' ? PRODUCTION_API_HOST : STAGING_API_HOST;\n\nconst getQuranReflectFilteredVerseUrl = (chapterId: string, verseNumber: string, params) => {\n return `${API_HOST}?filters=${chapterId}:${verseNumber}&${stringify(params)}`;\n};\n\nexport const getQuranReflectVerseUrl = (chapterId: string, verseNumber: string) => {\n return getQuranReflectFilteredVerseUrl(chapterId, verseNumber, { feed: true });\n};\n\nexport const getQuranReflectEditUrl = (chapterId: string, verseNumber: string) => {\n return getQuranReflectFilteredVerseUrl(chapterId, verseNumber, { edit: true });\n};\n\nexport const getQuranReflectAuthorUrl = (username: string) => {\n return `${API_HOST}/${username}`;\n};\n\nexport const getQuranReflectPostUrl = (postId: number | string, viewComments = false) =>\n `${API_HOST}/posts/${postId}${viewComments ? '#comments' : ''}`;\n\nexport const getQuranReflectTagUrl = (tag: string) =>\n `${API_HOST}/?tags=${encodeURIComponent(tag)}`;\n","module.exports = require(\"@reduxjs/toolkit\");","module.exports = require(\"@sentry/nextjs\");","module.exports = require(\"@umalqura/core\");","module.exports = require(\"classnames\");","module.exports = require(\"humps\");","module.exports = require(\"lodash/findKey\");","module.exports = require(\"lodash/groupBy\");","module.exports = require(\"lodash/random\");","module.exports = require(\"lodash/range\");","module.exports = require(\"next-seo\");","module.exports = require(\"next-translate/Trans\");","module.exports = require(\"next-translate/useTranslation\");","module.exports = require(\"next/dist/shared/lib/app-router-context.js\");","module.exports = require(\"next/dist/shared/lib/head-manager-context.js\");","module.exports = require(\"next/dist/shared/lib/i18n/detect-domain-locale.js\");","module.exports = require(\"next/dist/shared/lib/i18n/normalize-locale-path.js\");","module.exports = require(\"next/dist/shared/lib/is-plain-object.js\");","module.exports = require(\"next/dist/shared/lib/mitt.js\");","module.exports = require(\"next/dist/shared/lib/page-path/denormalize-page-path.js\");","module.exports = require(\"next/dist/shared/lib/router-context.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/add-locale.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/add-path-prefix.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/compare-states.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/format-next-pathname-info.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/format-url.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/get-asset-path-from-route.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/get-next-pathname-info.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/is-bot.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/is-dynamic.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/parse-path.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/parse-relative-url.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/path-has-prefix.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/querystring.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/remove-trailing-slash.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/resolve-rewrites.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/route-matcher.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/route-regex.js\");","module.exports = require(\"next/dist/shared/lib/utils.js\");","module.exports = require(\"next/router\");","module.exports = require(\"react\");","module.exports = require(\"react-virtuoso\");","module.exports = require(\"react/jsx-runtime\");","module.exports = require(\"refresh-fetch\");","module.exports = import(\"@radix-ui/react-collapsible\");;","module.exports = import(\"@radix-ui/react-tooltip\");;","module.exports = import(\"firebase/compat/analytics\");;","module.exports = import(\"firebase/compat/app\");;","module.exports = import(\"js-cookie\");;","module.exports = import(\"react-toastify\");;","module.exports = import(\"swr/immutable\");;","module.exports = require(\"querystring\");"],"names":["MONTHS_WEEKS","Object","values","monthsMap","PATH","getQuranicCalendarNavigationUrl","QuranicCalendarPage","t","lang","useTranslation","currentHijriDate","umalqura","getInitialTopMostItemIndex","index","length","monthWeeks","calendarMonth","Number","hijriYear","hijriMonth","isCurrentMonthAndYear","hm","hy","currentQuranicCalendarWeek","getCurrentQuranicCalendarWeek","_jsxs","_Fragment","_jsx","NextSeoWrapper","title","url","getCanonicalUrl","languageAlternates","getLanguageAlternates","QuranicCalendarHero","PageContainer","JoinQuranicCalendarButton","div","className","styles","container","Virtuoso","data","initialItemCount","initialTopMostItemIndex","totalCount","itemContent","QuranicCalendarMonth","children","React","useReflectionBodyParser","ReflectionText","reflectionText","formattedText","hashtag","span","body","dangerouslySetInnerHTML","__html","getQuranReflectTagUrl","tagToLink","tag","hashtagStyle","tagWithHashTag","replaceUrlsWithLinks","text","regex","replace","surroundingLength","indexOf","beforeText","slice","Math","max","afterText","includes","parseReflectionBody","reflectionBody","_","useMemo","parsedBody","useEffect","useState","classNames","useRouter","Trans","Button","ButtonShape","ButtonSize","ButtonType","ToastStatus","useToast","NotificationBellIcon","isLoggedIn","followUser","isUserFollowed","logButtonClick","toLocalizedDate","toLocalizedNumber","getLoginNavigationUrl","QC_USERNAME","toast","isLoading","setIsLoading","hasJoined","setHasJoined","hasError","setHasError","then","response","followed","catch","finally","router","onClick","status","Success","Error","bordered","i18nKey","components","br","highlight","day","hd","month","year","useGrouping","gregorianDate","date","dateStyle","weekNumber","subTextContainer","normal","cta","isDisabled","type","shape","Pill","size","Small","prefix","dir","rowContainer","row","p","header","desc","QuranicCalendarWeek","localizedMonth","monthHeader","map","week","ranges","isCurrentWeek","useSWRImmutable","Collapsible","CollapsibleDirection","Link","LinkVariant","ChevronDownIcon","getQuranicCalendarPostOfWeek","makeQuranicCalendarPostOfWeekUrl","toLocalizedVerseKey","QuranicCalendarRangesNavigationSettings","getQuranicCalendarRangesNavigationUrl","getQuranReflectPostUrl","onRangesClicked","settings","onInteractClicked","isValidating","error","hasPost","post","weekContainer","currentWeek","rangeStart","split","rangeEnd","link","isNewTab","EnglishAndArabic","variant","Blend","href","EnglishOnly","DefaultSettings","direction","Right","collapsibleTitle","shouldRotatePrefixOnToggle","shouldOpen","isOpen","isCollapsibleOpen","collapsibleBody","id","makeFollowUserUrl","makeGetUserReflectionsUrl","makePostReflectionViewsUrl","makeIsUserFollowedUrl","postRequest","privateFetcher","postReflectionViews","postId","usernameOrId","getAllUserReflections","params","makeUrl","getPrefixedUrl","userNameOrId","groupBy","today","setHours","key","weeks","startDate","Date","endDate","setDate","getDate","generateWeeksOfMonths","months","monthsDataMap","currentMonthIndex","i","firstDayOfHijriMonth","monthYearKey","firstDateOfMonth","daysInMonth","monthArray","flat","filter","isSameOrAfter","weeksOfMonthDaysMap","shiftedDayOfWeek","dayOfWeek","shiftedWeekOfYear","weekOfYear","isCurrentMonth","keys","forEach","weekKey","weekDays","stringify","STAGING_API_HOST","PRODUCTION_API_HOST","API_HOST","process","env","NEXT_PUBLIC_VERCEL_ENV","getQuranReflectFilteredVerseUrl","chapterId","verseNumber","getQuranReflectVerseUrl","feed","getQuranReflectEditUrl","edit","getQuranReflectAuthorUrl","username","viewComments","encodeURIComponent"],"sourceRoot":""}