1 |
- {"version":3,"file":"66151.js","mappings":"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","sources":["webpack://quran.com/./public/icons/chevron-down.svg","webpack://quran.com/./public/icons/edit.svg","webpack://quran.com/./public/icons/help-circle.svg","webpack://quran.com/./public/icons/idea.svg","webpack://quran.com/./src/components/Notes/NoteModal/EditNoteMode/EditNoteListItem/NoteListItem.module.scss","webpack://quran.com/./src/components/Notes/NoteModal/EditNoteMode/EditNoteMode.module.scss","webpack://quran.com/./src/components/Notes/NoteModal/EditNoteMode/NoteRanges/NoteRanges.module.scss","webpack://quran.com/./src/components/Notes/NoteModal/NoteModal.module.scss","webpack://quran.com/./src/components/Notes/NoteModal/NoteRangesIndicator/NoteRangesIndicator.module.scss","webpack://quran.com/./src/components/Notes/NoteModal/PublicReflectionCheckboxDescription/PublicReflectionCheckboxDescription.module.scss","webpack://quran.com/./src/components/Notes/NoteModal/ReflectionIntro/ReflectionIntro.module.scss","webpack://quran.com/./src/components/Notes/NoteModal/ShareToQrCheckboxLabel/ShareToQrCheckboxLabel.module.scss","webpack://quran.com/./src/components/QuranReader/TranslationView/EmbeddableVerseCell/EmbeddableVerseCell.module.scss","webpack://quran.com/./src/components/dls/Collapsible/Collapsible.module.scss","webpack://quran.com/./src/components/dls/HelperTooltip/HelperTooltip.module.scss","webpack://quran.com/./src/components/dls/Switch/Switch.module.scss","webpack://quran.com/./src/components/FormBuilder/buildFormBuilderFormField.ts","webpack://quran.com/./src/components/FormBuilder/buildTranslatedErrorMessageByErrorId.ts","webpack://quran.com/./src/components/Notes/NoteModal/EditNoteMode/EditNoteListItem/DeleteNoteModal/index.tsx","webpack://quran.com/./src/components/Notes/NoteModal/EditNoteMode/EditNoteListItem/EditForm/index.tsx","webpack://quran.com/./src/components/Notes/NoteModal/EditNoteMode/EditNoteListItem/index.tsx","webpack://quran.com/./src/components/Notes/NoteModal/EditNoteMode/NoteRanges/index.tsx","webpack://quran.com/./src/components/Notes/NoteModal/EditNoteMode/index.tsx","webpack://quran.com/./src/components/Notes/NoteModal/NewNoteMode/index.tsx","webpack://quran.com/./src/components/Notes/NoteModal/NoteRangesIndicator/index.tsx","webpack://quran.com/./src/components/Notes/NoteModal/PublicReflectionCheckboxDescription/index.tsx","webpack://quran.com/./src/components/Notes/NoteModal/ReflectionIntro/index.tsx","webpack://quran.com/./src/components/Notes/NoteModal/ShareToQrCheckboxLabel/index.tsx","webpack://quran.com/./src/components/Notes/NoteModal/index.tsx","webpack://quran.com/./src/components/QuranReader/TranslationView/EmbeddableVerseCell/index.tsx","webpack://quran.com/./src/components/dls/Collapsible/Collapsible.tsx","webpack://quran.com/./src/components/dls/ConfirmationModal/ConfirmationModal.tsx","webpack://quran.com/./src/components/dls/ConfirmationModal/hooks.ts","webpack://quran.com/./src/components/dls/HelperTooltip/HelperTooltip.tsx","webpack://quran.com/./src/components/dls/Switch/Switch.tsx","webpack://quran.com/./src/hooks/auth/useCurrentUser.ts","webpack://quran.com/./src/hooks/useMutateWithoutRevalidation.ts","webpack://quran.com/./src/hooks/useMutation.ts","webpack://quran.com/./src/utils/quranReflect/navigation.ts","webpack://quran.com/./types/ErrorMessageId.ts","webpack://quran.com/./types/auth/ConsentType.ts","webpack://quran.com/./types/auth/Note.ts"],"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 SvgChevronDown = function SvgChevronDown(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: \"M3.135 6.158a.5.5 0 0 1 .707-.023L7.5 9.565l3.658-3.43a.5.5 0 0 1 .684.73l-4 3.75a.5.5 0 0 1-.684 0l-4-3.75a.5.5 0 0 1-.023-.707Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })));\n};\nexport default SvgChevronDown;","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 SvgEdit = function SvgEdit(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 1024 1024\",\n fill: \"currentColor\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128 736v160h160l472.107-472.107-160-160L128 736zm755.413-435.413c16.64-16.64 16.64-43.734 0-60.374l-99.626-99.626c-16.64-16.64-43.734-16.64-60.374 0l-78.08 78.08 160 160 78.08-78.08z\"\n })));\n};\nexport default SvgEdit;","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;\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 SvgIdea = function SvgIdea(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: \"M8.697.04a.5.5 0 0 1 .296.542L8.09 6h4.41a.5.5 0 0 1 .4.8l-6 8a.5.5 0 0 1-.893-.382L6.91 9H2.5a.5.5 0 0 1-.4-.8l6-8a.5.5 0 0 1 .597-.16ZM3.5 8h4a.5.5 0 0 1 .493.582L7.33 12.56 11.5 7h-4a.5.5 0 0 1-.493-.582L7.67 2.44 3.5 8Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })));\n};\nexport default SvgIdea;","// Exports\nmodule.exports = {\n\t\"container\": \"NoteListItem_container__HNwm7\",\n\t\"headerContainer\": \"NoteListItem_headerContainer__zgYkk\",\n\t\"noteBody\": \"NoteListItem_noteBody__bfdT6\",\n\t\"shareButtonContainer\": \"NoteListItem_shareButtonContainer__Wzr8B\",\n\t\"buttonsContainer\": \"NoteListItem_buttonsContainer__doHJf\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"EditNoteMode_container__0xUq7\",\n\t\"addNoteContainer\": \"EditNoteMode_addNoteContainer__NY196\",\n\t\"addNoteContainerHeader\": \"EditNoteMode_addNoteContainerHeader__WntFV\",\n\t\"addNoteBtnContainer\": \"EditNoteMode_addNoteBtnContainer__kX0s1\",\n\t\"noteDate\": \"EditNoteMode_noteDate__dWtIB\",\n\t\"noteHeaderContainer\": \"EditNoteMode_noteHeaderContainer__R_xwT\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"NoteRanges_container__viLQL\",\n\t\"headerContainer\": \"NoteRanges_headerContainer__t3h7p\"\n};\n","// Exports\nmodule.exports = {\n\t\"buttonContainer\": \"NoteModal_buttonContainer__REWT1\",\n\t\"headerContainer\": \"NoteModal_headerContainer__HecMx\",\n\t\"titleInput\": \"NoteModal_titleInput__0_sP0\",\n\t\"bodyInput\": \"NoteModal_bodyInput__bHmPH\",\n\t\"actionContainer\": \"NoteModal_actionContainer__IELkO\",\n\t\"editFormButtons\": \"NoteModal_editFormButtons__pp_5t\",\n\t\"saveButton\": \"NoteModal_saveButton__DFAyS\",\n\t\"buttonsContainer\": \"NoteModal_buttonsContainer__ZaPz8\",\n\t\"submitContainer\": \"NoteModal_submitContainer__nd8cY\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"NoteRangesIndicator_container__uDwLA\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"PublicReflectionCheckboxDescription_container__JM8_o\",\n\t\"title\": \"PublicReflectionCheckboxDescription_title__7MLJF\",\n\t\"contentContainer\": \"PublicReflectionCheckboxDescription_contentContainer__SdVyV\",\n\t\"checkboxTitle\": \"PublicReflectionCheckboxDescription_checkboxTitle__9YZq2\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"ReflectionIntro_container__KZx81\",\n\t\"title\": \"ReflectionIntro_title__Mo4RF\",\n\t\"sectionHeader\": \"ReflectionIntro_sectionHeader__HwKUd\",\n\t\"subSectionHeader\": \"ReflectionIntro_subSectionHeader__EwvII\",\n\t\"sectionContainer\": \"ReflectionIntro_sectionContainer__qeZwZ\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"ShareToQrCheckboxLabel_container__GqRjE\",\n\t\"bold\": \"ShareToQrCheckboxLabel_bold__Pz7cF\"\n};\n","// Exports\nmodule.exports = {\n\t\"verseContainer\": \"EmbeddableVerseCell_verseContainer__GCj_d\"\n};\n","// Exports\nmodule.exports = {\n\t\"header\": \"Collapsible_header__CmhJq\",\n\t\"headerLeft\": \"Collapsible_headerLeft__Xh00n\",\n\t\"prefixContainer\": \"Collapsible_prefixContainer__AVHUT\",\n\t\"prefixRotated\": \"Collapsible_prefixRotated__bjKLn\",\n\t\"suffixContainer\": \"Collapsible_suffixContainer__uZ1IW\"\n};\n","// Exports\nmodule.exports = {\n\t\"questionMarkIconContainer\": \"HelperTooltip_questionMarkIconContainer__i20QV\",\n\t\"trigger\": \"HelperTooltip_trigger__1zmSb\",\n\t\"content\": \"HelperTooltip_content__NhcCK\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"Switch_container__sYEUd\",\n\t\"xSmallContainer\": \"Switch_xSmallContainer__CtQzD\",\n\t\"item\": \"Switch_item__ePHkS\",\n\t\"separatorLine\": \"Switch_separatorLine__Jj73_\",\n\t\"separatorLineVisible\": \"Switch_separatorLineVisible__RnZCc\",\n\t\"selectedItemBackgroundContainer\": \"Switch_selectedItemBackgroundContainer__7F_kF\",\n\t\"selectedItemBackground\": \"Switch_selectedItemBackground__VMOBG\",\n\t\"itemNormal\": \"Switch_itemNormal__pDPXy\",\n\t\"itemLarge\": \"Switch_itemLarge__SCzg2\",\n\t\"itemSmall\": \"Switch_itemSmall__gKpF9\",\n\t\"itemXSmall\": \"Switch_itemXSmall__GcCpL\"\n};\n","import capitalize from 'lodash/capitalize';\nimport { Translate } from 'next-translate';\n\nimport { FormBuilderFormField } from './FormBuilderTypes';\n\nimport FormField, { FormFieldType } from 'types/FormField';\n\n/**\n * Transform FormField to be FormBuilderFormField\n *\n * FormField and FormBuilderFormField are the same except, FormBuilderFormField is not tied to errorId and translationId\n * - Previously FormBuilder was tied to common.json, next-translate.\n * - and it's also tied to ErrorMessageId\n * - and the `label` is also less flexible because it's tied to `field` value\n *\n * This function help to transform FormField to FormBuilderFormField for common use case.\n * But when we need a more flexible use case, we can use FormBuilderFormField directly. Without using this helper function\n *\n * check ./FormBuilderTypes.ts for more info\n *\n * Note that this function expect the `t` translate function to be used with `common.json`. And expect `form.$field` and `validation.$errorId` to exist.\n *\n * @param {FormField} formField\n * @returns {FormBuilderFormField} formBuilderFormField\n */\nconst buildFormBuilderFormField = (formField: FormField, t: Translate): FormBuilderFormField => {\n return {\n ...formField,\n ...(formField.rules && {\n rules: formField.rules.map((rule) => ({\n type: rule.type,\n value: rule.value,\n errorMessage: t(`common:validation.${rule.errorId}`, {\n field: capitalize(formField.field),\n ...rule.errorExtraParams,\n }),\n })),\n }),\n ...(formField.label && {\n label:\n formField.type === FormFieldType.Checkbox ? formField.label : t(`form.${formField.label}`),\n }),\n ...(formField.defaultValue && { defaultValue: formField.defaultValue }),\n ...(formField.placeholder && { placeholder: formField.placeholder }),\n };\n};\n\nexport default buildFormBuilderFormField;\n","import capitalize from 'lodash/capitalize';\nimport { Translate } from 'next-translate';\n\nimport ErrorMessageId from 'types/ErrorMessageId';\n\nconst DEFAULT_ERROR_ID = ErrorMessageId.InvalidField;\n\nconst buildTranslatedErrorMessageByErrorId = (\n errorId: ErrorMessageId,\n fieldName: string,\n t: Translate,\n extraParams?: Record<string, unknown>,\n) => {\n if (Object.values(ErrorMessageId).includes(errorId)) {\n return t(`common:validation.${errorId}`, { field: capitalize(fieldName), ...extraParams });\n }\n return t(`common:validation.${DEFAULT_ERROR_ID}`, { field: capitalize(fieldName) });\n};\n\nexport default buildTranslatedErrorMessageByErrorId;\n","import useTranslation from 'next-translate/useTranslation';\n\nimport Button, { ButtonSize, ButtonType, ButtonVariant } from '@/dls/Button/Button';\nimport ConfirmationModal from '@/dls/ConfirmationModal/ConfirmationModal';\nimport { useConfirm } from '@/dls/ConfirmationModal/hooks';\nimport { Note } from '@/types/auth/Note';\nimport { logButtonClick } from '@/utils/eventLogger';\n\ntype DeleteNoteButtonProps = {\n isDisabled?: boolean;\n note: Note;\n onConfirm: () => void;\n};\n\nconst DeleteNoteModal = ({ isDisabled, note: { id }, onConfirm }: DeleteNoteButtonProps) => {\n const { t } = useTranslation('notes');\n const confirm = useConfirm();\n\n const onDeleteClicked = async () => {\n logButtonClick('note_delete');\n\n const isConfirmed = await confirm({\n confirmText: t('common:delete'),\n cancelText: t('common:cancel'),\n title: t('delete-note-modal.title'),\n subtitle: t('delete-note-modal.subtitle'),\n });\n\n if (isConfirmed) {\n logButtonClick('note_delete_confirm', { noteId: id });\n onConfirm();\n } else {\n logButtonClick('note_delete_confirm_cancel', { noteId: id });\n }\n };\n\n const buttonProps = {\n isDisabled,\n isLoading: isDisabled,\n };\n\n return (\n <>\n <Button\n variant={ButtonVariant.Ghost}\n onClick={onDeleteClicked}\n tooltip={t('delete')}\n size={ButtonSize.Small}\n type={ButtonType.Warning}\n {...buttonProps}\n >\n X\n </Button>\n <ConfirmationModal />\n </>\n );\n};\n\nexport default DeleteNoteModal;\n","/* eslint-disable max-lines */\nimport React, { useState } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\nimport { useSWRConfig } from 'swr';\n\nimport buildFormBuilderFormField from '@/components/FormBuilder/buildFormBuilderFormField';\nimport buildTranslatedErrorMessageByErrorId from '@/components/FormBuilder/buildTranslatedErrorMessageByErrorId';\nimport FormBuilder from '@/components/FormBuilder/FormBuilder';\nimport styles from '@/components/Notes/NoteModal/NoteModal.module.scss';\nimport Button, { ButtonVariant } from '@/dls/Button/Button';\nimport { ToastStatus, useToast } from '@/dls/Toast/Toast';\nimport useMutation from '@/hooks/useMutation';\nimport { Note } from '@/types/auth/Note';\nimport ErrorMessageId from '@/types/ErrorMessageId';\nimport { RuleType } from '@/types/FieldRule';\nimport { FormFieldType } from '@/types/FormField';\nimport { updateNote as baseUpdateNote } from '@/utils/auth/api';\nimport { makeGetNoteByIdUrl, makeGetNotesByVerseUrl } from '@/utils/auth/apiPaths';\nimport { logButtonClick } from '@/utils/eventLogger';\n\ntype Props = {\n note: Note;\n onNoteUpdated?: (data: Note) => void;\n onCancelEditClicked: () => void;\n verseKey?: string;\n noteId?: string;\n};\n\ntype NoteFormData = {\n body: string;\n};\n\nconst BODY_MIN_LENGTH = 6;\nconst BODY_MAX_LENGTH = 10000;\nconst BODY_MIN_VALIDATION_PARAMS = {\n value: BODY_MIN_LENGTH,\n};\nconst BODY_MAX_VALIDATION_PARAMS = {\n value: BODY_MAX_LENGTH,\n};\n\nconst EditForm: React.FC<Props> = ({\n note,\n onNoteUpdated,\n verseKey,\n noteId,\n onCancelEditClicked,\n}) => {\n const { t } = useTranslation('common');\n const [saveToQR, setSaveToQR] = useState(false);\n const toast = useToast();\n const { mutate } = useSWRConfig();\n\n const mutateCache = (data: unknown) => {\n if (verseKey) {\n mutate(makeGetNotesByVerseUrl(verseKey), data);\n }\n\n if (noteId) {\n mutate(makeGetNoteByIdUrl(noteId), data);\n }\n };\n\n const { mutate: updateNote, isMutating: isUpdatingNote } = useMutation<\n Note,\n { id: string; body: string }\n >(\n async ({ id, body }) => {\n return baseUpdateNote(id, body, saveToQR) as Promise<Note>;\n },\n {\n onSuccess: (data) => {\n // if publishing the note publicly call failed after saving the note succeeded\n // @ts-ignore\n if (data?.error === true) {\n toast(t('notes:update-publish-failed'), {\n status: ToastStatus.Error,\n });\n // @ts-ignore\n onNoteUpdated?.(data.note);\n // @ts-ignore\n mutateCache([data.note]);\n } else {\n toast(t('notes:update-success'), {\n status: ToastStatus.Success,\n });\n onNoteUpdated?.(data);\n mutateCache([data]);\n }\n },\n onError: () => {\n toast(t('common:error.general'), {\n status: ToastStatus.Error,\n });\n },\n },\n );\n\n const onSubmit = async ({ body }: NoteFormData) => {\n logButtonClick('update_note', {\n saveToQR,\n });\n updateNote({ id: note.id, body });\n };\n\n return (\n <FormBuilder\n formFields={[\n {\n field: 'body',\n placeholder: t('notes:body-placeholder'),\n defaultValue: note.body,\n rules: [\n {\n type: RuleType.Required,\n errorId: ErrorMessageId.RequiredField,\n value: true,\n },\n {\n ...BODY_MIN_VALIDATION_PARAMS,\n type: RuleType.MinimumLength,\n errorId: ErrorMessageId.MinimumLength,\n errorExtraParams: {\n ...BODY_MIN_VALIDATION_PARAMS,\n },\n errorMessage: buildTranslatedErrorMessageByErrorId(\n ErrorMessageId.MinimumLength,\n 'body',\n t,\n {\n ...BODY_MIN_VALIDATION_PARAMS,\n },\n ),\n },\n {\n ...BODY_MAX_VALIDATION_PARAMS,\n type: RuleType.MaximumLength,\n errorId: ErrorMessageId.MaximumLength,\n errorExtraParams: {\n ...BODY_MAX_VALIDATION_PARAMS,\n },\n errorMessage: buildTranslatedErrorMessageByErrorId(\n ErrorMessageId.MaximumLength,\n 'body',\n t,\n {\n ...BODY_MAX_VALIDATION_PARAMS,\n },\n ),\n },\n ],\n type: FormFieldType.TextArea,\n containerClassName: styles.bodyInput,\n fieldSetLegend: t('notes:notes-and-reflcs'),\n },\n ].map((field) => buildFormBuilderFormField(field, t))}\n onSubmit={onSubmit}\n isSubmitting={isUpdatingNote}\n renderAction={({ isLoading }) => {\n return (\n <div className={styles.editFormButtons}>\n <Button\n isLoading={isLoading}\n variant={ButtonVariant.Outlined}\n isDisabled={isLoading}\n onClick={(e) => {\n e.stopPropagation();\n onCancelEditClicked();\n }}\n >\n {t('cancel')}\n </Button>\n <div>\n <Button\n htmlType=\"submit\"\n isLoading={isLoading}\n isDisabled={isLoading}\n className={styles.saveButton}\n onClick={(e) => {\n e.stopPropagation();\n setSaveToQR(false);\n }}\n >\n {t('notes:save-privately')}\n </Button>\n </div>\n </div>\n );\n }}\n />\n );\n};\n\nexport default EditForm;\n","/* eslint-disable max-lines */\nimport React, { useState } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\nimport { useSWRConfig } from 'swr';\n\nimport DeleteNoteModal from './DeleteNoteModal';\nimport EditForm from './EditForm';\nimport styles from './NoteListItem.module.scss';\n\nimport PublicReflectionDescription, {\n NoteType,\n} from '@/components/Notes/NoteModal/PublicReflectionCheckboxDescription';\nimport Button, { ButtonSize, ButtonVariant } from '@/dls/Button/Button';\nimport { ToastStatus, useToast } from '@/dls/Toast/Toast';\nimport useMutation from '@/hooks/useMutation';\nimport EditIcon from '@/icons/edit.svg';\nimport { AttachedEntityType, Note } from '@/types/auth/Note';\nimport { deleteNote as baseDeleteNote, publishNoteToQR } from '@/utils/auth/api';\nimport { makeGetNoteByIdUrl, makeGetNotesByVerseUrl } from '@/utils/auth/apiPaths';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport { getQuranReflectPostUrl } from '@/utils/quranReflect/navigation';\nimport { isVerseKeyWithinRanges } from '@/utils/verse';\n\ntype Props = {\n note: Note;\n verseKey: string;\n noteId: string;\n onNoteUpdated?: (data: Note) => void;\n onNoteDeleted?: () => void;\n};\n\nconst EditNoteListItem: React.FC<Props> = ({\n note,\n verseKey,\n noteId,\n onNoteUpdated,\n onNoteDeleted,\n}) => {\n const { t } = useTranslation('common');\n const toast = useToast();\n const { mutate, cache } = useSWRConfig();\n const [isInEditMode, setIsInEditMode] = useState<boolean>(false);\n\n const clearCountCache = () => {\n // we need to invalidate one of keys that look like: ['countNotes', notesRange]\n // so that the count is updated\n const keys = [...(cache as any).keys()].filter((key) => {\n if (!key.startsWith('countNotes/')) {\n return false;\n }\n\n if (verseKey) {\n // check if the note is within the range\n const rangeString = key.replace('countNotes/', '');\n return isVerseKeyWithinRanges(verseKey, rangeString);\n }\n\n if (noteId) {\n // if we're on the notes page, just invalidate all keys\n return true;\n }\n\n // if we're not on the quran reader page, we can just invalidate all the keys\n return true;\n }) as string[];\n\n if (keys.length) {\n keys.forEach((key) => {\n cache.delete(key);\n mutate(key);\n });\n }\n };\n\n const mutateCache = (data: unknown) => {\n if (verseKey) {\n mutate(makeGetNotesByVerseUrl(verseKey), data);\n }\n\n if (noteId) {\n mutate(makeGetNoteByIdUrl(noteId), data);\n }\n };\n\n const { mutate: postOnQuranReflect, isMutating: isPostingOnQuranReflect } = useMutation(\n () => {\n return publishNoteToQR(note.id, {\n body: note.body,\n ranges: note?.ranges || [],\n });\n },\n {\n onSuccess: (response) => {\n const { postId } = response;\n toast(t('notes:export-success'), {\n status: ToastStatus.Success,\n });\n mutateCache({\n ...note,\n attachedEntities: [\n {\n type: AttachedEntityType.REFLECTION,\n id: postId,\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n ],\n });\n },\n onError: () => {\n toast(t('common:error.general'), {\n status: ToastStatus.Error,\n });\n },\n },\n );\n\n const { mutate: deleteNote, isMutating: isDeletingNote } = useMutation<unknown, string>(\n async (id) => {\n return baseDeleteNote(id);\n },\n {\n onSuccess: () => {\n toast(t('notes:delete-success'), {\n status: ToastStatus.Success,\n });\n mutateCache([]);\n clearCountCache();\n if (onNoteDeleted) {\n onNoteDeleted();\n }\n },\n onError: () => {\n toast(t('common:error.general'), {\n status: ToastStatus.Error,\n });\n },\n },\n );\n\n const onCancelEditClicked = () => {\n setIsInEditMode(false);\n logButtonClick('cancel_edit_note');\n };\n\n const onPostOnQrClicked = (e) => {\n e.stopPropagation();\n logButtonClick('qr_publish_note');\n postOnQuranReflect();\n };\n\n const onEditClicked = (e) => {\n e.stopPropagation();\n logButtonClick('edit_note');\n setIsInEditMode(true);\n };\n\n const onDeleteConfirm = () => {\n deleteNote(note.id);\n };\n\n const onViewOnQrClicked = (e) => {\n e.stopPropagation();\n logButtonClick('qr_view_note_post');\n };\n\n const shouldDisableActions = isDeletingNote || isPostingOnQuranReflect;\n\n const buttonProps = {\n isDisabled: shouldDisableActions,\n isLoading: shouldDisableActions,\n };\n\n const noteReflectionId = note?.attachedEntities?.find(\n (entity) => entity.type === AttachedEntityType.REFLECTION,\n )?.id;\n\n const onNoteUpdatedHandler = (updatedNote: Note) => {\n setIsInEditMode(false);\n if (onNoteUpdated) {\n onNoteUpdated(updatedNote);\n }\n };\n\n return (\n <div className={styles.container}>\n {isInEditMode ? (\n <EditForm\n onCancelEditClicked={onCancelEditClicked}\n note={note}\n onNoteUpdated={onNoteUpdatedHandler}\n verseKey={verseKey}\n noteId={noteId}\n />\n ) : (\n <>\n <div className={styles.buttonsContainer}>\n <Button\n shouldFlipOnRTL={false}\n variant={ButtonVariant.Ghost}\n onClick={onEditClicked}\n tooltip={t('edit')}\n size={ButtonSize.Small}\n {...buttonProps}\n >\n <EditIcon />\n </Button>\n <DeleteNoteModal\n onConfirm={onDeleteConfirm}\n note={note}\n isDisabled={shouldDisableActions}\n />\n </div>\n <div className={styles.noteBody}>{note.body}</div>\n {noteReflectionId ? (\n <div className={styles.shareButtonContainer}>\n <Button\n size={ButtonSize.Small}\n href={getQuranReflectPostUrl(noteReflectionId)}\n isNewTab\n onClick={onViewOnQrClicked}\n {...buttonProps}\n >\n {t('notes:view-on-qr')}\n </Button>\n </div>\n ) : (\n <>\n <div className={styles.shareButtonContainer}>\n <Button size={ButtonSize.Small} onClick={onPostOnQrClicked} {...buttonProps}>\n {t('notes:post-on-qr')}\n </Button>\n </div>\n <PublicReflectionDescription type={NoteType.EDIT} />\n </>\n )}\n </>\n )}\n </div>\n );\n};\n\nexport default EditNoteListItem;\n","import React from 'react';\n\nimport NoteRangesIndicator from '../../NoteRangesIndicator';\n\nimport styles from './NoteRanges.module.scss';\n\nimport EmbeddableVerseCell from '@/components/QuranReader/TranslationView/EmbeddableVerseCell';\nimport ChevronDownIcon from '@/icons/chevron-down.svg';\nimport { logEvent } from '@/utils/eventLogger';\nimport { parseVerseRange } from '@/utils/verseKeys';\nimport Collapsible from 'src/components/dls/Collapsible/Collapsible';\n\ntype Props = {\n ranges: string[];\n};\n\n/**\n * A component that will be used to display the ranges of a note.\n * And also a ranges selector in the future.\n *\n * @param {React.FC<Props>} param\n * @returns {React.ReactElement<any, any>}\n */\nconst NoteRanges: React.FC<Props> = ({ ranges }: Props) => {\n const onOpenChange = (isCollapseOpen: boolean) => {\n if (isCollapseOpen) {\n logEvent('note_range_collapse_opened');\n } else {\n logEvent('note_range_collapse_closed');\n }\n };\n return (\n <div className={styles.container}>\n <Collapsible\n title={\n <div className={styles.headerContainer}>\n <NoteRangesIndicator ranges={ranges} />\n </div>\n }\n prefix={<ChevronDownIcon />}\n shouldRotatePrefixOnToggle\n onOpenChange={onOpenChange}\n >\n {({ isOpen: isOpenRenderProp }) => {\n if (!isOpenRenderProp) return null;\n // TODO: ranges[0] is temporary and assumes that a note has only one range and 1 Ayah inside that range\n const [{ chapter, verse }] = parseVerseRange(ranges[0]);\n\n return <EmbeddableVerseCell chapterId={Number(chapter)} verseNumber={Number(verse)} />;\n }}\n </Collapsible>\n </div>\n );\n};\n\nexport default NoteRanges;\n","import React, { useState } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport NewNoteMode from '../NewNoteMode';\n\nimport EditNoteListItem from './EditNoteListItem';\nimport styles from './EditNoteMode.module.scss';\n\nimport NoteRanges from '@/components/Notes/NoteModal/EditNoteMode/NoteRanges';\nimport Button, { ButtonSize, ButtonVariant } from '@/dls/Button/Button';\nimport PlusIcon from '@/icons/plus.svg';\nimport { Note } from '@/types/auth/Note';\nimport { dateToReadableFormat } from '@/utils/datetime';\nimport { logButtonClick } from '@/utils/eventLogger';\n\ntype Props = {\n notes: Note[];\n verseKey: string;\n onNoteUpdated?: (data: Note) => void;\n onNoteDeleted?: () => void;\n noteId: string;\n};\n\nconst EditNoteMode: React.FC<Props> = ({\n notes,\n verseKey,\n onNoteUpdated,\n onNoteDeleted,\n noteId,\n}) => {\n const { t, lang } = useTranslation('notes');\n const [shouldShowShowAddNoteForm, setShouldShowAddNoteForm] = useState(false);\n\n const onAddNoteClicked = () => {\n logButtonClick('add_more_notes_button');\n setShouldShowAddNoteForm(true);\n };\n\n const onCloseAddNoteClicked = () => {\n logButtonClick('close_add_more_notes_button');\n setShouldShowAddNoteForm(false);\n };\n\n const onSuccess = () => {\n setShouldShowAddNoteForm(false);\n };\n\n return (\n <div className={styles.container}>\n {!noteId && (\n <>\n {shouldShowShowAddNoteForm ? (\n <div className={styles.addNoteContainer}>\n <div className={styles.addNoteContainerHeader}>\n <p>{t('add-another-note')}</p>\n <Button\n variant={ButtonVariant.Ghost}\n size={ButtonSize.Small}\n onClick={onCloseAddNoteClicked}\n tooltip={t('common:close')}\n // eslint-disable-next-line i18next/no-literal-string\n >\n X\n </Button>\n </div>\n <NewNoteMode verseKey={verseKey} onSuccess={onSuccess} />\n </div>\n ) : (\n <div className={styles.addNoteBtnContainer}>\n <Button size={ButtonSize.Small} prefix={<PlusIcon />} onClick={onAddNoteClicked}>\n {t('add-another-note')}\n </Button>\n </div>\n )}\n </>\n )}\n {notes.map((note, index) => {\n return (\n <div key={note.id}>\n <div className={styles.noteHeaderContainer}>\n <p>{`${t('notes:note')} ${index + 1}`}</p>\n <time className={styles.noteDate} dateTime={note.createdAt.toString()}>\n {dateToReadableFormat(note.createdAt, lang, {\n year: 'numeric',\n weekday: undefined,\n month: 'short',\n })}\n </time>\n </div>\n {note?.ranges && <NoteRanges ranges={note.ranges} />}\n <EditNoteListItem\n verseKey={verseKey}\n onNoteUpdated={onNoteUpdated}\n onNoteDeleted={onNoteDeleted}\n key={note.id}\n noteId={noteId}\n note={note}\n />\n </div>\n );\n })}\n </div>\n );\n};\n\nexport default EditNoteMode;\n","/* eslint-disable max-lines */\nimport React, { useState } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\nimport { useSWRConfig } from 'swr';\n\nimport styles from '../NoteModal.module.scss';\nimport PublicReflectionDescription from '../PublicReflectionCheckboxDescription';\n\nimport buildFormBuilderFormField from '@/components/FormBuilder/buildFormBuilderFormField';\nimport buildTranslatedErrorMessageByErrorId from '@/components/FormBuilder/buildTranslatedErrorMessageByErrorId';\nimport FormBuilder from '@/components/FormBuilder/FormBuilder';\nimport ReflectionIntro from '@/components/Notes/NoteModal/ReflectionIntro';\nimport ShareToQrCheckboxLabel from '@/components/Notes/NoteModal/ShareToQrCheckboxLabel';\nimport Button from '@/dls/Button/Button';\nimport { ToastStatus, useToast } from '@/dls/Toast/Toast';\nimport useMutateWithoutRevalidation from '@/hooks/useMutateWithoutRevalidation';\nimport useMutation from '@/hooks/useMutation';\nimport ConsentType from '@/types/auth/ConsentType';\nimport { Note } from '@/types/auth/Note';\nimport UserProfile from '@/types/auth/UserProfile';\nimport ErrorMessageId from '@/types/ErrorMessageId';\nimport { RuleType } from '@/types/FieldRule';\nimport { FormFieldType } from '@/types/FormField';\nimport { addNote as baseAddNote } from '@/utils/auth/api';\nimport { makeGetNotesByVerseUrl, makeUserProfileUrl } from '@/utils/auth/apiPaths';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport { isVerseKeyWithinRanges } from '@/utils/verse';\n\nconst BODY_MIN_LENGTH = 6;\nconst BODY_MAX_LENGTH = 10000;\n\nconst BODY_MIN_VALIDATION_PARAMS = {\n value: BODY_MIN_LENGTH,\n};\nconst BODY_MAX_VALIDATION_PARAMS = {\n value: BODY_MAX_LENGTH,\n};\n\ntype NoteFormData = {\n body: string;\n saveToQR: boolean;\n};\n\ntype Props = {\n verseKey: string;\n onSuccess?: () => void;\n};\n\nconst NewNoteMode: React.FC<Props> = ({ verseKey, onSuccess }) => {\n const { t } = useTranslation('common');\n const toast = useToast();\n const { mutate, cache } = useSWRConfig();\n const [isCheckboxTicked, setIsCheckboxTicked] = useState(false);\n const mutateWithoutRevalidation = useMutateWithoutRevalidation();\n\n const { mutate: addNote, isMutating: isAddingNote } = useMutation<Note, NoteFormData>(\n async ({ body, saveToQR }) => {\n return baseAddNote({\n body,\n saveToQR,\n ...(verseKey && {\n ranges: [`${verseKey}-${verseKey}`],\n }),\n }) as Promise<Note>;\n },\n {\n onSuccess: (data) => {\n // if publishing the note publicly call failed after saving the note succeeded\n // @ts-ignore\n if (data?.error === true) {\n toast(t('notes:save-publish-failed'), {\n status: ToastStatus.Error,\n });\n // @ts-ignore\n mutateCache([data.note]);\n } else {\n toast(t('notes:save-success'), {\n status: ToastStatus.Success,\n });\n mutateCache([data]);\n }\n clearCountCache();\n\n /*\n * TODO: since we are not using consents at the moment, we are updating the consents field directly instead of appending to existing consents.\n * also, if the user deletes the note, we are not removing it.\n */\n mutateWithoutRevalidation(makeUserProfileUrl(), (currentProfileData: UserProfile) => {\n return {\n ...currentProfileData,\n consents: { ...currentProfileData.consents, [ConsentType.HAS_NOTES]: true },\n };\n });\n\n if (onSuccess) {\n onSuccess();\n }\n },\n onError: () => {\n toast(t('common:error.general'), {\n status: ToastStatus.Error,\n });\n },\n },\n );\n\n const mutateCache = (data: unknown) => {\n if (verseKey) {\n mutate(makeGetNotesByVerseUrl(verseKey), data);\n }\n };\n\n const clearCountCache = () => {\n // we need to invalidate one of keys that look like: ['countNotes', notesRange]\n // so that the count is updated\n const keys = [...(cache as any).keys()].filter((key) => {\n if (!key.startsWith('countNotes/')) {\n return false;\n }\n\n if (verseKey) {\n // check if the note is within the range\n const rangeString = key.replace('countNotes/', '');\n return isVerseKeyWithinRanges(verseKey, rangeString);\n }\n\n // if we're not on the quran reader page, we can just invalidate all the keys\n return true;\n }) as string[];\n\n if (keys.length) {\n keys.forEach((key) => {\n cache.delete(key);\n mutate(key);\n });\n }\n };\n\n const onSubmit = async ({ body, saveToQR }: NoteFormData) => {\n logButtonClick('add_note');\n addNote({\n body,\n saveToQR,\n });\n };\n return (\n <>\n <ReflectionIntro />\n <FormBuilder\n formFields={[\n {\n field: 'body',\n placeholder: t('notes:body-placeholder'),\n rules: [\n {\n type: RuleType.Required,\n errorId: ErrorMessageId.RequiredField,\n value: true,\n },\n {\n ...BODY_MIN_VALIDATION_PARAMS,\n type: RuleType.MinimumLength,\n errorId: ErrorMessageId.MinimumLength,\n errorExtraParams: {\n ...BODY_MIN_VALIDATION_PARAMS,\n },\n errorMessage: buildTranslatedErrorMessageByErrorId(\n ErrorMessageId.MinimumLength,\n 'body',\n t,\n {\n ...BODY_MIN_VALIDATION_PARAMS,\n },\n ),\n },\n {\n ...BODY_MAX_VALIDATION_PARAMS,\n type: RuleType.MaximumLength,\n errorId: ErrorMessageId.MaximumLength,\n errorExtraParams: {\n ...BODY_MAX_VALIDATION_PARAMS,\n },\n errorMessage: buildTranslatedErrorMessageByErrorId(\n ErrorMessageId.MaximumLength,\n 'body',\n t,\n {\n ...BODY_MAX_VALIDATION_PARAMS,\n },\n ),\n },\n ],\n type: FormFieldType.TextArea,\n containerClassName: styles.bodyInput,\n fieldSetLegend: t('notes:notes-and-reflcs'),\n },\n {\n field: 'saveToQR',\n label: <ShareToQrCheckboxLabel />,\n defaultValue: false,\n type: FormFieldType.Checkbox,\n extraSection: <PublicReflectionDescription />,\n onChange: (val: boolean) => {\n setIsCheckboxTicked(val);\n },\n },\n ].map((field) => buildFormBuilderFormField(field, t))}\n onSubmit={onSubmit}\n isSubmitting={isAddingNote}\n renderAction={(props) => (\n <div className={styles.submitContainer}>\n <div className={styles.actionContainer}>\n <Button\n htmlType=\"submit\"\n isLoading={props.isLoading}\n isDisabled={props.isLoading}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {isCheckboxTicked ? t('notes:save-post-to-qr') : t('notes:save-privately')}\n </Button>\n </div>\n </div>\n )}\n />\n </>\n );\n};\n\nexport default NewNoteMode;\n","import React, { useContext } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './NoteRangesIndicator.module.scss';\n\nimport DataContext from '@/contexts/DataContext';\nimport { getChapterData } from '@/utils/chapter';\nimport { toLocalizedVerseKey } from '@/utils/locale';\nimport { parseVerseRange } from '@/utils/verseKeys';\n\ntype Props = {\n ranges: string[];\n};\n\nconst NoteRangesIndicator: React.FC<Props> = ({ ranges }) => {\n const { lang } = useTranslation();\n const chaptersData = useContext(DataContext);\n if (!ranges || ranges.length === 0) {\n return <></>;\n }\n\n // TODO: ranges[0] is temporary and assumes that a note has only one range and 1 Ayah inside that range\n const [{ chapter, verseKey }] = parseVerseRange(ranges[0]);\n const chapterData = getChapterData(chaptersData, chapter);\n const verseKeyName = `${chapterData.transliteratedName} ${toLocalizedVerseKey(verseKey, lang)}`;\n return <div className={styles.container}>{verseKeyName}</div>;\n};\n\nexport default NoteRangesIndicator;\n","import React from 'react';\n\nimport Trans from 'next-translate/Trans';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './PublicReflectionCheckboxDescription.module.scss';\n\nimport Collapsible, { CollapsibleDirection } from '@/dls/Collapsible/Collapsible';\nimport Link, { LinkVariant } from '@/dls/Link/Link';\nimport ChevronDownIcon from '@/icons/chevron-down.svg';\nimport { logEvent } from '@/utils/eventLogger';\n\nexport enum NoteType {\n NEW = 'new',\n EDIT = 'edit',\n}\n\ntype Props = {\n type?: NoteType;\n};\n\nconst PublicReflectionDescription: React.FC<Props> = ({ type = NoteType.NEW }) => {\n const { t } = useTranslation('notes');\n const onOpenChange = (isOpen: boolean) => {\n if (isOpen) {\n logEvent(`${type}_note_reflection_intro_opened`);\n } else {\n logEvent(`${type}_note_reflection_intro_closed`);\n }\n };\n\n const isEdit = type === NoteType.EDIT;\n\n return (\n <div className={styles.container}>\n <Collapsible\n title={\n <div className={styles.title}>\n {isEdit ? t('checkbox-refl-intro.post-button') : t('checkbox-refl-intro.title')}\n </div>\n }\n prefix={<ChevronDownIcon />}\n direction={CollapsibleDirection.Right}\n shouldRotatePrefixOnToggle\n onOpenChange={onOpenChange}\n >\n {({ isOpen: isOpenRenderProp }) => {\n if (!isOpenRenderProp) return null;\n\n return (\n <div className={styles.contentContainer}>\n <Trans\n components={{\n li: <li key={0} />,\n link: (\n <Link\n key={0}\n href=\"https://quranreflect.com/faq\"\n variant={LinkVariant.Blend}\n isNewTab\n />\n ),\n }}\n i18nKey=\"notes:checkbox-refl-intro.qr-intro\"\n />\n <p className={styles.checkboxTitle}>\n {!isEdit\n ? t('checkbox-refl-intro.checkbox.title')\n : t('checkbox-refl-intro.post-button')}\n </p>\n\n <Trans\n components={{\n li: <li key={0} />,\n link: (\n <Link\n key={0}\n href=\"https://quranreflect.com\"\n variant={LinkVariant.Blend}\n isNewTab\n />\n ),\n }}\n i18nKey=\"notes:checkbox-refl-intro.checkbox.desc\"\n />\n </div>\n );\n }}\n </Collapsible>\n </div>\n );\n};\n\nexport default PublicReflectionDescription;\n","import React from 'react';\n\nimport classNames from 'classnames';\nimport Trans from 'next-translate/Trans';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './ReflectionIntro.module.scss';\n\nimport Collapsible, { CollapsibleDirection } from '@/dls/Collapsible/Collapsible';\nimport Link, { LinkVariant } from '@/dls/Link/Link';\nimport ChevronDownIcon from '@/icons/chevron-down.svg';\nimport IdeaIcon from '@/icons/idea.svg';\nimport { logEvent } from '@/utils/eventLogger';\n\nconst ReflectionIntro = () => {\n const { t } = useTranslation('notes');\n const onOpenChange = (isOpen: boolean) => {\n if (isOpen) {\n logEvent('new_note_reflection_intro_opened');\n } else {\n logEvent('new_note_reflection_intro_closed');\n }\n };\n\n return (\n <div className={styles.container}>\n <Collapsible\n title={\n <div className={styles.title}>\n <IdeaIcon />\n {t('new-note-reflc-intro.title')}\n </div>\n }\n prefix={<ChevronDownIcon />}\n direction={CollapsibleDirection.Right}\n shouldRotatePrefixOnToggle\n onOpenChange={onOpenChange}\n >\n {({ isOpen: isOpenRenderProp }) => {\n if (!isOpenRenderProp) return null;\n\n return (\n <div>\n <div className={styles.sectionContainer}>\n <div className={styles.sectionHeader}>\n {t('new-note-reflc-intro.what-is-reflc.title')}\n </div>\n <Trans\n components={{\n br: <br key={0} />,\n link1: <Link key={1} href=\"/38:29\" variant={LinkVariant.Blend} isNewTab />,\n link2: <Link key={2} href=\"/47:24\" variant={LinkVariant.Blend} isNewTab />,\n link3: <Link key={3} href=\"/4:82\" variant={LinkVariant.Blend} isNewTab />,\n link4: (\n <Link\n key={4}\n href=\"https://quranReflect.com/faq\"\n variant={LinkVariant.Blend}\n isNewTab\n />\n ),\n link5: (\n <Link\n key={5}\n href=\"/learning-plans/five-lenses-to-reflect-on-the-quran\"\n variant={LinkVariant.Blend}\n isNewTab\n />\n ),\n }}\n i18nKey=\"notes:new-note-reflc-intro.what-is-reflc.desc\"\n />\n </div>\n <div className={styles.sectionContainer}>\n <div className={styles.sectionHeader}>\n {t('new-note-reflc-intro.reflc-prompts.title')}\n </div>\n <div className={styles.sectionHeader}>\n {t('new-note-reflc-intro.reflc-prompts.personal.title')}\n </div>\n <Trans\n components={{\n br: <br key={0} />,\n li: <li key={1} />,\n }}\n i18nKey=\"notes:new-note-reflc-intro.reflc-prompts.personal.desc\"\n />\n <div className={classNames(styles.sectionHeader, styles.subSectionHeader)}>\n {t('new-note-reflc-intro.reflc-prompts.deeper.title')}\n </div>\n <Trans\n components={{\n br: <br key={0} />,\n li: <li key={1} />,\n }}\n i18nKey=\"notes:new-note-reflc-intro.reflc-prompts.deeper.desc\"\n />\n </div>\n </div>\n );\n }}\n </Collapsible>\n </div>\n );\n};\n\nexport default ReflectionIntro;\n","import React from 'react';\n\nimport Trans from 'next-translate/Trans';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './ShareToQrCheckboxLabel.module.scss';\n\nimport HelperTooltip from '@/dls/HelperTooltip/HelperTooltip';\nimport Link, { LinkVariant } from '@/dls/Link/Link';\nimport useCurrentUser from '@/hooks/auth/useCurrentUser';\n\nconst ShareToQrCheckboxLabel = () => {\n const {\n user: { firstName },\n } = useCurrentUser();\n const { t } = useTranslation('notes');\n return (\n <div>\n <div className={styles.container}>\n {t('share-to-qr')}\n <HelperTooltip>\n <Trans\n i18nKey=\"notes:qr-tooltip\"\n components={{\n link: (\n <Link\n key={0}\n href=\"https://quranreflect.com\"\n variant={LinkVariant.Blend}\n isNewTab\n />\n ),\n span: <span key={1} />,\n }}\n />\n </HelperTooltip>\n </div>\n <Trans\n i18nKey=\"notes:share-to-qr-desc\"\n components={{\n b: <b className={styles.bold} key={0} />,\n }}\n values={{ name: `${firstName}` }}\n />\n </div>\n );\n};\n\nexport default ShareToQrCheckboxLabel;\n","/* eslint-disable max-lines */\n/* eslint-disable react-func/max-lines-per-function */\nimport { useRef } from 'react';\n\nimport isArray from 'lodash/isArray';\n\nimport EditNoteMode from './EditNoteMode';\nimport NewNoteMode from './NewNoteMode';\nimport styles from './NoteModal.module.scss';\n\nimport DataFetcher from '@/components/DataFetcher';\nimport ContentModal, { ContentModalSize } from '@/dls/ContentModal/ContentModal';\nimport ContentModalHandles from '@/dls/ContentModal/types/ContentModalHandles';\nimport { BaseResponse } from '@/types/ApiResponses';\nimport { Note } from '@/types/auth/Note';\nimport { privateFetcher } from '@/utils/auth/api';\nimport { makeGetNoteByIdUrl, makeGetNotesByVerseUrl } from '@/utils/auth/apiPaths';\n\ninterface NoteModalProps {\n isOpen: boolean;\n onClose: () => void;\n verseKey?: string;\n noteId?: string;\n onNoteUpdated?: (data: Note) => void;\n onNoteDeleted?: () => void;\n}\n\nconst NoteModal: React.FC<NoteModalProps> = ({\n onClose,\n isOpen,\n verseKey,\n noteId,\n onNoteUpdated,\n onNoteDeleted,\n}) => {\n const contentModalRef = useRef<ContentModalHandles>();\n\n const queryKey = noteId ? makeGetNoteByIdUrl(noteId) : makeGetNotesByVerseUrl(verseKey);\n\n const deleteAndClose = () => {\n onNoteDeleted();\n onClose();\n };\n return (\n <ContentModal\n innerRef={contentModalRef}\n isOpen={isOpen}\n header={<div className={styles.headerContainer} />}\n hasCloseButton\n onClose={onClose}\n onEscapeKeyDown={onClose}\n size={ContentModalSize.MEDIUM}\n >\n <DataFetcher\n queryKey={queryKey}\n fetcher={privateFetcher}\n showSpinnerOnRevalidate={false}\n render={(response: (Note | Note[]) & BaseResponse) => {\n const note = noteId ? (response as Note) : (response[0] as Note);\n if (note) {\n return (\n <EditNoteMode\n onNoteUpdated={onNoteUpdated}\n onNoteDeleted={onNoteDeleted ? deleteAndClose : undefined}\n verseKey={verseKey}\n notes={isArray(response) ? response : [response]}\n noteId={noteId}\n />\n );\n }\n return <NewNoteMode verseKey={verseKey} />;\n }}\n />\n </ContentModal>\n );\n};\n\nexport default NoteModal;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\nimport { shallowEqual, useSelector } from 'react-redux';\n\nimport styles from './EmbeddableVerseCell.module.scss';\n\nimport { fetcher } from '@/api';\nimport DataFetcher from '@/components/DataFetcher';\nimport TranslationText from '@/components/QuranReader/TranslationView/TranslationText';\nimport VerseTextPreview from '@/components/QuranReader/VerseTextPreview';\nimport { selectQuranReaderStyles } from '@/redux/slices/QuranReader/styles';\nimport { selectSelectedTranslations } from '@/redux/slices/QuranReader/translations';\nimport { VersesResponse } from '@/types/ApiResponses';\nimport { getMushafId, getDefaultWordFields } from '@/utils/api';\nimport { makeVersesUrl } from '@/utils/apiPaths';\nimport { areArraysEqual } from '@/utils/array';\n\ntype Props = {\n chapterId: number;\n verseNumber: number;\n fontScale?: number;\n};\n\nconst EmbeddableVerseCell: React.FC<Props> = ({ chapterId, verseNumber, fontScale }) => {\n const quranReaderStyles = useSelector(selectQuranReaderStyles, shallowEqual);\n const { quranFont, mushafLines } = quranReaderStyles;\n const { mushaf } = getMushafId(quranFont, mushafLines);\n const selectedTranslations = useSelector(selectSelectedTranslations, areArraysEqual);\n const { lang } = useTranslation();\n\n const apiParams = {\n words: true,\n perPage: 1,\n translations: selectedTranslations.join(','),\n page: verseNumber,\n ...getDefaultWordFields(quranReaderStyles.quranFont),\n mushaf,\n };\n return (\n <DataFetcher\n // TODO: if we want to make this more optimized, we can use a shared cache with the QuranReader\n queryKey={`embeddable-verse-${chapterId}:${verseNumber}`}\n fetcher={() => fetcher(makeVersesUrl(chapterId.toString(), lang, apiParams))}\n render={(data: VersesResponse) => {\n if (!data) return null;\n const firstVerse = data.verses?.[0];\n return (\n <div className={styles.verseContainer}>\n <VerseTextPreview verses={data.verses} fontScale={fontScale} />\n\n <div>\n {firstVerse.translations?.map((translation) => {\n return (\n <TranslationText\n key={translation.id}\n translationFontScale={quranReaderStyles.translationFontScale}\n text={translation.text}\n languageId={translation.languageId}\n resourceName={translation.resourceName}\n />\n );\n })}\n </div>\n </div>\n );\n }}\n />\n );\n};\n\nexport default EmbeddableVerseCell;\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","/* eslint-disable react/no-array-index-key */\nimport { useMemo } from 'react';\n\nimport { useConfirmModal } from './hooks';\n\nimport Modal from '@/dls/Modal/Modal';\n\nconst ConfirmationModal = () => {\n const { onCancel, onConfirm, state } = useConfirmModal();\n\n const actions = useMemo(() => {\n const returnedActions = [];\n if (state.confirmText && onConfirm) {\n returnedActions.push({\n label: state.confirmText,\n onClick: onConfirm,\n });\n }\n if (state.cancelText && onCancel) {\n returnedActions.push({\n label: state.cancelText,\n onClick: onCancel,\n isCloseAction: true,\n });\n }\n return returnedActions;\n }, [onCancel, onConfirm, state.cancelText, state.confirmText]);\n\n const onClose = () => {\n if (onCancel) {\n onCancel();\n }\n };\n\n return (\n <Modal isOpen={!!state.open} onClickOutside={onClose} onEscapeKeyDown={onClose}>\n <Modal.Body>\n <Modal.Header>\n <Modal.Title>{state.title}</Modal.Title>\n <Modal.Subtitle>{state.subtitle}</Modal.Subtitle>\n </Modal.Header>\n <p>{state.description}</p>\n </Modal.Body>\n <Modal.Footer>\n {actions.map((action, index) => {\n const { onClick, label } = action;\n if (action.isCloseAction) {\n return (\n <Modal.CloseAction key={index} onClick={onClick}>\n {label}\n </Modal.CloseAction>\n );\n }\n return (\n <Modal.Action key={index} onClick={onClick}>\n {label}\n </Modal.Action>\n );\n })}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ConfirmationModal;\n","import { useEffect, useState } from 'react';\n\ntype State = {\n title?: string;\n subtitle?: string;\n description?: string;\n confirmText?: string;\n cancelText?: string;\n open?: boolean;\n};\n\nlet memoryState: State = {\n open: false,\n};\n\nconst updateState = (newState: State) => {\n memoryState = newState;\n listeners.forEach((listener) => listener(memoryState));\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\n/**\n * When this hook (useConfirmationModalInternal) is called.\n * We set `useState` in the component. So that it will trigger rerender when the state changes\n *\n * `setState` is registered to a global `listeners`.\n * Every time we `updateState`, this will update the state in every components that subscribe\n * to the changes (listeners)\n */\n\nexport const useConfirmModal = () => {\n const [state, setState] = useState(memoryState);\n useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n const closeConfirm = () => {\n updateState({ ...state, open: false });\n };\n\n const onConfirm = () => {\n closeConfirm();\n resolveCallback(true);\n };\n\n const onCancel = () => {\n closeConfirm();\n resolveCallback(false);\n };\n\n return { state, onCancel, onConfirm };\n};\n\nlet resolveCallback: (arg: boolean) => void;\n\n/**\n * This hook is meant to be consumed by other components\n * Check ConfirmationModal.stories.tsx for an example\n *\n * This hook return a callback, that's when called return a Promise<boolean>\n * if the user click \"confirm\", boolean will be true, otherwise it will be false\n */\n\nexport const useConfirm = () => {\n const confirm = (state: State) => {\n updateState({ ...state, open: true });\n return new Promise((res) => {\n resolveCallback = res;\n });\n };\n\n return confirm;\n};\n","import HoverablePopover from '../Popover/HoverablePopover';\n\nimport styles from './HelperTooltip.module.scss';\n\nimport QuestionMarkIcon from '@/icons/help-circle.svg';\n\ninterface HelperTooltipProps {\n children: React.ReactNode;\n}\n\nconst HelperTooltip = ({ children }: HelperTooltipProps) => {\n return (\n <HoverablePopover\n triggerStyles={styles.trigger}\n content={<span className={styles.content}>{children}</span>}\n >\n <span className={styles.questionMarkIconContainer}>\n <QuestionMarkIcon />\n </span>\n </HoverablePopover>\n );\n};\n\nexport default HelperTooltip;\n","import classNames from 'classnames';\nimport range from 'lodash/range';\nimport { useRouter } from 'next/router';\n\nimport styles from './Switch.module.scss';\n\nimport { isRTLLocale } from '@/utils/locale';\n\n// reference: https://vercel.com/design/switch\n\ntype Item = {\n name: React.ReactNode;\n value: string;\n disabled?: boolean;\n};\nexport enum SwitchSize {\n XSmall = 'xsmall',\n Small = 'small',\n Normal = 'normal',\n Large = 'large',\n}\ntype SwitchProps = {\n items: Item[];\n selected: string;\n onSelect: (value: string) => void;\n size?: SwitchSize;\n};\n\nconst Switch = ({ items, onSelect, selected, size = SwitchSize.Normal }: SwitchProps) => {\n const selectedIndex = items.findIndex((item) => item.value === selected);\n const { locale } = useRouter();\n return (\n <div\n className={classNames(styles.container, {\n [styles.xSmallContainer]: size === SwitchSize.XSmall,\n })}\n >\n {items.map((item) => (\n <button\n disabled={item.disabled}\n type=\"button\"\n className={classNames(styles.item, selected === item.value && styles.itemSelected, {\n [styles.itemLarge]: size === SwitchSize.Large,\n [styles.itemNormal]: size === SwitchSize.Normal,\n [styles.itemSmall]: size === SwitchSize.Small,\n [styles.itemXSmall]: size === SwitchSize.XSmall,\n })}\n key={item.value}\n onClick={() => onSelect(item.value)}\n >\n {item.name}\n </button>\n ))}\n\n {/* seprator */}\n {items.length > 2 &&\n range(1, items.length).map((i) => {\n return (\n <div\n key={i}\n className={classNames(styles.separatorLine, {\n [styles.separatorLineVisible]: selectedIndex !== i && selectedIndex !== i - 1,\n })}\n style={{\n width: `${100 / items.length}%`,\n transform: `translateX(${100 * i}%)`,\n }}\n />\n );\n })}\n <div\n className={styles.selectedItemBackgroundContainer}\n style={{\n width: `${(1 / items.length) * 100}%`,\n transform: `translateX(${isRTLLocale(locale) ? '-' : ''}${selectedIndex * 100}%)`,\n }}\n >\n <div className={styles.selectedItemBackground} />\n </div>\n </div>\n );\n};\n\nexport default Switch;\n","import useSWR from 'swr';\n\nimport { getUserProfile } from '@/utils/auth/api';\nimport { makeUserProfileUrl } from '@/utils/auth/apiPaths';\nimport { isLoggedIn } from '@/utils/auth/login';\n\nconst useCurrentUser = () => {\n const {\n data: userData,\n isValidating,\n error,\n } = useSWR(isLoggedIn() ? makeUserProfileUrl() : null, getUserProfile);\n\n return {\n user: userData || ({} as typeof userData),\n isLoading: isValidating && !userData,\n error,\n };\n};\n\nexport default useCurrentUser;\n","import { useCallback } from 'react';\n\nimport { useSWRConfig, MutatorCallback, MutatorOptions, Key } from 'swr';\n\nexport const NO_REVALIDATION_MUTATOR_OPTIONS: MutatorOptions = { revalidate: false };\n\n/**\n * a hook on top of useSWRConfig.mutate to mutate without revalidation\n *\n * @returns {(url: string, callback: MutatorCallback) => void} mutateWithoutRevalidation\n */\nconst useMutateWithoutRevalidation = (): ((url: Key, callback: MutatorCallback) => void) => {\n const { mutate } = useSWRConfig();\n const mutateWithoutRevalidation = useCallback(\n (url: Key, callback: MutatorCallback) => {\n mutate(url, callback, NO_REVALIDATION_MUTATOR_OPTIONS);\n },\n [mutate],\n );\n return mutateWithoutRevalidation;\n};\n\nexport default useMutateWithoutRevalidation;\n","import { useCallback, useState } from 'react';\n\ntype MutationFunction<TData, TVariables> = (variables?: TVariables) => Promise<TData>;\ntype MutationOptions<TData, TVariables> = {\n onSuccess?: (data: TData, variables?: TVariables) => void;\n onError?: (error: Error, variables?: TVariables) => void;\n};\n\ninterface UseMutation<TData, TVariables> {\n mutate: (variables?: TVariables) => Promise<TData | null>;\n isMutating: boolean;\n error: Error | null;\n}\n\n/**\n * A helper hook to execute a mutation and handle the loading and error states.\n *\n * @param {MutationFunction<TData, TVariables>} mutationFn\n * @param {MutationOptions<TData, TVariables>} options\n * @returns {UseMutation<TData, TVariables>}\n */\nconst useMutation = <TData, TVariables>(\n mutationFn: MutationFunction<TData, TVariables>,\n options?: MutationOptions<TData, TVariables>,\n): UseMutation<TData, TVariables> => {\n const [isMutating, setIsMutating] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const mutate = useCallback(\n async (variables?: TVariables) => {\n setIsMutating(true);\n setError(null);\n\n try {\n const response = await mutationFn(variables);\n options?.onSuccess?.(response, variables);\n return response;\n } catch (err) {\n setError(err);\n options?.onError?.(err, variables);\n } finally {\n setIsMutating(false);\n }\n\n return null;\n },\n [mutationFn, options],\n );\n\n return {\n mutate,\n isMutating,\n error,\n };\n};\n\nexport default useMutation;\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","enum ErrorMessageId {\n InvalidEmail = 'invalid-email',\n RequiredField = 'required-field',\n InvalidField = 'invalid-field',\n MaximumLength = 'maximum-length',\n MinimumLength = 'minimum-length',\n}\n\nexport default ErrorMessageId;\n","enum ConsentType {\n COMMUNICATION = 'communication',\n HAS_NOTES = 'hasNotes',\n}\nexport default ConsentType;\n","import Pagination from './Pagination';\n\nexport enum AttachedEntityType {\n REFLECTION = 'reflection',\n}\n\nexport type AttachedEntity = {\n createdAt: Date;\n updatedAt: Date;\n id: string;\n type: AttachedEntityType;\n};\n\nexport type Note = {\n id: string;\n title: string;\n body: string;\n ranges?: string[]; // will be undefined when the note is not attached to any verse\n createdAt: Date;\n updatedAt: Date;\n saveToQR?: boolean;\n attachedEntities?: AttachedEntity[];\n};\n\nexport type GetAllNotesResponse = {\n data: Note[];\n pagination: Pagination;\n};\n"],"names":["capitalize","FormFieldType","buildFormBuilderFormField","formField","t","rules","map","rule","type","value","errorMessage","errorId","field","errorExtraParams","label","Checkbox","defaultValue","placeholder","ErrorMessageId","DEFAULT_ERROR_ID","InvalidField","buildTranslatedErrorMessageByErrorId","fieldName","extraParams","Object","values","includes","useTranslation","Button","ButtonSize","ButtonType","ButtonVariant","ConfirmationModal","useConfirm","logButtonClick","DeleteNoteModal","isDisabled","note","id","onConfirm","confirm","onDeleteClicked","isConfirmed","confirmText","cancelText","title","subtitle","noteId","buttonProps","isLoading","variant","Ghost","onClick","tooltip","size","Small","Warning","React","useState","useSWRConfig","FormBuilder","styles","ToastStatus","useToast","useMutation","RuleType","updateNote","baseUpdateNote","makeGetNoteByIdUrl","makeGetNotesByVerseUrl","BODY_MIN_LENGTH","BODY_MAX_LENGTH","BODY_MIN_VALIDATION_PARAMS","BODY_MAX_VALIDATION_PARAMS","EditForm","onNoteUpdated","verseKey","onCancelEditClicked","saveToQR","setSaveToQR","toast","mutate","mutateCache","data","isMutating","isUpdatingNote","body","onSuccess","error","status","Error","Success","onError","onSubmit","formFields","Required","RequiredField","MinimumLength","MaximumLength","TextArea","containerClassName","bodyInput","fieldSetLegend","isSubmitting","renderAction","div","className","editFormButtons","Outlined","e","stopPropagation","htmlType","saveButton","PublicReflectionDescription","NoteType","EditIcon","AttachedEntityType","deleteNote","baseDeleteNote","publishNoteToQR","getQuranReflectPostUrl","isVerseKeyWithinRanges","EditNoteListItem","onNoteDeleted","cache","isInEditMode","setIsInEditMode","clearCountCache","keys","filter","key","startsWith","rangeString","replace","length","forEach","delete","postOnQuranReflect","isPostingOnQuranReflect","ranges","response","postId","attachedEntities","REFLECTION","createdAt","Date","updatedAt","isDeletingNote","onPostOnQrClicked","onEditClicked","onDeleteConfirm","onViewOnQrClicked","shouldDisableActions","noteReflectionId","find","entity","onNoteUpdatedHandler","updatedNote","container","buttonsContainer","shouldFlipOnRTL","noteBody","shareButtonContainer","href","isNewTab","EDIT","NoteRangesIndicator","EmbeddableVerseCell","ChevronDownIcon","logEvent","parseVerseRange","Collapsible","NoteRanges","onOpenChange","isCollapseOpen","headerContainer","prefix","shouldRotatePrefixOnToggle","isOpen","isOpenRenderProp","chapter","verse","chapterId","Number","verseNumber","NewNoteMode","PlusIcon","dateToReadableFormat","EditNoteMode","notes","lang","shouldShowShowAddNoteForm","setShouldShowAddNoteForm","onAddNoteClicked","onCloseAddNoteClicked","addNoteContainer","addNoteContainerHeader","p","addNoteBtnContainer","index","noteHeaderContainer","time","noteDate","dateTime","toString","year","weekday","undefined","month","ReflectionIntro","ShareToQrCheckboxLabel","useMutateWithoutRevalidation","ConsentType","addNote","baseAddNote","makeUserProfileUrl","isCheckboxTicked","setIsCheckboxTicked","mutateWithoutRevalidation","isAddingNote","currentProfileData","consents","HAS_NOTES","extraSection","onChange","val","props","submitContainer","actionContainer","useContext","DataContext","getChapterData","toLocalizedVerseKey","chaptersData","chapterData","verseKeyName","transliteratedName","Trans","CollapsibleDirection","Link","LinkVariant","NEW","isEdit","direction","Right","contentContainer","components","li","link","Blend","i18nKey","checkboxTitle","classNames","IdeaIcon","sectionContainer","sectionHeader","br","link1","link2","link3","link4","link5","subSectionHeader","HelperTooltip","useCurrentUser","user","firstName","span","b","bold","name","useRef","isArray","DataFetcher","ContentModal","ContentModalSize","privateFetcher","NoteModal","onClose","contentModalRef","queryKey","deleteAndClose","innerRef","header","hasCloseButton","onEscapeKeyDown","MEDIUM","fetcher","showSpinnerOnRevalidate","render","shallowEqual","useSelector","TranslationText","VerseTextPreview","selectQuranReaderStyles","selectSelectedTranslations","getMushafId","getDefaultWordFields","makeVersesUrl","areArraysEqual","fontScale","quranReaderStyles","quranFont","mushafLines","mushaf","selectedTranslations","apiParams","words","perPage","translations","join","page","firstVerse","verses","verseContainer","translation","translationFontScale","text","languageId","resourceName","useEffect","CollapsiblePrimitive","Left","isDefaultOpen","suffix","children","shouldOpen","setIsOpen","onSuffixClicked","preventDefault","onHeaderClicked","preValue","Root","open","Trigger","asChild","headerLeft","prefixContainer","prefixRotated","suffixContainer","CollapsibleContent","useMemo","useConfirmModal","Modal","onCancel","state","actions","returnedActions","push","isCloseAction","onClickOutside","Body","Header","Title","Subtitle","description","Footer","action","CloseAction","Action","memoryState","updateState","newState","listeners","listener","setState","indexOf","splice","closeConfirm","resolveCallback","Promise","res","HoverablePopover","QuestionMarkIcon","triggerStyles","trigger","content","questionMarkIconContainer","range","useRouter","isRTLLocale","SwitchSize","XSmall","Normal","Large","Switch","items","onSelect","selected","selectedIndex","findIndex","item","locale","xSmallContainer","button","disabled","itemSelected","itemLarge","itemNormal","itemSmall","itemXSmall","i","separatorLine","separatorLineVisible","style","width","transform","selectedItemBackgroundContainer","selectedItemBackground","useSWR","getUserProfile","isLoggedIn","userData","isValidating","useCallback","NO_REVALIDATION_MUTATOR_OPTIONS","revalidate","url","callback","mutationFn","options","setIsMutating","setError","variables","err","stringify","STAGING_API_HOST","PRODUCTION_API_HOST","API_HOST","process","env","NEXT_PUBLIC_VERCEL_ENV","getQuranReflectFilteredVerseUrl","params","getQuranReflectVerseUrl","feed","getQuranReflectEditUrl","edit","getQuranReflectAuthorUrl","username","viewComments","getQuranReflectTagUrl","tag","encodeURIComponent","InvalidEmail","COMMUNICATION"],"sourceRoot":""}
|