- 일정 목록 조회 기능 구현 중
This commit is contained in:
@@ -9,3 +9,4 @@ export * from './account/ResetPasswordResponse';
|
||||
|
||||
export * from './schedule/CreateScheduleResponse';
|
||||
export * from './schedule/UpdateScheduleResponse';
|
||||
export * from './schedule/ScheduleListResponse';
|
||||
17
src/data/response/schedule/ScheduleListResponse.ts
Normal file
17
src/data/response/schedule/ScheduleListResponse.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import type { ScheduleType } from "@/const/schedule/ScheduleType";
|
||||
import { BaseResponse } from "../BaseResponse";
|
||||
import type { ScheduleStatus } from "@/const/schedule/ScheduleStatus";
|
||||
|
||||
export class ScheduleListData {
|
||||
name!: string;
|
||||
id!: string;
|
||||
startDate!: string;
|
||||
endDate!: string;
|
||||
type!: string;
|
||||
style!: string;
|
||||
status!: string;
|
||||
}
|
||||
|
||||
export class ScheduleListResponse extends BaseResponse {
|
||||
data?: ScheduleListData[];
|
||||
}
|
||||
@@ -5,13 +5,16 @@ import {
|
||||
UpdateScheduleRequest,
|
||||
DeleteScheduleRequest
|
||||
} from '@/data/request';
|
||||
import { CreateScheduleResponse } from "@/data/response";
|
||||
import {
|
||||
CreateScheduleResponse,
|
||||
ScheduleListResponse
|
||||
} from "@/data/response";
|
||||
|
||||
export class ScheduleNetwork extends BaseNetwork {
|
||||
private baseUrl = "/schedule";
|
||||
|
||||
async getList(data: ScheduleListRequest) {
|
||||
return await this.post(
|
||||
return await this.post<ScheduleListResponse>(
|
||||
this.baseUrl,
|
||||
data
|
||||
);
|
||||
|
||||
@@ -10,11 +10,11 @@ import { zodResolver } from "@hookform/resolvers/zod";
|
||||
import { ScheduleNetwork } from "@/network/ScheduleNetwork";
|
||||
import type { ScheduleStatus } from "@/const/schedule/ScheduleStatus";
|
||||
import type { ScheduleType } from "@/const/schedule/ScheduleType";
|
||||
import { ScheduleListData } from "@/data/response";
|
||||
|
||||
export const ScheduleListContent = ({ date, setMode, popoverAlign, popoverSide, open }: ScheduleListContentProps) => {
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
const [scheduleList, setScheduleList] = useState([]);
|
||||
const [filteredList, setFilteredList] = useState([]);
|
||||
const [scheduleList, setScheduleList] = useState<Array<ScheduleListData>>([]);
|
||||
const scheduleNetwork = new ScheduleNetwork();
|
||||
|
||||
const listScheduleForm = useForm<z.infer<typeof ListScheduleSchema>>({
|
||||
@@ -39,9 +39,10 @@ export const ScheduleListContent = ({ date, setMode, popoverAlign, popoverSide,
|
||||
} = listScheduleForm.watch();
|
||||
|
||||
useEffect(() => {
|
||||
if (isLoading) {
|
||||
if (isLoading || !open) {
|
||||
return;
|
||||
}
|
||||
reqList();
|
||||
|
||||
return (() => {
|
||||
setIsLoading(false);
|
||||
@@ -51,8 +52,8 @@ export const ScheduleListContent = ({ date, setMode, popoverAlign, popoverSide,
|
||||
const reqList = async () => {
|
||||
const data = {
|
||||
name,
|
||||
startDate,
|
||||
endDate,
|
||||
startDate: date,
|
||||
endDate: date,
|
||||
status: status as ScheduleStatus | undefined,
|
||||
styleList,
|
||||
typeList: typeList as ScheduleType[] | undefined
|
||||
@@ -60,6 +61,9 @@ export const ScheduleListContent = ({ date, setMode, popoverAlign, popoverSide,
|
||||
|
||||
const result = await scheduleNetwork.getList(data);
|
||||
|
||||
if (result.data.success) {
|
||||
setScheduleList(result.data.data!);
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user