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
)}
>
);
};