From 995a8a729ba7bf8f2cd9b83185cb25a3479c58d7 Mon Sep 17 00:00:00 2001 From: sundasnoreen12 Date: Thu, 3 Oct 2024 13:49:15 +0500 Subject: [PATCH] fix: fixed naming and restructure issue --- .../NotificationEmptySection.jsx | 4 ++-- src/new-notifications/NotificationRowItem.jsx | 4 ++-- src/new-notifications/NotificationSections.jsx | 8 ++++---- src/new-notifications/NotificationTabs.jsx | 4 ++-- src/new-notifications/context.js | 5 ----- .../context/notificationPopoverContext.js | 5 +++++ .../context/notificationsContext.js} | 4 ++-- src/new-notifications/data/hook.js | 15 +++++---------- src/new-notifications/index.jsx | 14 +++++++------- src/new-notifications/tours/NotificationTour.jsx | 4 ++-- src/new-notifications/tours/data/hooks.js | 4 ++-- 11 files changed, 33 insertions(+), 38 deletions(-) delete mode 100644 src/new-notifications/context.js create mode 100644 src/new-notifications/context/notificationPopoverContext.js rename src/{common/context.js => new-notifications/context/notificationsContext.js} (69%) diff --git a/src/new-notifications/NotificationEmptySection.jsx b/src/new-notifications/NotificationEmptySection.jsx index 9dd90847..862c3bcf 100644 --- a/src/new-notifications/NotificationEmptySection.jsx +++ b/src/new-notifications/NotificationEmptySection.jsx @@ -4,12 +4,12 @@ import { useIntl } from '@edx/frontend-platform/i18n'; import { Icon, IconButton } from '@openedx/paragon'; import { NotificationsNone } from '@openedx/paragon/icons'; -import NotificationContext from './context'; +import NotificationPopoverContext from './context/notificationPopoverContext'; import messages from './messages'; const EmptyNotifications = () => { const intl = useIntl(); - const { popoverHeaderRef, notificationRef } = useContext(NotificationContext); + const { popoverHeaderRef, notificationRef } = useContext(NotificationPopoverContext); return (
{ if (!lastRead) { diff --git a/src/new-notifications/NotificationSections.jsx b/src/new-notifications/NotificationSections.jsx index 88893013..0a296ab0 100644 --- a/src/new-notifications/NotificationSections.jsx +++ b/src/new-notifications/NotificationSections.jsx @@ -8,12 +8,12 @@ import { Button, Icon, Spinner } from '@openedx/paragon'; import { AutoAwesome, CheckCircleLightOutline } from '@openedx/paragon/icons'; import { RequestStatus } from './data/constants'; -import NotificationContext from './context'; +import NotificationPopoverContext from './context/notificationPopoverContext'; import messages from './messages'; import NotificationEmptySection from './NotificationEmptySection'; import NotificationRowItem from './NotificationRowItem'; import { splitNotificationsByTime } from './utils'; -import { HeaderContext } from '../common/context'; +import { notificationsContext } from './context/notificationsContext'; import { useNotification } from './data/hook'; const NotificationSections = () => { @@ -21,11 +21,11 @@ const NotificationSections = () => { const { appName, notificationListStatus, pagination, notificationExpiryDays, appsId, updateNotificationData, - } = useContext(HeaderContext); + } = useContext(notificationsContext); const { getNotifications, markAllNotificationsAsRead, fetchNotificationList } = useNotification(); const notificationList = getNotifications(); const { hasMorePages, currentPage } = pagination || {}; - const { popoverHeaderRef, notificationRef } = useContext(NotificationContext); + const { popoverHeaderRef, notificationRef } = useContext(NotificationPopoverContext); const { today = [], earlier = [] } = useMemo( () => splitNotificationsByTime(notificationList), [notificationList], diff --git a/src/new-notifications/NotificationTabs.jsx b/src/new-notifications/NotificationTabs.jsx index b07555a1..d759abe3 100644 --- a/src/new-notifications/NotificationTabs.jsx +++ b/src/new-notifications/NotificationTabs.jsx @@ -4,14 +4,14 @@ import { Tab, Tabs } from '@openedx/paragon'; import NotificationSections from './NotificationSections'; import { useFeedbackWrapper } from './utils'; -import { HeaderContext } from '../common/context'; +import { notificationsContext } from './context/notificationsContext'; import { useNotification } from './data/hook'; const NotificationTabs = () => { useFeedbackWrapper(); const { appName, handleActiveTab, tabsCount, appsId, updateNotificationData, - } = useContext(HeaderContext); + } = useContext(notificationsContext); const { fetchNotificationList, markNotificationsAsSeen } = useNotification(); useEffect(() => { diff --git a/src/new-notifications/context.js b/src/new-notifications/context.js deleted file mode 100644 index 7b0b4eef..00000000 --- a/src/new-notifications/context.js +++ /dev/null @@ -1,5 +0,0 @@ -import React from 'react'; - -const NotificationContext = React.createContext({ popoverHeaderRef: null, notificationRef: null }); - -export default NotificationContext; diff --git a/src/new-notifications/context/notificationPopoverContext.js b/src/new-notifications/context/notificationPopoverContext.js new file mode 100644 index 00000000..620c80e9 --- /dev/null +++ b/src/new-notifications/context/notificationPopoverContext.js @@ -0,0 +1,5 @@ +import React from 'react'; + +const notificationPopoverContext = React.createContext({ popoverHeaderRef: null, notificationRef: null }); + +export default notificationPopoverContext; diff --git a/src/common/context.js b/src/new-notifications/context/notificationsContext.js similarity index 69% rename from src/common/context.js rename to src/new-notifications/context/notificationsContext.js index 77d5b2a3..79c90d42 100644 --- a/src/common/context.js +++ b/src/new-notifications/context/notificationsContext.js @@ -1,5 +1,5 @@ import React from 'react'; -import { RequestStatus } from '../new-notifications/data/constants'; +import { RequestStatus } from '../data/constants'; export const initialState = { notificationStatus: RequestStatus.IDLE, @@ -14,4 +14,4 @@ export const initialState = { trayOpened: false, }; -export const HeaderContext = React.createContext(initialState); +export const notificationsContext = React.createContext(initialState); diff --git a/src/new-notifications/data/hook.js b/src/new-notifications/data/hook.js index 609c507a..5c1bd3fd 100644 --- a/src/new-notifications/data/hook.js +++ b/src/new-notifications/data/hook.js @@ -2,7 +2,7 @@ import { useContext } from 'react'; import { camelCaseObject } from '@edx/frontend-platform'; import { breakpoints, useWindowSize } from '@openedx/paragon'; import { RequestStatus } from './constants'; -import { HeaderContext } from '../../common/context'; +import { notificationsContext } from '../context/notificationsContext'; import { getNotificationsList, getNotificationCounts, markNotificationSeen, markAllNotificationRead, markNotificationRead, } from './api'; @@ -20,22 +20,17 @@ export function useIsOnLargeScreen() { export function useNotification() { const { appName, apps, tabsCount, notifications, updateNotificationData, - } = useContext(HeaderContext); + } = useContext(notificationsContext); - const normalizeNotificationCounts = ({ - countByAppName, count, showNotificationsTray, notificationExpiryDays, isNewNotificationViewEnabled, - }) => { + const normalizeNotificationCounts = ({ countByAppName, ...countData }) => { const appIds = Object.keys(countByAppName); const notificationApps = appIds.reduce((acc, appId) => { acc[appId] = []; return acc; }, {}); return { - countByAppName, + ...countData, appIds, notificationApps, - count, - showNotificationsTray, - notificationExpiryDays, - isNewNotificationViewEnabled, + countByAppName, }; }; diff --git a/src/new-notifications/index.jsx b/src/new-notifications/index.jsx index 00edf91e..d4bc243b 100644 --- a/src/new-notifications/index.jsx +++ b/src/new-notifications/index.jsx @@ -17,10 +17,10 @@ import { RequestStatus } from './data/constants'; import { useIsOnLargeScreen, useIsOnMediumScreen } from './data/hook'; import NotificationTour from './tours/NotificationTour'; -import NotificationContext from './context'; +import NotificationPopoverContext from './context/notificationPopoverContext'; import messages from './messages'; import NotificationTabs from './NotificationTabs'; -import { HeaderContext } from '../common/context'; +import { notificationsContext } from './context/notificationsContext'; import './notification.scss'; @@ -97,7 +97,7 @@ const Notifications = ({ notificationAppData, showLeftMargin }) => { } }, []); - const headerContextValue = useMemo(() => ({ + const notificationContextValue = useMemo(() => ({ enableNotificationTray, appName, handleActiveTab, @@ -106,7 +106,7 @@ const Notifications = ({ notificationAppData, showLeftMargin }) => { })); return ( - + {
- + - + {getConfig().NOTIFICATION_FEEDBACK_URL && (