import React, { type JSX } from 'react'; import { useTranslation } from 'next-i18next'; import InAppNotificationList from '~/client/components/InAppNotification/InAppNotificationList'; import { InAppNotificationStatuses } from '~/interfaces/in-app-notification'; import { useSWRxInAppNotifications } from '~/stores/in-app-notification'; type InAppNotificationFormsProps = { isUnopendNotificationsVisible: boolean; onChangeUnopendNotificationsVisible: () => void; }; export const InAppNotificationForms = ( props: InAppNotificationFormsProps, ): JSX.Element => { const { isUnopendNotificationsVisible, onChangeUnopendNotificationsVisible } = props; const { t } = useTranslation('commons'); return (
); }; type InAppNotificationContentProps = { isUnopendNotificationsVisible: boolean; }; export const InAppNotificationContent = ( props: InAppNotificationContentProps, ): JSX.Element => { const { isUnopendNotificationsVisible } = props; const { t } = useTranslation('commons'); // TODO: Infinite scroll implemented (https://redmine.weseek.co.jp/issues/138057) const { data: inAppNotificationData, mutate: mutateInAppNotificationData } = useSWRxInAppNotifications( 6, undefined, isUnopendNotificationsVisible ? InAppNotificationStatuses.STATUS_UNOPENED : undefined, { keepPreviousData: true }, ); return ( <> {inAppNotificationData != null && inAppNotificationData.docs.length === 0 ? ( // no items t('in_app_notification.no_notification') ) : ( // render list-group )} ); };