index-49e4a9603604cfd0.js.map 99 KB

1
  1. {"version":3,"file":"static/chunks/pages/index-49e4a9603604cfd0.js","mappings":"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","sources":["webpack://_N_E/./public/icons/caret-down.svg","webpack://_N_E/./public/icons/goal-1.svg","webpack://_N_E/./public/icons/help-circle.svg","webpack://_N_E/./public/images/moon-illustration.svg","webpack://_N_E/","webpack://_N_E/./src/components/dls/Collapsible/Collapsible.tsx","webpack://_N_E/./src/components/dls/IconContainer/IconContainer.tsx","webpack://_N_E/./src/components/dls/KeyboardInput/index.tsx","webpack://_N_E/./src/components/dls/Popover/HoverablePopover/index.tsx","webpack://_N_E/./src/components/dls/Popover/index.tsx","webpack://_N_E/./src/components/chapters/ChapterAndJuzList.tsx","webpack://_N_E/./src/components/chapters/ChapterAndJuzListSkeleton.tsx","webpack://_N_E/./src/components/HomePage/QuickLinks/QuickLink.tsx","webpack://_N_E/./src/components/HomePage/QuickLinks/index.tsx","webpack://_N_E/./public/icons/learning-plan.svg","webpack://_N_E/./src/components/CommandBar/CommandBarTrigger/index.tsx","webpack://_N_E/./src/components/HomePage/HomePageHero.tsx","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/CollapsibleTitle/index.tsx","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/LearningPlans/index.tsx","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CallToActionButtons/LearningPlansButtons.tsx","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/QuranReadingGoals/GoalButtons/index.tsx","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CallToActionButtons/QuranGoalsButtons.tsx","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/QuranReadingGoals/StreakDefinitionModal/index.tsx","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/QuranReadingGoals/DaysCounter/index.tsx","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/QuranReadingGoals/GoalStatus/index.tsx","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/QuranReadingGoals/index.tsx","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/index.tsx","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/index.tsx","webpack://_N_E/./src/components/HomePage/RamadanActivitiesSection/index.tsx","webpack://_N_E/./src/pages/index.tsx","webpack://_N_E/./src/components/CommandBar/CommandBarTrigger/CommandBarTrigger.module.scss","webpack://_N_E/./src/components/HomePage/HomePageHero.module.scss","webpack://_N_E/./src/components/HomePage/QuickLinks/QuickLinks.module.scss","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CallToActionButtons/CallToActionButtons.module.scss","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/CollapsibleSection.module.scss","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/CollapsibleTitle/CollapsibleTitle.module.scss","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/LearningPlans/LearningPlans.module.scss","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/QuranReadingGoals/DaysCounter/DaysCounter.module.scss","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/QuranReadingGoals/GoalButtons/GoalButtons.module.scss","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/QuranReadingGoals/StreakDefinitionModal/StreakDefinitionModal.module.scss","webpack://_N_E/./src/components/HomePage/QuranGrowthJourneySection/QuranGrowthJourneySection.module.scss","webpack://_N_E/./src/components/HomePage/RamadanActivitiesSection/RamadanActivitiesSection.module.scss","webpack://_N_E/./src/components/chapters/ChapterAndJuzList.module.scss","webpack://_N_E/./src/components/chapters/ChapterAndJuzListSkeleton.module.scss","webpack://_N_E/./src/components/dls/Collapsible/Collapsible.module.scss","webpack://_N_E/./src/components/dls/IconContainer/IconContainer.module.scss","webpack://_N_E/./src/components/dls/KeyboardInput/KeyboardInput.module.scss","webpack://_N_E/./src/components/dls/Popover/Popover.module.scss","webpack://_N_E/./node_modules/@radix-ui/react-collapsible/dist/index.mjs"],"sourcesContent":["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 SvgCaretDown = function SvgCaretDown(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 24 24\",\n width: 18,\n height: 18,\n stroke: \"currentColor\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n fill: \"none\",\n shapeRendering: \"geometricPrecision\",\n style: {\n color: \"currentcolor\"\n }\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m6 9 6 6 6-6\"\n })));\n};\nexport default SvgCaretDown;","var _defs, _g, _path, _path2, _path3, _path4, _path5, _path6, _g2;\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 SvgGoal1 = function SvgGoal1(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 1080,\n viewBox: \"0 0 810 810\",\n height: 1080\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.5 40.5h729v729h-729Zm0 0\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"b\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90 40.5h679.5V717H90Zm0 0\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#a)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ec3655\",\n d: \"M769.535 405c0 201.32-163.215 364.535-364.535 364.535C203.68 769.535 40.465 606.32 40.465 405 40.465 203.645 203.68 40.465 405 40.465c201.32 0 364.535 163.18 364.535 364.535\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M669.043 405c0 145.836-118.207 264.043-264.043 264.043S140.957 550.836 140.957 405 259.164 140.957 405 140.957 669.043 259.164 669.043 405\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ec3655\",\n d: \"M577.402 405c0 95.242-77.16 172.402-172.402 172.402-95.203 0-172.402-77.16-172.402-172.402 0-95.203 77.199-172.402 172.402-172.402 95.242 0 172.402 77.199 172.402 172.402\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M493.223 405c0 48.723-39.5 88.223-88.223 88.223s-88.223-39.5-88.223-88.223 39.5-88.223 88.223-88.223 88.223 39.5 88.223 88.223\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#3abdc4\",\n d: \"M673.453 133.133 549.7 256.922l65.11 25.351 124.78-124.742-66.136-24.398\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#3abdc4\",\n d: \"M673.453 133.133 549.7 256.922l-25.39-65.11 124.78-124.785 24.364 66.106\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"m399.339 362.009 2.648 42.59 42.586 2.68\",\n stroke: \"#51558f\",\n strokeWidth: 22.0464,\n strokeMiterlimit: 10\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#b)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"m694.319 112.298-292.332 292.3\",\n stroke: \"#51558f\",\n strokeWidth: 22.0464,\n strokeMiterlimit: 10\n }))));\n};\nexport default SvgGoal1;","var _circle, _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 SvgHelpCircle = function SvgHelpCircle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n className: \"feather feather-help-circle\"\n }, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 10\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3M12 17h.01\"\n })));\n};\nexport default SvgHelpCircle;","var _path, _path2, _path3, _path4, _path5;\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 SvgMoonIllustration = function SvgMoonIllustration(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 92 80\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m12.34 45.828.005.007.006.007c2.639 2.996 5.947 5.452 9.705 7.21a32.563 32.563 0 0 0 12.105 2.993 32.981 32.981 0 0 0 12.401-1.734c3.953-1.36 7.547-3.46 10.544-6.165 2.996-2.705 5.33-5.954 6.841-9.536a24.806 24.806 0 0 0 1.925-11.245c-.243-3.83-1.382-7.569-3.337-10.97-1.956-3.4-4.684-6.385-8.002-8.76l-.291.406.272-.42a.577.577 0 0 1-.248-.322.477.477 0 0 1 .04-.358.642.642 0 0 1 .33-.284.808.808 0 0 1 .498-.034c5.97 1.539 11.385 4.455 15.713 8.457 4.327 4.002 7.416 8.949 8.967 14.348a29.004 29.004 0 0 1-.112 16.452c-1.625 5.382-4.782 10.294-9.164 14.248-4.382 3.954-9.838 6.81-15.829 8.282a39.4 39.4 0 0 1-18.315.102c-6.01-1.405-11.505-4.201-15.941-8.106-4.434-3.903-7.656-8.776-9.355-14.137a.477.477 0 0 1 .04-.346c.061-.116.17-.22.32-.284a.806.806 0 0 1 .492-.043.702.702 0 0 1 .39.232Z\",\n stroke: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.173 34.298c.302-1.936.417-3.889.345-5.837a29.111 29.111 0 0 1 1.431 9.421c-.061 4.362-1.11 8.668-3.084 12.654-1.974 3.987-4.831 7.572-8.4 10.533-3.57 2.96-7.776 5.235-12.36 6.68a39.256 39.256 0 0 1-14.294 1.72c-4.846-.311-9.568-1.512-13.878-3.528-4.309-2.016-8.113-4.803-11.18-8.188-3.066-3.385-5.33-7.296-6.658-11.493l-.004-.013a.41.41 0 0 1 .004-.284c3.692 5.875 9.286 10.586 16.028 13.501 6.934 2.998 14.735 3.948 22.298 2.718 7.562-1.231 14.51-4.582 19.853-9.584 5.343-5.002 8.81-11.404 9.899-18.3Z\",\n stroke: \"currentColor\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.242 8.04c3.262 2.337 5.94 5.27 7.86 8.605 1.917 3.336 3.033 7 3.272 10.752a24.305 24.305 0 0 1-1.887 11.018c-1.483 3.512-3.772 6.702-6.717 9.36-2.944 2.658-6.479 4.724-10.37 6.063a32.481 32.481 0 0 1-12.213 1.708 32.064 32.064 0 0 1-11.92-2.948c-3.698-1.729-6.95-4.144-9.54-7.086a1.202 1.202 0 0 0-.666-.403 1.306 1.306 0 0 0-.799.07c-.248.106-.449.287-.566.512a.976.976 0 0 0-.078.72c1.727 5.455 5.004 10.408 9.504 14.37 4.502 3.962 10.071 6.795 16.159 8.218a39.901 39.901 0 0 0 18.548-.103c6.067-1.491 11.598-4.386 16.044-8.397 4.447-4.012 7.655-9.001 9.307-14.475a29.503 29.503 0 0 0 .115-16.734c-1.578-5.491-4.718-10.516-9.11-14.577-4.39-4.06-9.881-7.016-15.928-8.574a1.308 1.308 0 0 0-.81.055c-.254.103-.46.284-.582.511a.977.977 0 0 0-.08.73c.068.244.23.458.457.606v0Z\",\n stroke: \"currentColor\",\n strokeWidth: 0.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"M28.306 38.49c1.355-4.41 2.243-7.634 3.174-13.1-.05.085 7.202-2.569 10.347-3.753-4.508-.57-10.678-1.417-10.617-1.324-.848-3.48-1.636-8.948-3.62-15.313-.852 4.775-2.35 10.221-2.973 15.03-3.843 1-6.947 2.025-10.617 3.573 4.511.96 7.36 1.888 11.077 2.73 1.125 5.027 1.95 7.847 3.229 12.158Z\",\n stroke: \"currentColor\",\n strokeWidth: 1.5,\n strokeMiterlimit: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.744 25c.02 1.313-.077 2.688.05 3.994M2 32.059c.708.011 1.434-.104 2.14-.05M6.206 33.953c-.185 1.095-.145 2.213-.15 3.322M8.378 31.378c.983.085 2.025-.244 2.98-.015\",\n stroke: \"currentColor\",\n strokeWidth: 1.5,\n strokeMiterlimit: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\nexport default SvgMoonIllustration;","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/\",\n function () {\n return require(\"private-next-pages/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/\"])\n });\n }\n ","/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { useEffect, useState } from 'react';\n\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\nimport classNames from 'classnames';\n\nimport styles from './Collapsible.module.scss';\n\ntype ChildrenRenderProps = {\n isOpen: boolean;\n};\n\ntype Props = {\n title?: React.ReactNode;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n children: ({ isOpen }: ChildrenRenderProps) => React.ReactNode;\n isDefaultOpen?: boolean;\n shouldOpen?: boolean;\n shouldRotatePrefixOnToggle?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n direction?: CollapsibleDirection;\n};\n\nexport enum CollapsibleDirection {\n Left = 'left',\n Right = 'right',\n}\n\nconst Collapsible = ({\n isDefaultOpen = false,\n prefix,\n title,\n suffix,\n children,\n shouldRotatePrefixOnToggle,\n shouldOpen,\n onOpenChange,\n direction = CollapsibleDirection.Left,\n}: Props) => {\n const [isOpen, setIsOpen] = useState(isDefaultOpen);\n\n useEffect(() => {\n setIsOpen(shouldOpen);\n }, [shouldOpen]);\n\n const onSuffixClicked = (e) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n const onHeaderClicked = () => setIsOpen((preValue) => !preValue);\n\n return (\n <CollapsiblePrimitive.Root onOpenChange={onOpenChange} open={isOpen}>\n <CollapsiblePrimitive.Trigger asChild>\n <div className={styles.header} onClick={onHeaderClicked}>\n {direction === CollapsibleDirection.Left ? (\n <>\n <div className={styles.headerLeft}>\n <div\n className={classNames(styles.prefixContainer, {\n [styles.prefixRotated]: shouldRotatePrefixOnToggle && isOpen,\n })}\n >\n {prefix}\n </div>\n {title}\n </div>\n <div className={styles.suffixContainer} onClick={onSuffixClicked}>\n {suffix}\n </div>\n </>\n ) : (\n <>\n <div className={styles.headerLeft}>{title}</div>\n <div\n className={classNames(styles.prefixContainer, {\n [styles.prefixRotated]: shouldRotatePrefixOnToggle && isOpen,\n })}\n >\n {prefix}\n </div>\n </>\n )}\n </div>\n </CollapsiblePrimitive.Trigger>\n <CollapsiblePrimitive.CollapsibleContent>\n {isOpen && children({ isOpen })}\n </CollapsiblePrimitive.CollapsibleContent>\n </CollapsiblePrimitive.Root>\n );\n};\n\nexport default Collapsible;\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport styles from './IconContainer.module.scss';\n\nimport useDirection from '@/hooks/useDirection';\n\nexport enum IconColor {\n default = 'default',\n primary = 'primary',\n secondary = 'secondary',\n}\nexport enum IconSize {\n Xsmall = 'xsmall',\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n}\n\ntype IconContainerProps = {\n icon: React.ReactNode;\n size?: IconSize;\n color?: IconColor;\n className?: string;\n shouldFlipOnRTL?: boolean;\n shouldForceSetColors?: boolean;\n};\nconst IconContainer = ({\n icon,\n size = IconSize.Medium,\n color = IconColor.default,\n shouldFlipOnRTL = true,\n shouldForceSetColors = true,\n className,\n}: IconContainerProps) => {\n const dir = useDirection();\n return (\n <span\n className={classNames(className, styles.container, {\n [styles.defaultColor]:\n (shouldForceSetColors && color === IconColor.default) || color === IconColor.primary,\n [styles.secondaryColor]: shouldForceSetColors && color === IconColor.secondary,\n [styles.xsmallIcon]: size === IconSize.Xsmall,\n [styles.smallIcon]: size === IconSize.Small,\n [styles.mediumIcon]: size === IconSize.Medium,\n [styles.largeIcon]: size === IconSize.Large,\n })}\n data-auto-flip-icon={shouldFlipOnRTL}\n dir={dir}\n >\n {icon}\n </span>\n );\n};\n\nexport default IconContainer;\n","/* eslint-disable i18next/no-literal-string */\nimport React from 'react';\n\nimport classNames from 'classnames';\n\nimport styles from './KeyboardInput.module.scss';\n\ninterface Props {\n keyboardKey?: string;\n invertColors?: boolean;\n meta?: boolean;\n shift?: boolean;\n alt?: boolean;\n ctrl?: boolean;\n}\n\nconst KeyboardInput: React.FC<Props> = ({\n keyboardKey,\n meta,\n shift,\n alt,\n ctrl,\n invertColors = false,\n}) => {\n const isMacOs = typeof window !== 'undefined' && window.navigator.userAgent.search('Mac') !== -1;\n return (\n <kbd className={classNames(styles.container, { [styles.invertedColors]: invertColors })}>\n {meta && <span>{isMacOs ? '⌘' : 'ctrl'}</span>}\n {shift && <span>⇧</span>}\n {alt && <span>⌥</span>}\n {ctrl && <span>⌃</span>}\n {keyboardKey && <span>{keyboardKey}</span>}\n </kbd>\n );\n};\n\nexport default KeyboardInput;\n","import React, { ReactNode } from 'react';\n\nimport Popover, { ContentSide } from '@/dls/Popover';\nimport Tooltip from '@/dls/Tooltip';\n\ninterface Props {\n content: ReactNode;\n children: ReactNode | ReactNode[];\n contentSide?: ContentSide;\n tip?: boolean;\n tooltipDelay?: number;\n onOpenChange?: (open: boolean) => void;\n defaultStyling?: boolean;\n isOpen?: boolean;\n triggerStyles?: string;\n isContainerSpan?: boolean;\n}\n\n/**\n * A component that combines the functionality of a Popover and a Tooltip together.\n * This is needed to handle the case when we want to show a Tooltip on mobile but\n * since Tooltip is only hoverable and there is no hovering on mobile devices,\n * we provide the same functionality by using a Popover which handles clicking.\n *\n * @param {Props} props\n * @returns {JSX.Element}\n */\nconst HoverablePopover: React.FC<Props> = ({\n content,\n children,\n onOpenChange,\n contentSide = ContentSide.TOP,\n tip = true,\n tooltipDelay = 0,\n defaultStyling = true,\n isOpen,\n triggerStyles,\n isContainerSpan = false,\n}: Props): JSX.Element => (\n <Popover\n open={isOpen}\n triggerStyles={triggerStyles}\n contentSide={contentSide}\n useTooltipStyles\n {...(onOpenChange && { onOpenChange })}\n defaultStyling={defaultStyling}\n isContainerSpan={isContainerSpan}\n trigger={\n <Tooltip\n open={isOpen}\n tip={tip}\n text={content}\n contentSide={contentSide}\n delay={tooltipDelay}\n {...(onOpenChange && { onOpenChange })}\n >\n {children}\n </Tooltip>\n }\n tip={tip}\n >\n {content}\n </Popover>\n);\n\nexport default HoverablePopover;\n","import React, { ReactNode } from 'react';\n\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport classNames from 'classnames';\n\nimport styles from './Popover.module.scss';\n\nexport enum ContentSide {\n TOP = 'top',\n RIGHT = 'right',\n BOTTOM = 'bottom',\n LEFT = 'left',\n}\n\nexport enum ContentAlign {\n START = 'start',\n CENTER = 'center',\n END = 'end',\n}\n\ninterface Props {\n trigger: ReactNode;\n children: ReactNode | ReactNode[];\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n isModal?: boolean;\n contentSide?: ContentSide;\n contentAlign?: ContentAlign;\n tip?: boolean;\n avoidCollisions?: boolean;\n useTooltipStyles?: boolean;\n defaultStyling?: boolean;\n isPortalled?: boolean;\n triggerStyles?: string;\n contentStyles?: string;\n contentSideOffset?: number;\n isContainerSpan?: boolean;\n}\n\nconst Popover: React.FC<Props> = ({\n children,\n trigger,\n onOpenChange,\n open,\n isModal = false,\n contentSide = ContentSide.BOTTOM,\n contentAlign = ContentAlign.CENTER,\n avoidCollisions = true,\n tip = false,\n useTooltipStyles = false,\n defaultStyling = true,\n isPortalled = true,\n contentSideOffset = 2,\n triggerStyles,\n contentStyles,\n isContainerSpan = false,\n}) => {\n const content = (\n <RadixPopover.Content\n sideOffset={contentSideOffset}\n side={contentSide}\n align={contentAlign}\n avoidCollisions={avoidCollisions}\n className={classNames(styles.content, {\n [styles.tooltipContent]: useTooltipStyles,\n [contentStyles]: contentStyles,\n })}\n >\n {children}\n {tip && <RadixPopover.Arrow />}\n </RadixPopover.Content>\n );\n\n const containerChild = (\n <RadixPopover.Root\n modal={isModal}\n {...(typeof open !== 'undefined' && { open })}\n {...(onOpenChange && { onOpenChange })}\n >\n <RadixPopover.Trigger aria-label=\"Open popover\" asChild>\n <span\n className={classNames(styles.trigger, {\n [triggerStyles]: triggerStyles,\n })}\n >\n {trigger}\n </span>\n </RadixPopover.Trigger>\n {isPortalled ? <RadixPopover.Portal>{content}</RadixPopover.Portal> : content}\n </RadixPopover.Root>\n );\n\n if (isContainerSpan) {\n return (\n <span className={classNames({ [styles.container]: defaultStyling })}>{containerChild}</span>\n );\n }\n\n return <div className={classNames({ [styles.container]: defaultStyling })}>{containerChild}</div>;\n};\n\nexport default Popover;\n","/* eslint-disable max-lines */\n/* eslint-disable react/no-multi-comp */\nimport React, { useState, useMemo } from 'react';\n\nimport classNames from 'classnames';\nimport dynamic from 'next/dynamic';\nimport Trans from 'next-translate/Trans';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport Link from '../dls/Link/Link';\nimport SurahPreviewRow from '../dls/SurahPreview/SurahPreviewRow';\nimport Tabs from '../dls/Tabs/Tabs';\n\nimport styles from './ChapterAndJuzList.module.scss';\nimport ChapterAndJuzListSkeleton from './ChapterAndJuzListSkeleton';\n\nimport CaretDownIcon from '@/icons/caret-down.svg';\nimport { logButtonClick, logValueChange } from '@/utils/eventLogger';\nimport { shouldUseMinimalLayout, toLocalizedNumber } from '@/utils/locale';\nimport Chapter from 'types/Chapter';\n\nenum View {\n Surah = 'surah',\n Juz = 'juz',\n RevelationOrder = 'revelation_order',\n}\n\nconst JuzView = dynamic(() => import('./JuzView'), {\n ssr: false,\n loading: () => <ChapterAndJuzListSkeleton />,\n});\n\nconst MobilePopover = dynamic(() => import('@/dls/Popover/HoverablePopover'), {\n ssr: false,\n});\n\nconst RevelationOrderView = dynamic(() => import('./RevelationOrderView'), {\n ssr: false,\n loading: () => <ChapterAndJuzListSkeleton />,\n});\n\ntype ChapterAndJuzListProps = {\n chapters: Chapter[];\n};\n\nenum Sort {\n ASC = 'ascending',\n DESC = 'descending',\n}\n\nconst MOST_VISITED_CHAPTERS = {\n 1: true,\n 2: true,\n 3: true,\n 4: true,\n 18: true,\n 32: true,\n 36: true,\n 55: true,\n 56: true,\n 67: true,\n};\n\nconst ChapterAndJuzList: React.FC<ChapterAndJuzListProps> = ({\n chapters,\n}: ChapterAndJuzListProps) => {\n const { t, lang } = useTranslation();\n const [view, setView] = useState(View.Surah);\n const [sortBy, setSortBy] = useState(Sort.ASC);\n\n const onSort = () => {\n setSortBy((prevValue) => {\n const newValue = prevValue === Sort.DESC ? Sort.ASC : Sort.DESC;\n // eslint-disable-next-line i18next/no-literal-string\n logValueChange(`homepage_${view}_sorting`, prevValue, newValue);\n return newValue;\n });\n };\n\n const tabs = useMemo(\n () => [\n { title: t(`common:${View.Surah}`), value: View.Surah },\n { title: t(`common:${View.Juz}`), value: View.Juz, id: 'juz-tab' },\n { title: t(`common:${View.RevelationOrder}`), value: View.RevelationOrder },\n ],\n [t],\n );\n\n const sortedChapters = useMemo(\n () =>\n sortBy === Sort.DESC\n ? chapters.slice().sort((a, b) => Number(b.id) - Number(a.id))\n : chapters,\n [sortBy, chapters],\n );\n\n const onTabSelected = (newView) => {\n // eslint-disable-next-line i18next/no-literal-string\n logButtonClick(`homepage_${newView}_tab`);\n setView(newView as View);\n };\n\n return (\n <>\n <div className={styles.tabsContainer}>\n <Tabs tabs={tabs} selected={view} onSelect={onTabSelected} />\n <div className={styles.sorter}>\n <div className={styles.uppercase}>{t('common:sort.by')}:</div>\n <div\n className={styles.sortByValue}\n onClick={onSort}\n role=\"button\"\n onKeyPress={onSort}\n tabIndex={0}\n >\n <span>{t(`common:sort.${sortBy}`)}</span>\n <span className={sortBy === Sort.ASC ? styles.rotate180 : ''}>\n <CaretDownIcon />\n </span>\n </div>\n </div>\n {view === View.RevelationOrder && (\n <div className={styles.revelationOrderDisclaimer}>\n <span>\n <Trans\n i18nKey=\"home:revelation-order-disclaimer\"\n components={{\n link: (\n // eslint-disable-next-line jsx-a11y/control-has-associated-label, jsx-a11y/anchor-has-content\n <a\n href=\"https://tanzil.net/docs/revelation_order\"\n target=\"_blank\"\n rel=\"noreferrer\"\n />\n ),\n // @ts-ignore\n hover: <MobilePopover isContainerSpan content={t('common:pbuh')} />,\n }}\n />\n </span>\n </div>\n )}\n </div>\n <div\n className={classNames({\n [styles.surahLayout]: view === View.Surah || view === View.RevelationOrder,\n [styles.juzLayout]: view === View.Juz,\n })}\n >\n {view === View.Surah &&\n sortedChapters.map((chapter) => (\n <div className={styles.chapterContainer} key={chapter.id}>\n <Link\n href={`/${chapter.id}`}\n shouldPrefetch={MOST_VISITED_CHAPTERS[Number(chapter.id)] === true}\n >\n <SurahPreviewRow\n chapterId={Number(chapter.id)}\n description={`${toLocalizedNumber(chapter.versesCount, lang)} ${t(\n 'common:ayahs',\n )}`}\n surahName={chapter.transliteratedName}\n surahNumber={Number(chapter.id)}\n translatedSurahName={chapter.translatedName as string}\n isMinimalLayout={shouldUseMinimalLayout(lang)}\n />\n </Link>\n </div>\n ))}\n {view === View.Juz && <JuzView isDescending={sortBy === Sort.DESC} />}\n {view === View.RevelationOrder && (\n <RevelationOrderView isDescending={sortBy === Sort.DESC} chapters={chapters} />\n )}\n </div>\n </>\n );\n};\n\nexport default ChapterAndJuzList;\n","import Skeleton from '../dls/Skeleton/Skeleton';\n\nimport styles from './ChapterAndJuzListSkeleton.module.scss';\n\nconst CHAPTERS_COUNT = 114;\nconst chaptersArr = Array(CHAPTERS_COUNT).fill(null);\n\nconst ChapterAndJuzListSkeleton = () => {\n return (\n <span className={styles.skeletonContainer}>\n <div className={styles.tabSkeleton}>\n <Skeleton isActive isSquared className={styles.firstTabSkeleton} />\n <Skeleton isActive isSquared className={styles.secondTabSkeleton} />\n </div>\n {chaptersArr.map((k, i) => (\n <Skeleton\n // eslint-disable-next-line react/no-array-index-key\n key={`skeleton_${i}`}\n isActive\n isSquared\n className={styles.skeletonItem}\n />\n ))}\n </span>\n );\n};\n\nexport default ChapterAndJuzListSkeleton;\n","import React from 'react';\n\nimport Button, { ButtonShape, ButtonSize, ButtonType, ButtonVariant } from '@/dls/Button/Button';\nimport { logButtonClick } from '@/utils/eventLogger';\n\ninterface Props {\n slug: string;\n text: string;\n logKey: string;\n className?: string;\n isExternalLink?: boolean;\n}\n\nconst QuickLink: React.FC<Props> = ({ text, slug, className, logKey, isExternalLink = false }) => (\n <Button\n size={ButtonSize.Small}\n className={className}\n href={isExternalLink ? slug : `/${slug}`}\n type={ButtonType.Secondary}\n variant={ButtonVariant.Compact}\n shape={ButtonShape.Pill}\n onClick={() => {\n logButtonClick(`quick_link_${logKey}`);\n }}\n {...(isExternalLink && { isNewTab: true })}\n >\n {text}\n </Button>\n);\n\nexport default QuickLink;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport QuickLink from './QuickLink';\nimport styles from './QuickLinks.module.scss';\n\nimport { isLoggedIn } from '@/utils/auth/login';\n\nconst isProduction = process.env.NEXT_PUBLIC_VERCEL_ENV === 'production';\n\nconst QUICK_LINKS = [\n {\n slug: 'about-the-quran',\n logKey: 'about-quran',\n key: 'about-quran',\n },\n {\n slug: 'surah-al-mulk',\n logKey: 'surah-al-mulk',\n key: 'mulk',\n },\n {\n slug: 'surah-ya-sin',\n logKey: 'surah-ya-sin',\n key: 'yaseen',\n },\n {\n slug: 'surah-al-kahf',\n logKey: 'surah-al-kahf',\n key: 'kahf',\n },\n {\n slug: 'surah-al-waqiah',\n logKey: 'surah-al-waqiah',\n key: 'waqiah',\n },\n];\n\n// TODO: this is temporary and needs to be updated.\nif (isLoggedIn() && isProduction) {\n QUICK_LINKS.push({\n slug: 'collections/the-authority-and-importance-of-the-sunnah-clem7p7lf15921610rsdk4xzulfj',\n key: 'sunnah',\n logKey: 'sunnah_collection',\n });\n}\n\nconst QuickLinks: React.FC = () => {\n const { t } = useTranslation('quick-links');\n\n return (\n <div className={styles.quickLinksContainer}>\n {QUICK_LINKS.map((quickLink) => (\n <QuickLink\n key={quickLink.slug}\n slug={quickLink.slug}\n logKey={quickLink.logKey}\n text={t(quickLink.key)}\n className={styles.link}\n />\n ))}\n </div>\n );\n};\n\nexport default QuickLinks;\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 SvgLearningPlan = function SvgLearningPlan(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 15,\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.2 1h-.023c-.308 0-.573 0-.79.02-.231.023-.459.071-.67.201a1.5 1.5 0 0 0-.496.495c-.13.212-.178.44-.2.67C2 2.604 2 2.87 2 3.177V11.823c0 .308 0 .573.02.79.023.231.071.459.201.67a1.5 1.5 0 0 0 .495.496c.212.13.44.178.67.2.218.021.483.021.791.021H10.823c.308 0 .573 0 .79-.02.231-.023.459-.071.67-.201a1.5 1.5 0 0 0 .496-.495c.13-.212.178-.44.2-.67.021-.218.021-.483.021-.791V3.177c0-.308 0-.573-.02-.79a1.519 1.519 0 0 0-.201-.67 1.5 1.5 0 0 0-.495-.496 1.519 1.519 0 0 0-.67-.2A8.997 8.997 0 0 0 10.823 1H4.2Zm-.961 1.074c.028-.018.085-.043.242-.058C3.645 2.001 3.863 2 4.2 2h6.6c.337 0 .555 0 .72.016.156.015.213.04.241.058a.5.5 0 0 1 .165.165c.018.028.043.085.058.242.015.164.016.382.016.719v8.6c0 .337 0 .555-.016.72-.015.156-.04.213-.058.241a.5.5 0 0 1-.165.165c-.028.018-.085.043-.242.058A8.534 8.534 0 0 1 10.8 13H4.2c-.337 0-.555 0-.72-.016-.156-.015-.213-.04-.241-.058a.5.5 0 0 1-.165-.165c-.018-.028-.043-.085-.058-.242A8.558 8.558 0 0 1 3 11.8V3.2c0-.337 0-.555.016-.72.015-.156.04-.213.058-.241a.5.5 0 0 1 .165-.165ZM5 10a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1H5Zm-.5-2.5A.5.5 0 0 1 5 7h5a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5ZM5 4a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1H5Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })));\n};\nexport default SvgLearningPlan;","import React, { useCallback } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\nimport { useDispatch } from 'react-redux';\n\nimport styles from './CommandBarTrigger.module.scss';\n\n// import TarteelVoiceSearchTrigger from '@/components/TarteelVoiceSearch/Trigger';\nimport KeyboardInput from '@/dls/KeyboardInput';\nimport IconSearch from '@/icons/search.svg';\nimport { toggleIsOpen } from '@/redux/slices/CommandBar/state';\nimport { logButtonClick } from '@/utils/eventLogger';\n\nconst CommandBarTrigger: React.FC = () => {\n const { t } = useTranslation('common');\n const dispatch = useDispatch();\n const onClick = useCallback(() => {\n logButtonClick('command_bar_homepage_trigger');\n dispatch({ type: toggleIsOpen.type });\n }, [dispatch]);\n\n return (\n <div\n role=\"button\"\n // onKeyPress={onClick}\n tabIndex={0}\n className={styles.container}\n onClick={onClick}\n key=\"commandbar-trigger\"\n id=\"command-bar\"\n >\n <div className={styles.leftSection}>\n <IconSearch />\n <span className={styles.placeholder}>{t('command-bar.placeholder')}</span>\n </div>\n <div className={styles.actionsContainer}>\n <KeyboardInput meta keyboardKey=\"K\" />\n </div>\n </div>\n );\n};\n\nexport default CommandBarTrigger;\n","import dynamic from 'next/dynamic';\nimport Head from 'next/head';\n\nimport styles from './HomePageHero.module.scss';\nimport QuickLinks from './QuickLinks';\n\nimport CommandBarTrigger from '@/components/CommandBar/CommandBarTrigger';\n\nconst PlayRadioButton = dynamic(() => import('./PlayRadioButton'));\n\nconst HomePageHero = () => {\n return (\n <div className={styles.outerContainer}>\n <Head>\n <link rel=\"preload\" as=\"image\" href=\"/images/background.jpg\" />\n </Head>\n <div className={styles.backgroundImage} />\n <div data-theme=\"light\">\n <PlayRadioButton />\n <div className={styles.innerContainer}>\n <CommandBarTrigger />\n <div className={styles.quickLinksContainer}>\n <QuickLinks />\n </div>\n </div>\n </div>\n </div>\n );\n};\nexport default HomePageHero;\n","import React from 'react';\n\nimport styles from './CollapsibleTitle.module.scss';\n\nimport IconContainer from '@/dls/IconContainer/IconContainer';\n\ntype Props = {\n title: string;\n icon: React.ReactNode;\n};\n\nconst CollapsibleTitle: React.FC<Props> = ({ title, icon }) => {\n return (\n <div className={styles.container}>\n <IconContainer\n className={styles.iconContainer}\n shouldForceSetColors={false}\n icon={icon}\n shouldFlipOnRTL={false}\n />\n {title}\n </div>\n );\n};\n\nexport default CollapsibleTitle;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\nimport useSWRImmutable from 'swr/immutable';\n\nimport styles from './LearningPlans.module.scss';\n\nimport { getUserCoursesCount } from '@/utils/auth/api';\nimport { makeGetUserCoursesCountUrl } from '@/utils/auth/apiPaths';\nimport { isLoggedIn } from '@/utils/auth/login';\n\nconst LearningPlans = () => {\n const { t } = useTranslation('home');\n\n const { data, isValidating, error } = useSWRImmutable(\n isLoggedIn() ? makeGetUserCoursesCountUrl() : null,\n async () => {\n const response = await getUserCoursesCount();\n return response;\n },\n );\n\n if (!isLoggedIn()) {\n return <p className={styles.desc}>{t('qgj.learning-plans.desc.logged-out')}</p>;\n }\n\n /**\n * If we are loading, or if we have an error, or if we have no data, we show the message\n */\n if ((isValidating && !data) || error || (data?.count ?? 0) === 0) {\n return <p className={styles.desc}>{t('qgj.learning-plans.desc.logged-in-no-plans')}</p>;\n }\n // user has at least 1 plan\n return <p className={styles.desc}>{t('qgj.learning-plans.desc.logged-in')}</p>;\n};\n\nexport default LearningPlans;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\nimport useSWRImmutable from 'swr/immutable';\n\nimport styles from './CallToActionButtons.module.scss';\n\nimport Button, { ButtonSize, ButtonType } from '@/dls/Button/Button';\nimport { getUserCoursesCount } from '@/utils/auth/api';\nimport { makeGetUserCoursesCountUrl } from '@/utils/auth/apiPaths';\nimport { isLoggedIn } from '@/utils/auth/login';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport { getCoursesNavigationUrl, getMyCoursesNavigationUrl } from '@/utils/navigation';\n\nconst LearningPlansButtons = () => {\n const { t } = useTranslation('home');\n const { data, isValidating, error } = useSWRImmutable(\n isLoggedIn() ? makeGetUserCoursesCountUrl() : null,\n async () => {\n const response = await getUserCoursesCount();\n return response;\n },\n );\n\n const onViewPlansButtonClicked = (e) => {\n // don't toggle collapsible parent when clicking\n e.stopPropagation();\n logButtonClick('homepage_qgj_view_plans');\n };\n\n const onMyPlansButtonClicked = (e) => {\n e.stopPropagation();\n logButtonClick('homepage_qgj_my_plans');\n };\n\n const viewPlansButton = (\n <Button\n onClick={onViewPlansButtonClicked}\n href={getCoursesNavigationUrl()}\n className={styles.viewPlansBtn}\n size={ButtonSize.Small}\n type={ButtonType.Success}\n >\n {t('qgj.learning-plans.cta.all-plans')}\n </Button>\n );\n\n if (!isLoggedIn()) {\n return <div className={styles.buttonsContainer}>{viewPlansButton}</div>;\n }\n\n /**\n * If we are loading, or if we have an error, or if we have no data, we show the message\n */\n if ((isValidating && !data) || error || (data?.count ?? 0) === 0) {\n return <div className={styles.buttonsContainer}>{viewPlansButton}</div>;\n }\n\n // user has already 1 plan\n return (\n <div className={styles.buttonsContainer}>\n {viewPlansButton}\n <Button\n onClick={onMyPlansButtonClicked}\n href={getMyCoursesNavigationUrl()}\n size={ButtonSize.Small}\n type={ButtonType.Success}\n >\n {t('qgj.learning-plans.cta.my-plans')}\n </Button>\n </div>\n );\n};\n\nexport default LearningPlansButtons;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './GoalButtons.module.scss';\n\nimport Button, { ButtonSize, ButtonType, ButtonVariant } from '@/dls/Button/Button';\nimport { CurrentQuranActivityDay } from '@/types/auth/ActivityDay';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport {\n getChapterWithStartingVerseUrl,\n getReadingGoalProgressNavigationUrl,\n} from '@/utils/navigation';\n\ntype Props = {\n nextVerseToRead: string;\n currentActivityDay: CurrentQuranActivityDay;\n};\n\nconst GoalButtons: React.FC<Props> = ({ nextVerseToRead, currentActivityDay }) => {\n const { t } = useTranslation('reading-goal');\n const onViewProgressClick = (e) => {\n // don't toggle collapsible parent when clicking\n e.stopPropagation();\n logButtonClick('homepage_streak_widget_view_progress');\n };\n\n const onContinueReadingClick = (e) => {\n // don't toggle collapsible parent when clicking\n e.stopPropagation();\n logButtonClick('homepage_streak_widget_continue_reading', {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n verse_key: nextVerseToRead,\n });\n };\n\n return (\n <div className={styles.actionsContainer}>\n <Button\n href={nextVerseToRead ? getChapterWithStartingVerseUrl(nextVerseToRead) : undefined}\n isDisabled={!nextVerseToRead}\n onClick={onContinueReadingClick}\n size={ButtonSize.Small}\n type={ButtonType.Success}\n >\n {t(currentActivityDay?.ranges.length ? 'continue-reading' : 'start-reading')}\n </Button>\n <Button\n variant={ButtonVariant.Ghost}\n size={ButtonSize.Small}\n href={getReadingGoalProgressNavigationUrl()}\n onClick={onViewProgressClick}\n >\n {t('view-progress')}\n </Button>\n </div>\n );\n};\n\nexport default GoalButtons;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './CallToActionButtons.module.scss';\n\nimport GoalButtons from '@/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/QuranReadingGoals/GoalButtons';\nimport Button, { ButtonSize, ButtonType } from '@/dls/Button/Button';\nimport useGetRecentlyReadVerseKeys from '@/hooks/auth/useGetRecentlyReadVerseKeys';\nimport useGetStreakWithMetadata from '@/hooks/auth/useGetStreakWithMetadata';\nimport { isLoggedIn } from '@/utils/auth/login';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport { getLoginNavigationUrl, getReadingGoalNavigationUrl } from '@/utils/navigation';\n\nconst QuranGoalsButtons = () => {\n const { t } = useTranslation('reading-goal');\n const { goal, currentActivityDay } = useGetStreakWithMetadata({\n disableIfNoGoalExists: false,\n });\n const { recentlyReadVerseKeys } = useGetRecentlyReadVerseKeys();\n\n const nextVerseToRead = goal?.progress?.nextVerseToRead ?? recentlyReadVerseKeys[0];\n\n const onCreateReadingGoalClick = (e) => {\n // don't toggle collapsible parent when clicking\n e.stopPropagation();\n logButtonClick('homepage_qgj_create_goal');\n };\n\n if (goal) {\n return (\n <GoalButtons nextVerseToRead={nextVerseToRead} currentActivityDay={currentActivityDay} />\n );\n }\n\n const url = getReadingGoalNavigationUrl();\n\n return (\n <div className={styles.buttonsContainer}>\n <Button\n onClick={onCreateReadingGoalClick}\n size={ButtonSize.Small}\n type={ButtonType.Success}\n href={isLoggedIn() ? url : getLoginNavigationUrl(url)}\n >\n {t('create-reading-goal')}\n </Button>\n </div>\n );\n};\n\nexport default QuranGoalsButtons;\n","/* eslint-disable jsx-a11y/control-has-associated-label */\nimport { useState } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport DayCircle, { DayState } from '../DayCircle';\n\nimport styles from './StreakDefinitionModal.module.scss';\n\nimport Modal from '@/dls/Modal/Modal';\nimport QuestionMarkIcon from '@/icons/help-circle.svg';\n\nconst states = [\n {\n state: DayState.None,\n label: 'none',\n },\n {\n state: DayState.Stroked,\n label: 'stroked',\n },\n {\n state: DayState.Filled,\n label: 'filled',\n },\n {\n state: DayState.Checked,\n label: 'checked',\n },\n];\n\nconst StreakDefinitionModal = () => {\n const { t } = useTranslation('reading-goal');\n const [open, setOpen] = useState(false);\n\n const onOpen = () => setOpen(true);\n const onClose = () => setOpen(false);\n\n return (\n <>\n <button type=\"button\" className={styles.button} onClick={onOpen}>\n <QuestionMarkIcon />\n </button>\n\n <Modal isOpen={open} onClickOutside={onClose} onEscapeKeyDown={onClose}>\n <Modal.Body>\n <Modal.Header>\n <Modal.Title>{t('streak')}</Modal.Title>\n <Modal.Subtitle>{t('streak-definition')}</Modal.Subtitle>\n </Modal.Header>\n\n <div className={styles.timelineSection}>\n <h2>{t('timeline-meaning')}</h2>\n <ul>\n {states.map(({ state, label }) => (\n <li key={label}>\n <div className={styles.dayCircleWrapper}>\n <DayCircle state={state} />\n </div>\n <span>{t(`timeline-states.${label}`)}</span>\n </li>\n ))}\n </ul>\n </div>\n </Modal.Body>\n </Modal>\n </>\n );\n};\n\nexport default StreakDefinitionModal;\n","import React from 'react';\n\nimport classNames from 'classnames';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './DaysCounter.module.scss';\n\nimport StreakDefinitionModal from '@/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/QuranReadingGoals/StreakDefinitionModal';\nimport { toLocalizedNumber } from '@/utils/locale';\n\ntype Props = {\n streak: number;\n // TODO: strongly type this\n currentActivityDay: any;\n};\n\nconst DaysCounter: React.FC<Props> = ({ streak, currentActivityDay }) => {\n const { t, lang } = useTranslation('reading-goal');\n const localizedStreak = toLocalizedNumber(streak, lang);\n const hasUserReadToday = currentActivityDay?.hasRead;\n return (\n <div\n className={classNames(\n styles.streakTitle,\n !hasUserReadToday && streak > 0 && styles.streakTitleWarning,\n )}\n >\n {t('x-days-streak', { days: localizedStreak })}\n <StreakDefinitionModal />\n </div>\n );\n};\n\nexport default DaysCounter;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport ReadingGoalAmount, {\n ReadingGoalAmountContext,\n} from '@/components/ReadingGoal/ReadingGoalAmount';\nimport { CurrentQuranActivityDay } from '@/types/auth/ActivityDay';\nimport { QuranGoalStatus } from '@/types/auth/Goal';\n\ntype Props = {\n currentActivityDay: CurrentQuranActivityDay;\n goal: QuranGoalStatus;\n percent: number;\n isQuranReader: boolean;\n};\n\nconst GoalStatus: React.FC<Props> = ({ currentActivityDay, goal, percent, isQuranReader }) => {\n const { t } = useTranslation('reading-goal');\n if (!goal) return null;\n\n if (goal.isCompleted) {\n return t('progress.goal-complete');\n }\n\n if (percent < 100) {\n return (\n <ReadingGoalAmount\n currentActivityDay={currentActivityDay}\n goal={goal}\n context={\n isQuranReader ? ReadingGoalAmountContext.QuranReader : ReadingGoalAmountContext.HomePage\n }\n />\n );\n }\n return t('progress.complete');\n};\n\nexport default GoalStatus;\n","import useTranslation from 'next-translate/useTranslation';\n\nimport CurrentWeekProgress from './CurrentWeekProgress';\nimport DaysCounter from './DaysCounter';\nimport GoalStatus from './GoalStatus';\nimport styles from './ReadingStreak.module.scss';\n\nimport Skeleton from '@/dls/Skeleton/Skeleton';\nimport useGetStreakWithMetadata from '@/hooks/auth/useGetStreakWithMetadata';\nimport { convertFractionToPercent } from '@/utils/number';\n\nconst HomePageReadingStreak = () => {\n const { t } = useTranslation('reading-goal');\n\n const { isLoading, error, streak, goal, weekData, currentActivityDay } = useGetStreakWithMetadata(\n {\n disableIfNoGoalExists: false,\n },\n );\n\n const percent = convertFractionToPercent(currentActivityDay?.progress || 0);\n\n if (error || (!isLoading && streak === 0 && !goal)) {\n return <p>{t('home:qgj.quran-reading-goals.desc.logged-out')}</p>;\n }\n\n return (\n <div>\n <div className={styles.container}>\n <>\n <div>\n <span className={styles.streakSubtitle}>{t('reading-goal-label')}</span>\n {isLoading ? (\n <Skeleton>\n <DaysCounter currentActivityDay={currentActivityDay} streak={streak} />\n </Skeleton>\n ) : (\n <DaysCounter currentActivityDay={currentActivityDay} streak={streak} />\n )}\n </div>\n <CurrentWeekProgress goal={goal} weekData={weekData} />\n </>\n </div>\n\n {goal && (\n <div className={styles.goalContainer}>\n <GoalStatus\n isQuranReader={false}\n goal={goal}\n currentActivityDay={currentActivityDay}\n percent={percent}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default HomePageReadingStreak;\n","import React, { useState } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './CollapsibleSection.module.scss';\nimport CollapsibleTitle from './CollapsibleTitle';\nimport LearningPlans from './LearningPlans';\n\nimport LearningPlansButtons from '@/components/HomePage/QuranGrowthJourneySection/CallToActionButtons/LearningPlansButtons';\nimport QuranGoalsButtons from '@/components/HomePage/QuranGrowthJourneySection/CallToActionButtons/QuranGoalsButtons';\nimport QuranReadingGoals from '@/components/HomePage/QuranGrowthJourneySection/CollapsibleSection/QuranReadingGoals';\nimport Collapsible, { CollapsibleDirection } from '@/dls/Collapsible/Collapsible';\nimport ChevronDownIcon from '@/icons/chevron-down.svg';\nimport GoalIcon from '@/icons/goal-1.svg';\nimport ReaderIcon from '@/icons/learning-plan.svg';\n\nexport enum CollapsibleType {\n QuranReadingGoalsType = 'quran_reading_goals',\n LearningPlansType = 'learning_plans',\n}\n\ntype Props = {\n type: CollapsibleType;\n onOpenChange: (collapsibleType: CollapsibleType, isOpen: boolean) => void;\n};\n\nconst CollapsibleSection: React.FC<Props> = ({ onOpenChange, type }) => {\n const { t } = useTranslation('home');\n const [isOpen, setIsOpen] = useState(false);\n return (\n <div className={styles.container}>\n <Collapsible\n direction={CollapsibleDirection.Right}\n onOpenChange={(newIsOpen: boolean) => {\n setIsOpen(newIsOpen);\n onOpenChange(type, isOpen);\n }}\n shouldOpen={isOpen}\n title={\n type === CollapsibleType.QuranReadingGoalsType ? (\n <div>\n <CollapsibleTitle title={t('qgj.quran-reading-goals.title')} icon={<GoalIcon />} />\n <QuranGoalsButtons />\n </div>\n ) : (\n <div>\n <CollapsibleTitle title={t('qgj.learning-plans.title')} icon={<ReaderIcon />} />\n <LearningPlansButtons />\n </div>\n )\n }\n prefix={\n <div className={styles.prefixSVG}>\n <ChevronDownIcon />\n </div>\n }\n shouldRotatePrefixOnToggle\n >\n {({ isOpen: isCollapsibleOpen }) => {\n if (!isCollapsibleOpen) return null;\n return (\n <div className={styles.body}>\n {type === CollapsibleType.QuranReadingGoalsType ? (\n <QuranReadingGoals />\n ) : (\n <LearningPlans />\n )}\n </div>\n );\n }}\n </Collapsible>\n </div>\n );\n};\n\nexport default CollapsibleSection;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport CollapsibleSection, { CollapsibleType } from './CollapsibleSection';\nimport styles from './QuranGrowthJourneySection.module.scss';\n\nimport MoonIllustrationSVG from '@/public/images/moon-illustration.svg';\nimport { logEvent } from '@/utils/eventLogger';\n\nconst QuranGrowthJourneySection = () => {\n const { t } = useTranslation('home');\n\n const logOpenChange = (collapsibleType: CollapsibleType, isOpen: boolean) => {\n if (isOpen) {\n logEvent(`homepage_${collapsibleType}_collapse_opened`);\n } else {\n logEvent(`homepage_${collapsibleType}_collapse_closed`);\n }\n };\n\n return (\n <div className={styles.wrapper} id=\"qgj-widget\">\n <div className={styles.illustrationContainer}>\n <MoonIllustrationSVG />\n </div>\n <div className={styles.header}>\n <p className={styles.title}>{t('qgj.title')}</p>\n </div>\n <CollapsibleSection\n onOpenChange={logOpenChange}\n type={CollapsibleType.QuranReadingGoalsType}\n />\n <CollapsibleSection onOpenChange={logOpenChange} type={CollapsibleType.LearningPlansType} />\n </div>\n );\n};\n\nexport default QuranGrowthJourneySection;\n","import React from 'react';\n\nimport Trans from 'next-translate/Trans';\n\nimport styles from './RamadanActivitiesSection.module.scss';\n\nimport Link, { LinkVariant } from '@/dls/Link/Link';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport { getQuranicCalendarNavigationUrl } from '@/utils/navigation';\n\nconst RamadanActivitiesSection = () => {\n const onLinkClicked = () => {\n logButtonClick('homepage_quranic_calendar_cta');\n };\n\n return (\n <div className={styles.container}>\n <p className={styles.cta}>\n <Trans\n components={{\n link: (\n <Link\n onClick={onLinkClicked}\n href={getQuranicCalendarNavigationUrl()}\n variant={LinkVariant.Blend}\n isNewTab\n />\n ),\n }}\n i18nKey=\"home:ramadan-activities-cta\"\n values={{ source: 'quranwbw' }}\n />\n </p>\n </div>\n );\n};\n\nexport default RamadanActivitiesSection;\n","/* eslint-disable react/no-multi-comp */\nimport React from 'react';\n\nimport classNames from 'classnames';\nimport { NextPage, GetStaticProps } from 'next';\nimport Head from 'next/head';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './index.module.scss';\n\nimport ChapterAndJuzListWrapper from '@/components/chapters/ChapterAndJuzList';\nimport HomePageHero from '@/components/HomePage/HomePageHero';\nimport QuranGrowthJourneySection from '@/components/HomePage/QuranGrowthJourneySection';\nimport RamadanActivitiesSection from '@/components/HomePage/RamadanActivitiesSection';\nimport NextSeoWrapper from '@/components/NextSeoWrapper';\nimport BookmarksAndCollectionsSection from '@/components/Verses/BookmarksAndCollectionsSection';\nimport { getAllChaptersData } from '@/utils/chapter';\nimport { getLanguageAlternates } from '@/utils/locale';\nimport { getCanonicalUrl } from '@/utils/navigation';\nimport { ChaptersResponse } from 'types/ApiResponses';\nimport ChaptersData from 'types/ChaptersData';\n\ntype IndexProps = {\n chaptersResponse: ChaptersResponse;\n chaptersData: ChaptersData;\n};\n\nconst Index: NextPage<IndexProps> = ({ chaptersResponse: { chapters } }): JSX.Element => {\n const { t, lang } = useTranslation('home');\n return (\n <>\n <Head>\n <link rel=\"preload\" as=\"image\" href=\"/images/background.jpg\" crossOrigin=\"anonymous\" />\n </Head>\n <NextSeoWrapper\n title={t('home:noble-quran')}\n url={getCanonicalUrl(lang, '')}\n languageAlternates={getLanguageAlternates('')}\n />\n <div className={styles.pageContainer}>\n <div className={styles.flow}>\n <HomePageHero />\n <div className={classNames(styles.flowItem, styles.fullWidth)}>\n <RamadanActivitiesSection />\n </div>\n <div className={classNames(styles.flowItem, styles.fullWidth)}>\n <QuranGrowthJourneySection />\n </div>\n <div className={classNames(styles.flowItem, styles.fullWidth)}>\n <BookmarksAndCollectionsSection isHomepage />\n </div>\n <div className={styles.flowItem}>\n <ChapterAndJuzListWrapper chapters={chapters} />\n </div>\n </div>\n </div>\n </>\n );\n};\n\nexport const getStaticProps: GetStaticProps = async ({ locale }) => {\n const allChaptersData = await getAllChaptersData(locale);\n\n return {\n props: {\n chaptersData: allChaptersData,\n chaptersResponse: {\n chapters: Object.keys(allChaptersData).map((chapterId) => {\n const chapterData = allChaptersData[chapterId];\n return { ...chapterData, id: Number(chapterId) };\n }),\n },\n },\n };\n};\n\nexport default Index;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"leftSection\":\"CommandBarTrigger_leftSection__P7gdV\",\"placeholder\":\"CommandBarTrigger_placeholder__tW_M9\",\"container\":\"CommandBarTrigger_container__g1Ziu\",\"actionsContainer\":\"CommandBarTrigger_actionsContainer__cN9E2\",\"searchButtonWrapper\":\"CommandBarTrigger_searchButtonWrapper__e5_5c\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"outerContainer\":\"HomePageHero_outerContainer__iOY2Z\",\"backgroundImage\":\"HomePageHero_backgroundImage__iQe4N\",\"innerContainer\":\"HomePageHero_innerContainer__2eeX_\",\"imageContainer\":\"HomePageHero_imageContainer__XIIR0\",\"quickLinksContainer\":\"HomePageHero_quickLinksContainer__dLOws\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"QuickLinks_header__7j1nm\",\"quickLinksContainer\":\"QuickLinks_quickLinksContainer__azLk0\",\"link\":\"QuickLinks_link__GzlyR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"viewPlansBtn\":\"CallToActionButtons_viewPlansBtn__z44Sp\",\"buttonsContainer\":\"CallToActionButtons_buttonsContainer__V05v8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CollapsibleSection_container__UaKmj\",\"body\":\"CollapsibleSection_body__Lvq2b\",\"prefixSVG\":\"CollapsibleSection_prefixSVG__YjDGa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CollapsibleTitle_container__EKu3L\",\"iconContainer\":\"CollapsibleTitle_iconContainer__lf_ZO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"desc\":\"LearningPlans_desc__kK8C_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"streakTitle\":\"DaysCounter_streakTitle__4zv5R\",\"streakTitleWarning\":\"DaysCounter_streakTitleWarning__uxmVK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"actionsContainer\":\"GoalButtons_actionsContainer__q9LeA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"StreakDefinitionModal_button__2f9cU\",\"timelineSection\":\"StreakDefinitionModal_timelineSection__12Kt0\",\"dayCircleWrapper\":\"StreakDefinitionModal_dayCircleWrapper__v_qbx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"QuranGrowthJourneySection_wrapper__OhnGO\",\"header\":\"QuranGrowthJourneySection_header__YzSYn\",\"title\":\"QuranGrowthJourneySection_title__p5KVY\",\"illustrationContainer\":\"QuranGrowthJourneySection_illustrationContainer__JXuD_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"RamadanActivitiesSection_container__TXNG4\",\"illustrationContainer\":\"RamadanActivitiesSection_illustrationContainer__lZFOK\",\"cta\":\"RamadanActivitiesSection_cta__cAwDT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"surahLayout\":\"ChapterAndJuzList_surahLayout__ZZ82j\",\"chapterContainer\":\"ChapterAndJuzList_chapterContainer__uVZ3E\",\"juzLayout\":\"ChapterAndJuzList_juzLayout__ejXgD\",\"tabsContainer\":\"ChapterAndJuzList_tabsContainer__3Nm7e\",\"sorter\":\"ChapterAndJuzList_sorter__EiaST\",\"sortByValue\":\"ChapterAndJuzList_sortByValue__FQ2LI\",\"rotate180\":\"ChapterAndJuzList_rotate180__88gQX\",\"loadingContainer\":\"ChapterAndJuzList_loadingContainer__jvwrw\",\"uppercase\":\"ChapterAndJuzList_uppercase__0CxpO\",\"revelationOrderDisclaimer\":\"ChapterAndJuzList_revelationOrderDisclaimer__ymzfy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"skeletonContainer\":\"ChapterAndJuzListSkeleton_skeletonContainer__e0MkS\",\"skeletonItem\":\"ChapterAndJuzListSkeleton_skeletonItem__UFUNI\",\"tabSkeleton\":\"ChapterAndJuzListSkeleton_tabSkeleton__9WGKQ\",\"firstTabSkeleton\":\"ChapterAndJuzListSkeleton_firstTabSkeleton__5RGyO\",\"secondTabSkeleton\":\"ChapterAndJuzListSkeleton_secondTabSkeleton__gSzub\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"Collapsible_header__CmhJq\",\"headerLeft\":\"Collapsible_headerLeft__Xh00n\",\"prefixContainer\":\"Collapsible_prefixContainer__AVHUT\",\"prefixRotated\":\"Collapsible_prefixRotated__bjKLn\",\"suffixContainer\":\"Collapsible_suffixContainer__uZ1IW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"IconContainer_container__kS6o8\",\"defaultColor\":\"IconContainer_defaultColor__jGhPh\",\"secondaryColor\":\"IconContainer_secondaryColor__KDGmK\",\"xsmallIcon\":\"IconContainer_xsmallIcon__QIQZu\",\"smallIcon\":\"IconContainer_smallIcon__slfID\",\"mediumIcon\":\"IconContainer_mediumIcon__WGpBm\",\"largeIcon\":\"IconContainer_largeIcon__oO0B9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"KeyboardInput_container__Zwe4F\",\"invertedColors\":\"KeyboardInput_invertedColors__2s3F3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Popover_container__GOha0\",\"trigger\":\"Popover_trigger__qKXNN\",\"content\":\"Popover_content__gu5L4\",\"tooltipContent\":\"Popover_tooltipContent__AMPpT\"};","import $73KQ4$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $73KQ4$forwardRef, createElement as $73KQ4$createElement, useCallback as $73KQ4$useCallback, useState as $73KQ4$useState, useRef as $73KQ4$useRef, useEffect as $73KQ4$useEffect} from \"react\";\nimport {composeEventHandlers as $73KQ4$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {createContextScope as $73KQ4$createContextScope} from \"@radix-ui/react-context\";\nimport {useControllableState as $73KQ4$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {useLayoutEffect as $73KQ4$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\nimport {useComposedRefs as $73KQ4$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {Primitive as $73KQ4$Primitive} from \"@radix-ui/react-primitive\";\nimport {Presence as $73KQ4$Presence} from \"@radix-ui/react-presence\";\nimport {useId as $73KQ4$useId} from \"@radix-ui/react-id\";\n\n\n\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Collapsible\n * -----------------------------------------------------------------------------------------------*/ const $409067139f391064$var$COLLAPSIBLE_NAME = 'Collapsible';\nconst [$409067139f391064$var$createCollapsibleContext, $409067139f391064$export$952b32dcbe73087a] = $73KQ4$createContextScope($409067139f391064$var$COLLAPSIBLE_NAME);\nconst [$409067139f391064$var$CollapsibleProvider, $409067139f391064$var$useCollapsibleContext] = $409067139f391064$var$createCollapsibleContext($409067139f391064$var$COLLAPSIBLE_NAME);\nconst $409067139f391064$export$6eb0f7ddcda6131f = /*#__PURE__*/ $73KQ4$forwardRef((props, forwardedRef)=>{\n const { __scopeCollapsible: __scopeCollapsible , open: openProp , defaultOpen: defaultOpen , disabled: disabled , onOpenChange: onOpenChange , ...collapsibleProps } = props;\n const [open = false, setOpen] = $73KQ4$useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /*#__PURE__*/ $73KQ4$createElement($409067139f391064$var$CollapsibleProvider, {\n scope: __scopeCollapsible,\n disabled: disabled,\n contentId: $73KQ4$useId(),\n open: open,\n onOpenToggle: $73KQ4$useCallback(()=>setOpen((prevOpen)=>!prevOpen\n )\n , [\n setOpen\n ])\n }, /*#__PURE__*/ $73KQ4$createElement($73KQ4$Primitive.div, $73KQ4$babelruntimehelpersesmextends({\n \"data-state\": $409067139f391064$var$getState(open),\n \"data-disabled\": disabled ? '' : undefined\n }, collapsibleProps, {\n ref: forwardedRef\n })));\n});\n/*#__PURE__*/ Object.assign($409067139f391064$export$6eb0f7ddcda6131f, {\n displayName: $409067139f391064$var$COLLAPSIBLE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * CollapsibleTrigger\n * -----------------------------------------------------------------------------------------------*/ const $409067139f391064$var$TRIGGER_NAME = 'CollapsibleTrigger';\nconst $409067139f391064$export$c135dce7b15bbbdc = /*#__PURE__*/ $73KQ4$forwardRef((props, forwardedRef)=>{\n const { __scopeCollapsible: __scopeCollapsible , ...triggerProps } = props;\n const context = $409067139f391064$var$useCollapsibleContext($409067139f391064$var$TRIGGER_NAME, __scopeCollapsible);\n return /*#__PURE__*/ $73KQ4$createElement($73KQ4$Primitive.button, $73KQ4$babelruntimehelpersesmextends({\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": $409067139f391064$var$getState(context.open),\n \"data-disabled\": context.disabled ? '' : undefined,\n disabled: context.disabled\n }, triggerProps, {\n ref: forwardedRef,\n onClick: $73KQ4$composeEventHandlers(props.onClick, context.onOpenToggle)\n }));\n});\n/*#__PURE__*/ Object.assign($409067139f391064$export$c135dce7b15bbbdc, {\n displayName: $409067139f391064$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * CollapsibleContent\n * -----------------------------------------------------------------------------------------------*/ const $409067139f391064$var$CONTENT_NAME = 'CollapsibleContent';\nconst $409067139f391064$export$aadde00976f34151 = /*#__PURE__*/ $73KQ4$forwardRef((props, forwardedRef)=>{\n const { forceMount: forceMount , ...contentProps } = props;\n const context = $409067139f391064$var$useCollapsibleContext($409067139f391064$var$CONTENT_NAME, props.__scopeCollapsible);\n return /*#__PURE__*/ $73KQ4$createElement($73KQ4$Presence, {\n present: forceMount || context.open\n }, ({ present: present })=>/*#__PURE__*/ $73KQ4$createElement($409067139f391064$var$CollapsibleContentImpl, $73KQ4$babelruntimehelpersesmextends({}, contentProps, {\n ref: forwardedRef,\n present: present\n }))\n );\n});\n/*#__PURE__*/ Object.assign($409067139f391064$export$aadde00976f34151, {\n displayName: $409067139f391064$var$CONTENT_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $409067139f391064$var$CollapsibleContentImpl = /*#__PURE__*/ $73KQ4$forwardRef((props, forwardedRef)=>{\n const { __scopeCollapsible: __scopeCollapsible , present: present , children: children , ...contentProps } = props;\n const context = $409067139f391064$var$useCollapsibleContext($409067139f391064$var$CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = $73KQ4$useState(present);\n const ref = $73KQ4$useRef(null);\n const composedRefs = $73KQ4$useComposedRefs(forwardedRef, ref);\n const heightRef = $73KQ4$useRef(0);\n const height = heightRef.current;\n const widthRef = $73KQ4$useRef(0);\n const width = widthRef.current; // when opening we want it to immediately open to retrieve dimensions\n // when closing we delay `present` to retrieve dimensions before closing\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = $73KQ4$useRef(isOpen);\n const originalStylesRef = $73KQ4$useRef();\n $73KQ4$useEffect(()=>{\n const rAF = requestAnimationFrame(()=>isMountAnimationPreventedRef.current = false\n );\n return ()=>cancelAnimationFrame(rAF)\n ;\n }, []);\n $73KQ4$useLayoutEffect(()=>{\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n }; // block any animations/transitions so the element renders at its full dimensions\n node.style.transitionDuration = '0s';\n node.style.animationName = 'none'; // get width and height from full dimensions\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width; // kick off any animations/transitions that were originally set up if it isn't the initial mount\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n /**\n * depends on `context.open` because it will change to `false`\n * when a close is triggered but `present` will be `false` on\n * animation end (so when close finishes). This allows us to\n * retrieve the dimensions *before* closing.\n */ }, [\n context.open,\n present\n ]);\n return /*#__PURE__*/ $73KQ4$createElement($73KQ4$Primitive.div, $73KQ4$babelruntimehelpersesmextends({\n \"data-state\": $409067139f391064$var$getState(context.open),\n \"data-disabled\": context.disabled ? '' : undefined,\n id: context.contentId,\n hidden: !isOpen\n }, contentProps, {\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : undefined,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : undefined,\n ...props.style\n }\n }), isOpen && children);\n});\n/* -----------------------------------------------------------------------------------------------*/ function $409067139f391064$var$getState(open) {\n return open ? 'open' : 'closed';\n}\nconst $409067139f391064$export$be92b6f5f03c0fe9 = $409067139f391064$export$6eb0f7ddcda6131f;\nconst $409067139f391064$export$41fb9f06171c75f4 = $409067139f391064$export$c135dce7b15bbbdc;\nconst $409067139f391064$export$7c6e2c02157bb7d2 = $409067139f391064$export$aadde00976f34151;\n\n\n\n\nexport {$409067139f391064$export$952b32dcbe73087a as createCollapsibleScope, $409067139f391064$export$6eb0f7ddcda6131f as Collapsible, $409067139f391064$export$c135dce7b15bbbdc as CollapsibleTrigger, $409067139f391064$export$aadde00976f34151 as CollapsibleContent, $409067139f391064$export$be92b6f5f03c0fe9 as Root, $409067139f391064$export$41fb9f06171c75f4 as Trigger, $409067139f391064$export$7c6e2c02157bb7d2 as Content};\n//# sourceMappingURL=index.mjs.map\n"],"names":["_path","_extends","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","apply","props","viewBox","width","height","stroke","strokeWidth","strokeLinecap","strokeLinejoin","fill","shapeRendering","style","color","d","_defs","_g","_path2","_path3","_path4","_path5","_path6","_g2","xmlns","id","clipPath","strokeMiterlimit","_circle","className","cx","cy","clipRule","window","__NEXT_P","push","CollapsibleDirection","isDefaultOpen","prefix","title","suffix","children","shouldRotatePrefixOnToggle","shouldOpen","onOpenChange","direction","Left","useState","isOpen","setIsOpen","useEffect","CollapsiblePrimitive","open","asChild","div","styles","onClick","preValue","classNames","preventDefault","stopPropagation","IconColor","default","primary","secondary","IconSize","icon","size","Medium","shouldFlipOnRTL","shouldForceSetColors","dir","useDirection","span","Xsmall","Small","Large","data-auto-flip-icon","keyboardKey","meta","shift","alt","ctrl","invertColors","isMacOs","navigator","userAgent","search","kbd","content","contentSide","ContentSide","tip","tooltipDelay","defaultStyling","triggerStyles","isContainerSpan","Popover","useTooltipStyles","trigger","Tooltip","text","delay","ContentAlign","isModal","BOTTOM","contentAlign","CENTER","avoidCollisions","isPortalled","contentSideOffset","contentStyles","RadixPopover","sideOffset","side","align","containerChild","modal","aria-label","chaptersArr","Array","Skeleton","isActive","isSquared","map","k","i","View","JuzView","dynamic","ssr","loading","ChapterAndJuzListSkeleton","MobilePopover","RevelationOrderView","Sort","MOST_VISITED_CHAPTERS","chapters","useTranslation","lang","Surah","view","setView","ASC","sortBy","setSortBy","onSort","prevValue","newValue","DESC","logValueChange","tabs","useMemo","value","Juz","RevelationOrder","sortedChapters","slice","sort","a","b","Number","Tabs","selected","onSelect","newView","logButtonClick","role","onKeyPress","tabIndex","CaretDownIcon","Trans","i18nKey","components","link","href","target","rel","hover","chapter","Link","shouldPrefetch","SurahPreviewRow","chapterId","description","toLocalizedNumber","versesCount","surahName","transliteratedName","surahNumber","translatedSurahName","translatedName","isMinimalLayout","shouldUseMinimalLayout","isDescending","slug","logKey","isExternalLink","Button","ButtonSize","type","ButtonType","variant","ButtonVariant","shape","ButtonShape","isNewTab","isProduction","env","NEXT_PUBLIC_VERCEL_ENV","QUICK_LINKS","key","isLoggedIn","quickLink","QuickLink","dispatch","useDispatch","useCallback","toggleIsOpen","IconSearch","KeyboardInput","PlayRadioButton","Head","as","data-theme","CommandBarTrigger","QuickLinks","IconContainer","data","useSWRImmutable","makeGetUserCoursesCountUrl","getUserCoursesCount","isValidating","error","count","p","viewPlansButton","getCoursesNavigationUrl","getMyCoursesNavigationUrl","nextVerseToRead","currentActivityDay","getChapterWithStartingVerseUrl","undefined","isDisabled","verse_key","ranges","getReadingGoalProgressNavigationUrl","goal","useGetStreakWithMetadata","disableIfNoGoalExists","useGetRecentlyReadVerseKeys","recentlyReadVerseKeys","progress","GoalButtons","url","getReadingGoalNavigationUrl","getLoginNavigationUrl","states","state","DayState","label","setOpen","onClose","button","QuestionMarkIcon","Modal","onClickOutside","onEscapeKeyDown","h2","ul","li","DayCircle","streak","localizedStreak","hasUserReadToday","hasRead","days","StreakDefinitionModal","percent","isQuranReader","isCompleted","ReadingGoalAmount","context","ReadingGoalAmountContext","isLoading","weekData","convertFractionToPercent","DaysCounter","CurrentWeekProgress","GoalStatus","fillRule","CollapsibleType","Collapsible","newIsOpen","QuranReadingGoalsType","CollapsibleTitle","GoalIcon","QuranGoalsButtons","ReaderIcon","LearningPlansButtons","ChevronDownIcon","QuranReadingGoals","LearningPlans","logOpenChange","collapsibleType","logEvent","MoonIllustrationSVG","CollapsibleSection","LearningPlansType","getQuranicCalendarNavigationUrl","LinkVariant","values","source","chaptersResponse","crossOrigin","NextSeoWrapper","getCanonicalUrl","languageAlternates","getLanguageAlternates","HomePageHero","RamadanActivitiesSection","QuranGrowthJourneySection","BookmarksAndCollectionsSection","isHomepage","ChapterAndJuzListWrapper","module","exports","$409067139f391064$var$COLLAPSIBLE_NAME","$409067139f391064$var$createCollapsibleContext","$409067139f391064$export$952b32dcbe73087a","$409067139f391064$var$CollapsibleProvider","$409067139f391064$var$useCollapsibleContext","$409067139f391064$export$6eb0f7ddcda6131f","forwardedRef","__scopeCollapsible","openProp","defaultOpen","disabled","collapsibleProps","prop","defaultProp","onChange","scope","contentId","onOpenToggle","prevOpen","$409067139f391064$var$getState","ref","$409067139f391064$var$TRIGGER_NAME","$409067139f391064$export$c135dce7b15bbbdc","triggerProps","$409067139f391064$var$CONTENT_NAME","$409067139f391064$export$aadde00976f34151","forceMount","contentProps","present","$409067139f391064$var$CollapsibleContentImpl","isPresent","setIsPresent","composedRefs","heightRef","current","widthRef","isMountAnimationPreventedRef","originalStylesRef","rAF","requestAnimationFrame","cancelAnimationFrame","node","transitionDuration","animationName","rect","getBoundingClientRect","hidden","$409067139f391064$export$be92b6f5f03c0fe9","$409067139f391064$export$41fb9f06171c75f4"],"sourceRoot":""}