notification-settings.js.map 70 KB

1
  1. {"version":3,"file":"../pages/notification-settings.js","mappings":"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","sources":["webpack://quran.com/src/pages/notification-settings/index.tsx","webpack://quran.com/sentry-wrapper-module","webpack://quran.com/./public/icons/chevron-down.svg","webpack://quran.com/./src/components/Notifications/NotificationSettings/Tabs/CategoriesSettingsTab/CollapsibleWorkflowSettings/CollapsibleWorkflowSettings.module.scss","webpack://quran.com/./src/components/Notifications/NotificationSettings/Tabs/FieldsetContainer/FieldsetContainer.module.scss","webpack://quran.com/./src/components/Notifications/NotificationSettings/Tabs/PreferenceSettingsToggles/PreferenceSettingsToggles.module.scss","webpack://quran.com/./src/components/Notifications/NotificationSettings/Tabs/Tabs.module.scss","webpack://quran.com/./src/components/dls/Collapsible/Collapsible.module.scss","webpack://quran.com/./src/components/dls/Pill/Pill.module.scss","webpack://quran.com/./src/components/dls/Toggle/Toggle.module.scss","webpack://quran.com/./src/pages/index.module.scss","webpack://quran.com/./src/components/Notifications/InAppNotifications/NotificationContext.tsx","webpack://quran.com/./src/components/Notifications/NotificationSettings/Tabs/CategoriesSettingsTab/CollapsibleWorkflowSettings/index.tsx","webpack://quran.com/./src/components/Notifications/NotificationSettings/Tabs/CategoriesSettingsTab/index.tsx","webpack://quran.com/./src/components/Notifications/NotificationSettings/Tabs/FieldsetContainer/index.tsx","webpack://quran.com/./src/components/Notifications/NotificationSettings/Tabs/PreferenceSettingsToggles/index.tsx","webpack://quran.com/./src/components/Notifications/NotificationSettings/Tabs/index.tsx","webpack://quran.com/./src/components/Notifications/hooks/useFetchNotifications.ts","webpack://quran.com/./src/components/Notifications/hooks/useFetchUserPreferences.ts","webpack://quran.com/./src/components/Notifications/hooks/useHeadlessService.tsx","webpack://quran.com/./src/components/Notifications/hooks/useInitializeUnseenCount.ts","webpack://quran.com/./src/components/Notifications/hooks/useMarkNotificationAsSeen.ts","webpack://quran.com/./src/components/Notifications/hooks/useUpdateUserPreferences.ts","webpack://quran.com/./src/components/dls/Collapsible/Collapsible.tsx","webpack://quran.com/./src/components/dls/Pill/index.tsx","webpack://quran.com/./src/components/dls/Toggle/Toggle.tsx","webpack://quran.com/./src/lib/sentry.ts","webpack://quran.com/external commonjs \"@novu/headless\"","webpack://quran.com/external commonjs \"@reduxjs/toolkit\"","webpack://quran.com/external commonjs \"@sentry/nextjs\"","webpack://quran.com/external commonjs \"classnames\"","webpack://quran.com/external commonjs \"humps\"","webpack://quran.com/external commonjs \"lodash/findKey\"","webpack://quran.com/external commonjs \"lodash/groupBy\"","webpack://quran.com/external commonjs \"lodash/random\"","webpack://quran.com/external commonjs \"lodash/range\"","webpack://quran.com/external commonjs \"next-seo\"","webpack://quran.com/external commonjs \"next-translate/useTranslation\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/app-router-context.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/head-manager-context.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/i18n/detect-domain-locale.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/i18n/normalize-locale-path.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/is-plain-object.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/mitt.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/page-path/denormalize-page-path.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router-context.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/add-locale.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/add-path-prefix.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/compare-states.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/format-next-pathname-info.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/format-url.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/get-asset-path-from-route.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/get-next-pathname-info.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/is-bot.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/is-dynamic.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/parse-path.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/parse-relative-url.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/path-has-prefix.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/querystring.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/remove-trailing-slash.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/resolve-rewrites.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/route-matcher.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/route-regex.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/utils.js\"","webpack://quran.com/external commonjs \"next/router\"","webpack://quran.com/external commonjs \"react\"","webpack://quran.com/external commonjs \"react-redux\"","webpack://quran.com/external commonjs \"react/jsx-runtime\"","webpack://quran.com/external module \"@radix-ui/react-collapsible\"","webpack://quran.com/external module \"@radix-ui/react-switch\"","webpack://quran.com/external module \"@radix-ui/react-tooltip\"","webpack://quran.com/external module \"firebase/compat/analytics\"","webpack://quran.com/external module \"firebase/compat/app\"","webpack://quran.com/external module \"js-cookie\"","webpack://quran.com/external module \"react-toastify\"","webpack://quran.com/external node-commonjs \"querystring\""],"sourcesContent":["/* eslint-disable max-lines */\n\nimport { GetStaticProps } from 'next';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport withAuth from '@/components/Auth/withAuth';\nimport NextSeoWrapper from '@/components/NextSeoWrapper';\nimport { NotificationsProvider } from '@/components/Notifications/InAppNotifications/NotificationContext';\nimport NotificationSettingsTabs from '@/components/Notifications/NotificationSettings/Tabs';\nimport layoutStyles from '@/pages/index.module.scss';\nimport { getAllChaptersData } from '@/utils/chapter';\nimport { getLanguageAlternates } from '@/utils/locale';\nimport { getCanonicalUrl, getNotificationSettingsNavigationUrl } from '@/utils/navigation';\n\nconst NotificationSettingsPage = () => {\n const { t, lang } = useTranslation('common');\n const navigationUrl = getNotificationSettingsNavigationUrl();\n const isProduction = process.env.NEXT_PUBLIC_VERCEL_ENV === 'production';\n\n return (\n <>\n <NextSeoWrapper\n title={t('notification-settings')}\n canonical={getCanonicalUrl(lang, navigationUrl)}\n languageAlternates={getLanguageAlternates(navigationUrl)}\n nofollow\n noindex\n />\n <div className={layoutStyles.pageContainer}>\n <div className={layoutStyles.flow}>\n <div className={layoutStyles.flowItem}>\n {isProduction ? (\n <NotificationsProvider>\n <NotificationSettingsTabs />\n </NotificationsProvider>\n ) : (\n // eslint-disable-next-line i18next/no-literal-string\n <p>{t('notification-settings:notif-settings-not-enabled')}</p>\n )}\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 },\n };\n};\n\nexport default withAuth(NotificationSettingsPage);\n","import * as Sentry from '@sentry/nextjs';\nimport * as serverComponentModule from '__SENTRY_WRAPPING_TARGET_FILE__.cjs';\nexport * from '__SENTRY_WRAPPING_TARGET_FILE__.cjs';\n\n/*\n * This file is a template for the code which will be substituted when our webpack loader handles non-API files in the\n * `pages/` directory.\n *\n * We use `__SENTRY_WRAPPING_TARGET_FILE__.cjs` as a placeholder for the path to the file being wrapped. Because it's not a real package,\n * this causes both TS and ESLint to complain, hence the pragma comments below.\n */\n\nconst userPageModule = serverComponentModule ;\n\nconst pageComponent = userPageModule ? userPageModule.default : undefined;\n\nconst origGetInitialProps = pageComponent ? pageComponent.getInitialProps : undefined;\nconst origGetStaticProps = userPageModule ? userPageModule.getStaticProps : undefined;\nconst origGetServerSideProps = userPageModule ? userPageModule.getServerSideProps : undefined;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst getInitialPropsWrappers = {\n '/_app': Sentry.wrapAppGetInitialPropsWithSentry,\n '/_document': Sentry.wrapDocumentGetInitialPropsWithSentry,\n '/_error': Sentry.wrapErrorGetInitialPropsWithSentry,\n};\n\nconst getInitialPropsWrapper = getInitialPropsWrappers['/notification-settings'] || Sentry.wrapGetInitialPropsWithSentry;\n\nif (pageComponent && typeof origGetInitialProps === 'function') {\n pageComponent.getInitialProps = getInitialPropsWrapper(origGetInitialProps) ;\n}\n\nconst getStaticProps =\n typeof origGetStaticProps === 'function'\n ? Sentry.wrapGetStaticPropsWithSentry(origGetStaticProps, '/notification-settings')\n : undefined;\nconst getServerSideProps =\n typeof origGetServerSideProps === 'function'\n ? Sentry.wrapGetServerSidePropsWithSentry(origGetServerSideProps, '/notification-settings')\n : undefined;\n\nconst pageWrapperTemplate = pageComponent ? Sentry.wrapPageComponentWithSentry(pageComponent ) : pageComponent;\n\nexport { pageWrapperTemplate as default, getServerSideProps, getStaticProps };\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar 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;","// Exports\nmodule.exports = {\n\t\"container\": \"CollapsibleWorkflowSettings_container__vrNoK\",\n\t\"workflowName\": \"CollapsibleWorkflowSettings_workflowName__0RkJz\",\n\t\"workflowChannels\": \"CollapsibleWorkflowSettings_workflowChannels__mIy5l\"\n};\n","// Exports\nmodule.exports = {\n\t\"channelsContainer\": \"FieldsetContainer_channelsContainer___vj9c\"\n};\n","// Exports\nmodule.exports = {\n\t\"row\": \"PreferenceSettingsToggles_row__ZKxQT\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"Tabs_container__s7UYm\",\n\t\"header\": \"Tabs_header__ENuIE\",\n\t\"titleContainer\": \"Tabs_titleContainer__VlDsW\",\n\t\"loadingContainer\": \"Tabs_loadingContainer__Ewtc2\"\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\"container\": \"Pill_container__FoIEg\",\n\t\"small\": \"Pill_small__zCILo\"\n};\n","// Exports\nmodule.exports = {\n\t\"root\": \"Toggle_root__H_bcP\",\n\t\"thumb\": \"Toggle_thumb__6mKWE\",\n\t\"label\": \"Toggle_label__FQD4J\",\n\t\"container\": \"Toggle_container__Hmm6V\"\n};\n","// Exports\nmodule.exports = {\n\t\"pageContainer\": \"index_pageContainer__Pxtn3\",\n\t\"loadingContainer\": \"index_loadingContainer__WEZFc\",\n\t\"flow\": \"index_flow__rCTR5\",\n\t\"flowItem\": \"index_flowItem__GnXWz\",\n\t\"additionalVerticalGap\": \"index_additionalVerticalGap__nzYz6\",\n\t\"fullWidth\": \"index_fullWidth__1n4ux\"\n};\n","/* eslint-disable max-lines */\nimport { useContext, createContext, useMemo } from 'react';\n\nimport useFetchNotifications from '@/components/Notifications/hooks/useFetchNotifications';\nimport { HeadlessServiceProvider } from '@/components/Notifications/hooks/useHeadlessService';\nimport useInitializeUnseenCount from '@/components/Notifications/hooks/useInitializeUnseenCount';\n\ntype NotificationContextType = {\n fetchNotifications: ReturnType<typeof useFetchNotifications>;\n};\n\nconst NotificationContext = createContext<NotificationContextType>({} as NotificationContextType);\n\nconst NotificationsProviderInner = ({ children }: { children: React.ReactNode }) => {\n // fetch initial unseen count and listen to its changes\n useInitializeUnseenCount();\n\n const fetchNotifications = useFetchNotifications();\n\n const value = useMemo(\n () => ({\n fetchNotifications,\n }),\n [fetchNotifications],\n );\n\n return <NotificationContext.Provider value={value}>{children}</NotificationContext.Provider>;\n};\n\n// eslint-disable-next-line react/no-multi-comp\nexport const NotificationsProvider = ({ children }: { children: React.ReactNode }) => {\n return (\n <HeadlessServiceProvider>\n <NotificationsProviderInner>{children}</NotificationsProviderInner>\n </HeadlessServiceProvider>\n );\n};\n\nexport const useNotifications = () => useContext(NotificationContext);\n","/* eslint-disable no-underscore-dangle */\nimport React, { useMemo, useState } from 'react';\n\nimport { ChannelTypeEnum, IUserPreferenceSettings } from '@novu/headless';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './CollapsibleWorkflowSettings.module.scss';\n\nimport useUpdateUserPreferences from '@/components/Notifications/hooks/useUpdateUserPreferences';\nimport PreferenceSettingsToggles from '@/components/Notifications/NotificationSettings/Tabs/PreferenceSettingsToggles';\nimport Collapsible, { CollapsibleDirection } from '@/dls/Collapsible/Collapsible';\nimport ChevronDownIcon from '@/icons/chevron-down.svg';\nimport { logEvent, logValueChange } from '@/utils/eventLogger';\n\ntype Props = {\n preference: IUserPreferenceSettings;\n};\n\nconst CollapsibleWorkflowSettings: React.FC<Props> = ({ preference }) => {\n const { t } = useTranslation('notification-settings');\n const { mutate: UpdateUserPreferences, isMutating } = useUpdateUserPreferences(\n // eslint-disable-next-line no-underscore-dangle\n preference.template._id,\n );\n // we need a local state to handle UI updates when the user changes one of the settings since the toggles are controlled\n const [preferenceState, setPreferenceState] = useState<IUserPreferenceSettings>(preference);\n const [mutatingChannel, setMutatingChannel] = useState<ChannelTypeEnum>();\n\n const onOpenChange = (isOpen: boolean) => {\n if (isOpen) {\n logEvent('notif_workflow_settings_drawer_opened');\n } else {\n logEvent('notif_workflow_settings_drawer_closed');\n }\n };\n\n const onToggle = (isChecked: boolean, channel?: ChannelTypeEnum) => {\n setMutatingChannel(channel);\n logValueChange('notif_workflow_settings', !isChecked, isChecked, {\n channel,\n });\n UpdateUserPreferences(isChecked, channel, () => {\n setPreferenceState((prev) => {\n const newState = { ...prev };\n newState.preference.channels[channel] = isChecked;\n return newState;\n });\n });\n };\n\n const workflowChannels = useMemo(\n () =>\n // eslint-disable-next-line unicorn/no-array-reduce\n Object.keys(preferenceState.preference.channels).reduce((acc, currentValue) => {\n if (!acc) return t(`channels.${currentValue}`);\n return `${acc}, ${t(`channels.${currentValue}`)}`;\n }, ''),\n [preferenceState.preference.channels, t],\n );\n\n return (\n <div className={styles.container}>\n <Collapsible\n title={\n <div>\n <p className={styles.workflowName}>{preferenceState.template.name}</p>\n <p className={styles.workflowChannels}>{workflowChannels}</p>\n </div>\n }\n prefix={<ChevronDownIcon />}\n shouldRotatePrefixOnToggle\n onOpenChange={onOpenChange}\n direction={CollapsibleDirection.Right}\n >\n {({ isOpen: isOpenRenderProp }) => {\n if (!isOpenRenderProp) return null;\n return (\n <PreferenceSettingsToggles\n onToggle={onToggle}\n isMutating={isMutating}\n preference={preferenceState}\n mutatingChannel={mutatingChannel}\n hasGlobalPreference={false}\n />\n );\n }}\n </Collapsible>\n </div>\n );\n};\n\nexport default CollapsibleWorkflowSettings;\n","/* eslint-disable no-underscore-dangle */\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { IUserPreferenceSettings } from '@novu/headless';\nimport groupBy from 'lodash/groupBy';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport parentStyles from '../Tabs.module.scss';\n\nimport CollapsibleWorkflowSettings from './CollapsibleWorkflowSettings';\n\nimport useFetchUserPreferences from '@/components/Notifications/hooks/useFetchUserPreferences';\nimport { HeadlessServiceStatus } from '@/components/Notifications/hooks/useHeadlessService';\nimport FieldsetContainer from '@/components/Notifications/NotificationSettings/Tabs/FieldsetContainer';\nimport Pill, { PillSize } from '@/dls/Pill';\nimport Spinner, { SpinnerSize } from '@/dls/Spinner/Spinner';\nimport Error from '@/pages/_error';\n\nconst MARKETING_TAG = 'marketing';\n\nconst CategoriesSettingsTab = () => {\n const { t } = useTranslation('notification-settings');\n const {\n mutate,\n isMutating: isFetchingUserPreferences,\n error,\n userPreferences,\n status,\n } = useFetchUserPreferences();\n // we need a local state to handle UI updates when the user changes one of the settings since the toggles are controlled\n const [preferences, setPreferences] = useState<IUserPreferenceSettings[]>(\n userPreferences as IUserPreferenceSettings[],\n );\n\n /**\n * Group the preferences by tags. We filter out:\n *\n * 1. critical workflows since they are cannot be skipped.\n * 2. preferences that don't have tags since they cannot be categorized.\n * 3. non-marketing emails\n */\n const groupByTags = useMemo(\n () =>\n groupBy(\n preferences?.filter(\n (preference) =>\n preference.template.critical === false &&\n !!preference.template.tags.length &&\n !preference.template.tags.includes(MARKETING_TAG),\n ),\n (preference) => preference.template.tags,\n ),\n [preferences],\n );\n\n useEffect(() => {\n setPreferences(userPreferences as IUserPreferenceSettings[]);\n }, [userPreferences]);\n\n useEffect(() => {\n mutate(false);\n }, [mutate]);\n\n const isLoading = status === HeadlessServiceStatus.INITIALIZING || isFetchingUserPreferences;\n if (isLoading) {\n return (\n <div className={parentStyles.loadingContainer}>\n <Spinner size={SpinnerSize.Large} />\n </div>\n );\n }\n const hasError = status === HeadlessServiceStatus.ERROR || error;\n if (hasError) {\n return (\n <div className={parentStyles.loadingContainer}>\n <Error statusCode={500} />\n </div>\n );\n }\n\n // if it's loading or there's an error, we don't want to render anything\n if (!preferences || preferences.length === 0) {\n return null;\n }\n\n return (\n <>\n {Object.keys(groupByTags).map((tag) => {\n const tagPreferences = groupByTags[tag];\n return (\n <div key={tag}>\n <FieldsetContainer title={<Pill size={PillSize.SMALL}>{t(`tags.${tag}`)}</Pill>}>\n {tagPreferences.map((preference) => {\n return (\n <CollapsibleWorkflowSettings\n key={preference.template._id}\n preference={preference}\n />\n );\n })}\n </FieldsetContainer>\n </div>\n );\n })}\n </>\n );\n};\n\nexport default CategoriesSettingsTab;\n","import React from 'react';\n\nimport styles from './FieldsetContainer.module.scss';\n\ntype Props = {\n children: React.ReactNode;\n title: React.ReactNode;\n};\n\nconst FieldsetContainer: React.FC<Props> = ({ children, title }) => {\n return (\n <fieldset className={styles.channelsContainer}>\n <legend>{title}</legend>\n {children}\n </fieldset>\n );\n};\n\nexport default FieldsetContainer;\n","import React from 'react';\n\nimport {\n ChannelTypeEnum,\n IUserGlobalPreferenceSettings,\n IUserPreferenceSettings,\n} from '@novu/headless';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './PreferenceSettingsToggles.module.scss';\n\nimport FieldsetContainer from '@/components/Notifications/NotificationSettings/Tabs/FieldsetContainer';\nimport Spinner from '@/dls/Spinner/Spinner';\nimport Toggle from '@/dls/Toggle/Toggle';\n\ntype Props = {\n isMutating: boolean;\n preference: IUserPreferenceSettings | IUserGlobalPreferenceSettings;\n onToggle: (isChecked: boolean, channel?: ChannelTypeEnum) => void;\n hasGlobalPreference?: boolean;\n mutatingChannel?: string;\n};\n\nconst PreferenceSettingsToggles: React.FC<Props> = ({\n isMutating,\n preference,\n onToggle,\n hasGlobalPreference = true,\n mutatingChannel,\n}) => {\n const { t } = useTranslation('notification-settings');\n return (\n <>\n {hasGlobalPreference && (\n <div className={styles.row}>\n <Toggle\n id=\"all-notifications\"\n label={t('all-notifications')}\n onChange={onToggle}\n checked={preference.preference.enabled}\n disabled={isMutating}\n />\n {isMutating && <Spinner />}\n </div>\n )}\n\n <FieldsetContainer title={t('channels-notifications')}>\n {Object.keys(preference.preference.channels).map((channelName) => {\n return (\n <div className={styles.row} key={channelName}>\n <Toggle\n id={channelName}\n disabled={isMutating}\n label={t(`channels.${channelName}`)}\n onChange={(checked) => onToggle(checked, channelName as ChannelTypeEnum)}\n checked={preference.preference.channels[channelName]}\n />\n {isMutating && channelName === mutatingChannel && <Spinner />}\n </div>\n );\n })}\n </FieldsetContainer>\n </>\n );\n};\n\nexport default PreferenceSettingsToggles;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './Tabs.module.scss';\n\nimport CategoriesSettingsTab from '@/components/Notifications/NotificationSettings/Tabs/CategoriesSettingsTab';\n\nconst NotificationSettingsTabs = () => {\n const { t } = useTranslation('notification-settings');\n\n return (\n <div className={styles.container}>\n <div className={styles.header}>\n <div className={styles.titleContainer}>\n <h1>{t('common:notification-settings')}</h1>\n </div>\n </div>\n <CategoriesSettingsTab />\n </div>\n );\n};\n\nexport default NotificationSettingsTabs;\n","import { useCallback, useState } from 'react';\n\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { useHeadlessService } from './useHeadlessService';\nimport useMarkNotificationAsSeen from './useMarkNotificationAsSeen';\n\nimport { logErrorToSentry } from '@/lib/sentry';\nimport {\n selectLoadedNotificationsPages,\n selectNotificationsIsFetching,\n setNotificationsLoading,\n setNotificationsPageAndFinishLoading,\n} from '@/redux/slices/notifications';\nimport { areArraysEqual } from '@/utils/array';\n\nconst NOTIFICATIONS_PAGE_SIZE = 10;\n\nconst useFetchNotifications = () => {\n const { headlessService, isReady } = useHeadlessService();\n const [error, setError] = useState<unknown | null>(null);\n const dispatch = useDispatch();\n\n const { mutate: markNotificationAsSeen } = useMarkNotificationAsSeen();\n const loadedPages = useSelector(selectLoadedNotificationsPages, areArraysEqual);\n const isFetchingNotifications = useSelector(selectNotificationsIsFetching);\n\n const fetchNotifications = useCallback(\n // eslint-disable-next-line react-func/max-lines-per-function\n ({\n shouldMarkAsSeenOnSuccess = true,\n page,\n shouldResetOldData = false,\n }: {\n shouldMarkAsSeenOnSuccess?: boolean;\n shouldResetOldData?: boolean;\n page: number;\n }) => {\n if (isReady) {\n if (isFetchingNotifications || loadedPages.includes(page)) {\n return;\n }\n\n headlessService.fetchNotifications({\n page,\n query: {\n limit: NOTIFICATIONS_PAGE_SIZE,\n },\n listener: ({ isLoading: loading, isFetching: fetching, data }) => {\n if (data) {\n dispatch({\n type: setNotificationsPageAndFinishLoading.type,\n payload: {\n page: data.page,\n data,\n shouldResetOldData,\n },\n });\n } else {\n dispatch({\n type: setNotificationsLoading.type,\n payload: {\n isLoading: loading,\n isFetching: fetching,\n shouldResetOldData,\n },\n });\n }\n },\n onSuccess: (response) => {\n setError(null);\n if (shouldMarkAsSeenOnSuccess) {\n const messageIds = response.data.map((message) => {\n // eslint-disable-next-line no-underscore-dangle\n return message._id;\n });\n markNotificationAsSeen(messageIds);\n }\n },\n onError: (err) => {\n setError(err);\n logErrorToSentry(err, {\n transactionName: 'useFetchNotifications',\n metadata: {\n page,\n shouldMarkAsSeenOnSuccess,\n shouldResetOldData,\n },\n });\n },\n });\n }\n },\n [\n dispatch,\n headlessService,\n isReady,\n markNotificationAsSeen,\n loadedPages,\n isFetchingNotifications,\n ],\n );\n\n return { fetch: fetchNotifications, error };\n};\n\nexport default useFetchNotifications;\n","import { useCallback, useMemo, useState } from 'react';\n\nimport { IUserGlobalPreferenceSettings, IUserPreferenceSettings } from '@novu/headless';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport { useHeadlessService } from '@/components/Notifications/hooks/useHeadlessService';\nimport { ToastStatus, useToast } from '@/dls/Toast/Toast';\nimport { logErrorToSentry } from '@/lib/sentry';\n\nconst useFetchUserPreferences = () => {\n const { headlessService, isReady, status } = useHeadlessService();\n const [isMutating, setIsMutating] = useState(false);\n const [error, setError] = useState<unknown>(null);\n const { t } = useTranslation('common');\n const toast = useToast();\n const [userPreferences, setUserPreferences] = useState<\n IUserPreferenceSettings[] | IUserGlobalPreferenceSettings[]\n >(null);\n\n const handlers = useMemo(\n () => ({\n listener: ({ isLoading }) => {\n setIsMutating(isLoading);\n },\n onSuccess: (response) => {\n setError(null);\n setUserPreferences(response);\n },\n onError: (err) => {\n setError(err);\n toast(t('error.general'), { status: ToastStatus.Error });\n logErrorToSentry(err, {\n transactionName: 'useFetchUserPreferences',\n });\n },\n }),\n [t, toast],\n );\n\n const fetchGetUserPreferences = useCallback(\n (fetchGlobalSettings = false) => {\n if (isReady) {\n if (fetchGlobalSettings) {\n headlessService.fetchUserGlobalPreferences(handlers);\n } else {\n headlessService.fetchUserPreferences(handlers);\n }\n }\n },\n [handlers, headlessService, isReady],\n );\n\n return {\n mutate: fetchGetUserPreferences,\n isMutating,\n error,\n userPreferences,\n status,\n };\n};\n\nexport default useFetchUserPreferences;\n","import { createContext, useContext, useEffect, useMemo, useState } from 'react';\n\nimport { HeadlessService } from '@novu/headless';\n\nimport { logErrorToSentry } from '@/lib/sentry';\nimport { getNotificationSubscriberHashCookie, getUserIdCookie } from '@/utils/auth/login';\n\nconst HeadlessServiceContext = createContext<{\n headlessService: HeadlessService;\n status: HeadlessServiceStatus;\n isReady: boolean;\n error: unknown | null;\n}>(null);\n\nexport enum HeadlessServiceStatus {\n INITIALIZING = 'initializing',\n READY = 'ready',\n ERROR = 'error',\n}\n\nexport const HeadlessServiceProvider = ({ children }) => {\n const [status, setStatus] = useState<HeadlessServiceStatus>(HeadlessServiceStatus.INITIALIZING);\n const [error, setError] = useState<unknown | null>(null);\n\n const headlessService = useMemo(() => {\n return new HeadlessService({\n backendUrl: process.env.NEXT_PUBLIC_NOVU_BACKEND_URL,\n socketUrl: process.env.NEXT_PUBLIC_NOVU_SOCKET_URL,\n subscriberId: getUserIdCookie(),\n subscriberHash: getNotificationSubscriberHashCookie(),\n applicationIdentifier: process.env.NEXT_PUBLIC_NOVU_APP_ID,\n });\n }, []);\n\n useEffect(() => {\n headlessService.initializeSession({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n listener: () => {},\n onSuccess: () => {\n setStatus(HeadlessServiceStatus.READY);\n },\n onError: (err) => {\n setError(err);\n setStatus(HeadlessServiceStatus.ERROR);\n logErrorToSentry(err, { transactionName: 'useHeadlessService' });\n },\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [headlessService]);\n\n const value = useMemo(\n () => ({ headlessService, status, isReady: status === HeadlessServiceStatus.READY, error }),\n [headlessService, status, error],\n );\n\n return (\n <HeadlessServiceContext.Provider value={value}>{children}</HeadlessServiceContext.Provider>\n );\n};\n\nexport const useHeadlessService = () => useContext(HeadlessServiceContext);\n","import { useEffect, useState } from 'react';\n\nimport { useDispatch } from 'react-redux';\n\nimport { useHeadlessService } from './useHeadlessService';\n\nimport { logErrorToSentry } from '@/lib/sentry';\nimport { setUnseenCount } from '@/redux/slices/notifications';\n\nconst useInitializeUnseenCount = () => {\n const { headlessService, isReady } = useHeadlessService();\n const [error, setError] = useState<unknown>(null);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (isReady) {\n headlessService.fetchUnseenCount({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n listener: () => {},\n onSuccess: ({ count }) => {\n dispatch({ type: setUnseenCount.type, payload: count });\n setError(null);\n },\n onError: (err: unknown) => {\n setError(err);\n logErrorToSentry(err, { transactionName: 'useInitializeUnseenCount' });\n },\n });\n\n headlessService.listenUnseenCountChange({\n listener: (count) => {\n dispatch({ type: setUnseenCount.type, payload: count });\n },\n });\n }\n }, [headlessService, isReady, dispatch]);\n\n return { error };\n};\n\nexport default useInitializeUnseenCount;\n","import { useCallback, useState } from 'react';\n\nimport { IMessageId } from '@novu/headless';\n\nimport { useHeadlessService } from './useHeadlessService';\n\nimport { logErrorToSentry } from '@/lib/sentry';\n\nconst useMarkNotificationAsSeen = () => {\n const { headlessService, isReady } = useHeadlessService();\n const [isMutating, setIsMutating] = useState(false);\n const [error, setError] = useState<unknown>(null);\n\n const markNotificationsAsSeen = useCallback(\n (messageIds: IMessageId) => {\n if (isReady) {\n headlessService.markNotificationsAsSeen({\n messageId: messageIds,\n listener: ({ isLoading }) => {\n setIsMutating(isLoading);\n },\n onSuccess: () => {\n setError(null);\n },\n onError: (err) => {\n setError(err);\n logErrorToSentry(err, {\n transactionName: 'useMarkNotificationAsSeen',\n metadata: { messageIds },\n });\n },\n });\n }\n },\n [headlessService, isReady],\n );\n\n return {\n mutate: markNotificationsAsSeen,\n isLoading: isMutating,\n error,\n };\n};\n\nexport default useMarkNotificationAsSeen;\n","import { useState } from 'react';\n\nimport { IUpdateUserPreferencesVariables } from '@novu/headless';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport { useHeadlessService } from './useHeadlessService';\n\nimport { ToastStatus, useToast } from '@/dls/Toast/Toast';\nimport { logErrorToSentry } from '@/lib/sentry';\n\nconst useUpdateUserPreferences = (templateId: string) => {\n const { headlessService } = useHeadlessService();\n const [isMutating, setIsMutating] = useState(false);\n const [error, setError] = useState<unknown>(null);\n const { t } = useTranslation('common');\n const toast = useToast();\n\n const updateUserPreferences = (\n enabled: IUpdateUserPreferencesVariables['checked'],\n channel: IUpdateUserPreferencesVariables['channelType'],\n onSuccess?: () => void,\n ) => {\n headlessService.updateUserPreferences({\n templateId,\n checked: enabled,\n channelType: channel,\n listener: ({ isLoading }) => {\n setIsMutating(isLoading);\n },\n onSuccess: () => {\n setError(null);\n toast(t('notification-settings:notif-update-success'), { status: ToastStatus.Success });\n if (onSuccess) {\n onSuccess();\n }\n },\n onError: (err) => {\n setError(err);\n toast(t('error.general'), { status: ToastStatus.Error });\n logErrorToSentry(err, {\n transactionName: 'updateUserPreferences',\n metadata: {\n templateId,\n checked: enabled,\n channelType: channel,\n },\n });\n },\n });\n };\n\n return { mutate: updateUserPreferences, isMutating, error };\n};\n\nexport default useUpdateUserPreferences;\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 './Pill.module.scss';\n\nexport enum PillSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n}\n\ntype Props = {\n children: React.ReactNode;\n size?: PillSize;\n};\n\nconst Pill: React.FC<Props> = ({ children, size = PillSize.MEDIUM }) => {\n return (\n <div\n className={classNames(styles.container, {\n [styles.medium]: size === PillSize.MEDIUM,\n [styles.small]: size === PillSize.SMALL,\n })}\n >\n {children}\n </div>\n );\n};\n\nexport default Pill;\n","import React from 'react';\n\nimport * as RadixToggle from '@radix-ui/react-switch';\n\nimport styles from './Toggle.module.scss';\n\ninterface Props {\n id: string;\n onChange?: (checked: boolean) => void;\n checked?: boolean;\n disabled?: boolean;\n required?: boolean;\n label?: string | JSX.Element;\n name?: string;\n defaultChecked?: boolean;\n}\n\nconst Toggle: React.FC<Props> = ({\n disabled = false,\n required = false,\n defaultChecked,\n checked,\n id,\n label,\n name,\n onChange,\n}) => {\n return (\n <div className={styles.container}>\n {label && (\n <label className={styles.label} htmlFor={id}>\n {label}\n </label>\n )}\n\n <RadixToggle.Root\n id={id}\n disabled={disabled}\n name={name}\n required={required}\n className={styles.root}\n {...(checked !== undefined && { checked })}\n {...(defaultChecked !== undefined && { defaultChecked })}\n {...(onChange !== undefined && { onCheckedChange: onChange })}\n >\n <RadixToggle.Thumb className={styles.thumb} />\n </RadixToggle.Root>\n </div>\n );\n};\n\nexport default Toggle;\n","import * as Sentry from '@sentry/nextjs';\n\nimport { getUserIdCookie } from '@/utils/auth/login';\n\nconst SENTRY_ENABLED = process.env.NEXT_PUBLIC_CLIENT_SENTRY_ENABLED === 'true';\n\ninterface LogOptions {\n metadata?: Record<string, unknown>;\n transactionName?: string;\n}\n\n/**\n * A wrapper around Sentry.captureException that logs to the console if Sentry is not enabled and accepts additional metadata.\n *\n * @param {unknown} error\n * @param {LogOptions} options\n */\nexport const logErrorToSentry = (error: unknown, options: LogOptions = {}) => {\n if (!SENTRY_ENABLED) {\n // eslint-disable-next-line no-console\n console.error(error, options);\n } else {\n Sentry.captureException(error, (scope) => {\n if (options.metadata) {\n scope.setContext('extraData', options.metadata);\n }\n if (getUserIdCookie()) {\n scope.setUser({\n id: getUserIdCookie(),\n });\n }\n if (options.transactionName) {\n scope.setTransactionName(options.transactionName);\n }\n return scope;\n });\n }\n};\n\n/**\n * A wrapper around Sentry.captureMessage that logs to the console if Sentry is not enabled and accepts additional metadata. This is typically used for logging errors or in-app states that are not thrown.\n *\n * @param {string} message\n * @param {LogOptions} options\n */\nexport const logMessageToSentry = (\n message: string,\n options: {\n metadata?: Record<string, unknown>;\n transactionName?: string;\n } = {},\n) => {\n if (!SENTRY_ENABLED) {\n // eslint-disable-next-line no-console\n console.log(message, options);\n } else {\n Sentry.captureMessage(message, (scope) => {\n if (options.metadata) {\n scope.setContext('extraData', options.metadata);\n }\n if (options.transactionName) {\n scope.setTransactionName(options.transactionName);\n }\n return scope;\n });\n }\n};\n","module.exports = require(\"@novu/headless\");","module.exports = require(\"@reduxjs/toolkit\");","module.exports = require(\"@sentry/nextjs\");","module.exports = require(\"classnames\");","module.exports = require(\"humps\");","module.exports = require(\"lodash/findKey\");","module.exports = require(\"lodash/groupBy\");","module.exports = require(\"lodash/random\");","module.exports = require(\"lodash/range\");","module.exports = require(\"next-seo\");","module.exports = require(\"next-translate/useTranslation\");","module.exports = require(\"next/dist/shared/lib/app-router-context.js\");","module.exports = require(\"next/dist/shared/lib/head-manager-context.js\");","module.exports = require(\"next/dist/shared/lib/i18n/detect-domain-locale.js\");","module.exports = require(\"next/dist/shared/lib/i18n/normalize-locale-path.js\");","module.exports = require(\"next/dist/shared/lib/is-plain-object.js\");","module.exports = require(\"next/dist/shared/lib/mitt.js\");","module.exports = require(\"next/dist/shared/lib/page-path/denormalize-page-path.js\");","module.exports = require(\"next/dist/shared/lib/router-context.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/add-locale.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/add-path-prefix.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/compare-states.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/format-next-pathname-info.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/format-url.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/get-asset-path-from-route.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/get-next-pathname-info.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/is-bot.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/is-dynamic.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/parse-path.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/parse-relative-url.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/path-has-prefix.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/querystring.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/remove-trailing-slash.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/resolve-rewrites.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/route-matcher.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/route-regex.js\");","module.exports = require(\"next/dist/shared/lib/utils.js\");","module.exports = require(\"next/router\");","module.exports = require(\"react\");","module.exports = require(\"react-redux\");","module.exports = require(\"react/jsx-runtime\");","module.exports = import(\"@radix-ui/react-collapsible\");;","module.exports = import(\"@radix-ui/react-switch\");;","module.exports = import(\"@radix-ui/react-tooltip\");;","module.exports = import(\"firebase/compat/analytics\");;","module.exports = import(\"firebase/compat/app\");;","module.exports = import(\"js-cookie\");;","module.exports = import(\"react-toastify\");;","module.exports = require(\"querystring\");"],"names":["NotificationSettingsPage","t","lang","useTranslation","navigationUrl","getNotificationSettingsNavigationUrl","isProduction","process","env","NEXT_PUBLIC_VERCEL_ENV","_jsxs","_Fragment","_jsx","NextSeoWrapper","title","canonical","getCanonicalUrl","languageAlternates","getLanguageAlternates","nofollow","noindex","div","className","layoutStyles","pageContainer","flow","flowItem","NotificationsProvider","NotificationSettingsTabs","p","getStaticProps","locale","allChaptersData","getAllChaptersData","props","chaptersData","withAuth","useContext","createContext","useMemo","useFetchNotifications","HeadlessServiceProvider","useInitializeUnseenCount","NotificationContext","NotificationsProviderInner","children","fetchNotifications","value","Provider","useNotifications","React","useState","styles","useUpdateUserPreferences","PreferenceSettingsToggles","Collapsible","CollapsibleDirection","ChevronDownIcon","logEvent","logValueChange","CollapsibleWorkflowSettings","preference","mutate","UpdateUserPreferences","isMutating","template","_id","preferenceState","setPreferenceState","mutatingChannel","setMutatingChannel","onOpenChange","isOpen","onToggle","isChecked","channel","prev","newState","channels","workflowChannels","Object","keys","reduce","acc","currentValue","container","workflowName","name","prefix","shouldRotatePrefixOnToggle","direction","Right","isOpenRenderProp","hasGlobalPreference","useEffect","groupBy","parentStyles","useFetchUserPreferences","HeadlessServiceStatus","FieldsetContainer","Pill","PillSize","Spinner","SpinnerSize","Error","MARKETING_TAG","CategoriesSettingsTab","isFetchingUserPreferences","error","userPreferences","status","preferences","setPreferences","groupByTags","filter","critical","tags","length","includes","isLoading","INITIALIZING","loadingContainer","size","Large","hasError","ERROR","statusCode","map","tag","tagPreferences","SMALL","fieldset","channelsContainer","legend","Toggle","row","id","label","onChange","checked","enabled","disabled","channelName","header","titleContainer","h1","useCallback","useDispatch","useSelector","useHeadlessService","useMarkNotificationAsSeen","logErrorToSentry","selectLoadedNotificationsPages","selectNotificationsIsFetching","setNotificationsLoading","setNotificationsPageAndFinishLoading","areArraysEqual","NOTIFICATIONS_PAGE_SIZE","headlessService","isReady","setError","dispatch","markNotificationAsSeen","loadedPages","isFetchingNotifications","shouldMarkAsSeenOnSuccess","page","shouldResetOldData","query","limit","listener","loading","isFetching","fetching","data","type","payload","onSuccess","response","messageIds","message","onError","err","transactionName","metadata","fetch","ToastStatus","useToast","setIsMutating","toast","setUserPreferences","handlers","fetchGetUserPreferences","fetchGlobalSettings","fetchUserGlobalPreferences","fetchUserPreferences","HeadlessService","getNotificationSubscriberHashCookie","getUserIdCookie","HeadlessServiceContext","READY","setStatus","backendUrl","NEXT_PUBLIC_NOVU_BACKEND_URL","socketUrl","NEXT_PUBLIC_NOVU_SOCKET_URL","subscriberId","subscriberHash","applicationIdentifier","NEXT_PUBLIC_NOVU_APP_ID","initializeSession","setUnseenCount","fetchUnseenCount","count","listenUnseenCountChange","markNotificationsAsSeen","messageId","templateId","updateUserPreferences","channelType","Success","CollapsiblePrimitive","classNames","Left","isDefaultOpen","suffix","shouldOpen","setIsOpen","onSuffixClicked","e","preventDefault","stopPropagation","onHeaderClicked","preValue","Root","open","Trigger","asChild","onClick","headerLeft","prefixContainer","prefixRotated","suffixContainer","CollapsibleContent","MEDIUM","medium","small","RadixToggle","required","defaultChecked","htmlFor","root","undefined","onCheckedChange","Thumb","thumb","Sentry","SENTRY_ENABLED","NEXT_PUBLIC_CLIENT_SENTRY_ENABLED","options","console","captureException","scope","setContext","setUser","setTransactionName","logMessageToSentry","log","captureMessage"],"sourceRoot":""}