diff --git a/apps/st/.env.example b/apps/st/.env.example index e9667be0f..c2715e0cd 100644 --- a/apps/st/.env.example +++ b/apps/st/.env.example @@ -4,4 +4,5 @@ NEXT_PUBLIC_PROXY_HOST=http://localhost:3001 SERVER_API_URL=http://192.168.0.102:8000 NEXT_PUBLIC_SITE_ID=ST NEXT_PUBLIC_SUB_DOMAIN=http://localhost:3000 -NEXT_PUBLIC_TINY_API_KEY=t9nc4z6inquvvd5pq1vea8wcp7lb01qmqseh6egms9vpaju2 \ No newline at end of file +NEXT_PUBLIC_TINY_API_KEY=t9nc4z6inquvvd5pq1vea8wcp7lb01qmqseh6egms9vpaju2 +NEXT_PUBLIC_ST_DASHBOARD_BBS_ID=13 \ No newline at end of file diff --git a/apps/st/src/entities/post/api/post-queries.ts b/apps/st/src/entities/post/api/post-queries.ts index 22c14e419..33809944c 100644 --- a/apps/st/src/entities/post/api/post-queries.ts +++ b/apps/st/src/entities/post/api/post-queries.ts @@ -2,30 +2,14 @@ import { useQuery } from "@tanstack/react-query"; import { ENDPOINT } from "@/shared/config"; -import type { RecentPostSearchParams } from "../model/post-interface"; +import type { UserPostSearchParams } from "../model/post-interface"; import { postApi } from "./post-service"; -export function useRecentPostList(params?: RecentPostSearchParams) { +export function useUserPostList(params?: UserPostSearchParams) { return useQuery({ - queryKey: createRecentPostListQueryKey(params), - queryFn: () => postApi.getRecentPostList(params), + queryKey: [ENDPOINT.BOARD_SERVICE.POSTS, params], + queryFn: () => postApi.getUserPostList(params), refetchOnWindowFocus: false, }); } - -function createRecentPostListQueryKey(params?: RecentPostSearchParams) { - return [ - ENDPOINT.BOARD_SERVICE.POSTS, - "recentPosts", - params?.page ?? "", - params?.size ?? "", - params?.sort ?? "", - params?.keywordType ?? "", - params?.keyword ?? "", - params?.bbsId ?? "", - params?.delYn ?? "", - params?.frDateYmd ?? "", - params?.toDateYmd ?? "", - ]; -} diff --git a/apps/st/src/entities/post/api/post-service.ts b/apps/st/src/entities/post/api/post-service.ts index 5a8a77df6..da66f8462 100644 --- a/apps/st/src/entities/post/api/post-service.ts +++ b/apps/st/src/entities/post/api/post-service.ts @@ -1,22 +1,22 @@ import { client } from "@/shared/api"; -import { ENDPOINT } from "@/shared/config"; +import { ENDPOINT, ST_DASHBOARD_BBS_ID } from "@/shared/config"; import type { PostService, - RecentPostListResponse, - RecentPostSearchParams, + UserPostListResponse, + UserPostSearchParams, } from "../model/post-interface"; -async function getRecentPostList( - params?: RecentPostSearchParams, -): Promise { - const response = await client.get( - `${ENDPOINT.BOARD_SERVICE.POSTS}/recentPosts`, +async function getUserPostList( + params?: UserPostSearchParams, +): Promise { + const response = await client.get( + `${ENDPOINT.BOARD_SERVICE.POSTS}/user/${ST_DASHBOARD_BBS_ID}`, { params }, ); return response.data; } export const postApi: PostService = { - getRecentPostList, + getUserPostList, }; diff --git a/apps/st/src/entities/post/index.ts b/apps/st/src/entities/post/index.ts index 451271145..cb9293561 100644 --- a/apps/st/src/entities/post/index.ts +++ b/apps/st/src/entities/post/index.ts @@ -1,8 +1,3 @@ -export { useRecentPostList } from "./api/post-queries"; +export { useUserPostList } from "./api/post-queries"; export { postApi } from "./api/post-service"; -export { - type PostService, - type PstRecentListResponse, - type RecentPostListResponse, - type RecentPostSearchParams, -} from "./model/post-interface"; +export { type PostService, type UserPost } from "./model/post-interface"; diff --git a/apps/st/src/entities/post/model/post-interface.ts b/apps/st/src/entities/post/model/post-interface.ts index 9282b2f35..fa9aa8fe5 100644 --- a/apps/st/src/entities/post/model/post-interface.ts +++ b/apps/st/src/entities/post/model/post-interface.ts @@ -1,15 +1,17 @@ import type { PageableList, PageableParams } from "@/shared/model"; -export interface RecentPostSearchParams extends PageableParams { +export interface UserPostSearchParams extends PageableParams { keywordType?: string; keyword?: string; - bbsId?: number; - delYn?: string; - frDateYmd?: string; - toDateYmd?: string; + popupYn?: string; + upndFixYn?: string; + prdPstgYn?: string; + siteId?: string; + bbsTypeCd?: string; + ansUseYn?: string; } -export interface PstRecentListResponse { +export interface UserPost { rowNo: number; bbsId: number; pstNo: number; @@ -29,14 +31,12 @@ export interface PstRecentListResponse { regDt: string; rgtrNm: string; cmntCnt: number; - bbsTypeCd: string; - bbsNm: string; } -export type RecentPostListResponse = PageableList; +export type UserPostListResponse = PageableList; export interface PostService { - getRecentPostList( - params?: RecentPostSearchParams, - ): Promise; + getUserPostList( + params?: UserPostSearchParams, + ): Promise; } diff --git a/apps/st/src/pages/statistics/ui/panels/notice-panel.tsx b/apps/st/src/pages/statistics/ui/panels/notice-panel.tsx index 1bd281b28..bb3804b6c 100644 --- a/apps/st/src/pages/statistics/ui/panels/notice-panel.tsx +++ b/apps/st/src/pages/statistics/ui/panels/notice-panel.tsx @@ -5,8 +5,9 @@ import { useRouter } from "next/navigation"; import { createColumnHelper, getCoreRowModel } from "@tanstack/react-table"; import dayjs from "dayjs"; +import { ST_DASHBOARD_BBS_ID } from "@/shared/config"; import { useDataTable } from "@/shared/lib"; -import { type PstRecentListResponse, useRecentPostList } from "@/entities/post"; +import { type UserPost, useUserPostList } from "@/entities/post"; import { Button } from "@common/components"; import { useDragHandle } from "../sortable-panel"; @@ -15,25 +16,23 @@ export function NoticePanel() { const { dragHandleProps, isDragging } = useDragHandle(); const router = useRouter(); - const recentPostListQuery = useRecentPostList({ + const userPostListQuery = useUserPostList({ page: 0, size: 4, keywordType: "bbsTypeCd", keyword: "BBSNOTICE", }); - const handleRowClick = (post: PstRecentListResponse) => { - router.push( - `/cms/${post.bbsTypeCd.toLowerCase()}/${post.bbsId}/${post.pstNo}`, - ); + const handleRowClick = (post: UserPost) => { + router.push(`/cms/bbsnotice/${ST_DASHBOARD_BBS_ID}/${post.pstNo}`); }; const handleMoreClick = () => { - router.push("/cms/bbsnotice/7"); + router.push(`/cms/bbsnotice/${ST_DASHBOARD_BBS_ID}`); }; const { tableComponent } = useDataTable({ - query: recentPostListQuery, + query: userPostListQuery, tableOptions: { columns: noticeColumns, getCoreRowModel: getCoreRowModel(), @@ -52,8 +51,11 @@ export function NoticePanel() { title="헤더를 드래그하여 패널 순서 변경" >

공지사항

+ +