import { useTranslation } from 'react-i18next'; import { LinkPaymentWaitListProps } from '../../model/link-pay/types'; import { ListDateGroup } from '../list-date-group'; import { useEffect, useState } from 'react'; import { GetListHeight, IMAGE_ROOT, ListScrollOn, setScrollAction } from '@/shared/constants/common'; export const LinkPaymentWaitList = ({ additionalServiceCategory, listItems, mid, setDetailData, filterUsed, onClickToOpenFilter, onClickToOpenDownloadBottomSheet }: LinkPaymentWaitListProps) => { const { t, i18n } = useTranslation(); const [groupDate, setGroupDate] = useState(''); const [groupDateOn, setGroupDateOn] = useState(false); const [listHeight, setListHeight] = useState(0); const getListDateGroup = () => { let rs = []; let date = ''; let list = []; for (let i = 0; i < listItems.length; i++) { let items = listItems[i]; if (!!items) { let scheduledSendDate = items?.scheduledSendDate; scheduledSendDate = scheduledSendDate?.substring(0, 8); if (!!scheduledSendDate) { if (i === 0) { date = scheduledSendDate; } if (date !== scheduledSendDate) { if (list.length > 0) { rs.push( ); } date = scheduledSendDate; list = []; } list.push(items); } } } if (list.length > 0) { rs.push( ); } return rs; }; useEffect(() => { ListScrollOn(true); let heightList = GetListHeight(); setListHeight(heightList.listHeight); let tabContent = document.querySelector('.tab-content'); tabContent?.addEventListener('scroll', (e: Event) => { setScrollAction(e, setGroupDate, setGroupDateOn); }); return () => { ListScrollOn(false); tabContent?.removeEventListener('scroll', (e: Event) => { setScrollAction(e, setGroupDate, setGroupDateOn); }); }; }, []); return ( <> {groupDateOn &&
{groupDate}
}
{getListDateGroup()}
) };