상세 수정

This commit is contained in:
focp212@naver.com
2025-11-03 20:57:55 +09:00
parent 344e5c324a
commit d2b477e7bd
38 changed files with 1569 additions and 256 deletions

View File

@@ -4,7 +4,7 @@ import { PATHS } from '@/shared/constants/paths';
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
import { useNoticeListMutation } from '@/entities/support/api/use-notice-list-mutation';
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
import { InformCl, NoticeItem, NoticeListParams, NoticeListResponse, SearchCl } from '@/entities/support/model/types';
import { DetailData, InformCl, NoticeItem, NoticeListParams, NoticeListResponse, SearchCl } from '@/entities/support/model/types';
import { SupportNoticeItem } from '@/entities/support/ui/notice-item';
import { DefaultRequestPagination, HeaderType } from '@/entities/common/model/types';
import {
@@ -14,6 +14,7 @@ import {
useSetOnBack
} from '@/widgets/sub-layout/use-sub-layout';
import useIntersectionObserver from '@/widgets/intersection-observer';
import { NoticeDetail } from '@/entities/support/ui/detail/notice-detail';
export const NoticeListPage = () => {
const { navigate } = useNavigate();
@@ -24,6 +25,8 @@ export const NoticeListPage = () => {
const [informCl, setInformCl] = useState<InformCl | string>('');
const [searchKeyword, setSearchKeyword] = useState<string>('');
const [resultList, setResultList] = useState<Array<NoticeItem>>([]);
const [detailOn, setDetailOn] = useState<boolean>(false);
const [detailSeq, setDetailSeq] = useState<number>(0);
useSetHeaderTitle(t('support.notice.title'));
useSetHeaderType(HeaderType.LeftArrow);
@@ -102,19 +105,27 @@ export const NoticeListPage = () => {
}
callList();
};
const setDetailData = (detailData: DetailData) => {
setDetailOn(detailData.detailOn);
if(detailData?.seq){
setDetailSeq(detailData?.seq);
}
};
const getNoticeList = () => {
let rs = [];
for(let i=0;i<resultList.length;i++){
rs.push(
<SupportNoticeItem
key={ `key-support-notice-item-${i}` }
seq={ resultList[i]?.seq }
title={ resultList[i]?.title }
informCl={ resultList[i]?.informCl }
regDt={ resultList[i]?.regDt }
></SupportNoticeItem>
)
let noticeItem = resultList[i];
if(noticeItem){
rs.push(
<SupportNoticeItem
key={ `key-support-notice-item-${i}` }
noticeItem={ noticeItem }
setDetailData={ setDetailData }
></SupportNoticeItem>
);
}
}
return rs;
};
@@ -173,6 +184,11 @@ export const NoticeListPage = () => {
</div>
</div>
</div>
<NoticeDetail
detailOn={ detailOn }
setDetailOn={ setDetailOn }
seq={ detailSeq }
></NoticeDetail>
</main>
</>
);