Skip to content

Commit 3713afb

Browse files
authored
Merge pull request #78 from Team-INSERT/feat/meal
급식 페이지 작업 완료
2 parents 82c7b2b + 41cf3d4 commit 3713afb

22 files changed

+379
-73
lines changed

src/apis/httpClient/httpClient.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,5 @@ export default {
168168
admin: new HttpClient("api/bamboo/admin", axiosConfig),
169169
like: new HttpClient("api/likes/update", axiosConfig),
170170
image: new HttpClient("api/image/save", axiosConfig),
171+
meal: new HttpClient("api/meal", axiosConfig),
171172
};

src/app/layout.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
1+
import Provider from "@/provider/Provider";
2+
13
export const metadata = {
2-
title: 'Next.js',
3-
description: 'Generated by Next.js',
4-
}
4+
title: "BSM",
5+
description: "부산소마고 학생 정보 관리 서비스 BSM입니다.",
6+
};
57

68
export default function RootLayout({
79
children,
810
}: {
9-
children: React.ReactNode
11+
children: React.ReactNode;
1012
}) {
1113
return (
1214
<html lang="en">
13-
<body>{children}</body>
15+
<body>
16+
<Provider>{children}</Provider>
17+
</body>
1418
</html>
15-
)
19+
);
1620
}

src/assets/data/emptyMealList.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { IMealList } from "@/interfaces";
2+
3+
const emptyMealList: IMealList = {
4+
data: {
5+
MORNING: {
6+
content: "",
7+
cal: 0,
8+
},
9+
LUNCH: {
10+
content: "",
11+
cal: 0,
12+
},
13+
DINNER: {
14+
content: "",
15+
cal: 0,
16+
},
17+
},
18+
keys: [],
19+
};
20+
21+
export default emptyMealList;

src/assets/data/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ export { default as emptyClassInfo } from "./emptyClassInfo";
33
export { default as emptyClassLevel } from "./emptyClassLevel";
44
export { default as emptyTimetable } from "./emptyTimetable";
55
export { default as emptyInputPost } from "./emptyInputPost";
6+
export { default as emptyMealList } from "./emptyMealList";

src/constants/key.constant.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const KEY = {
66
RECOMMENT: "useRecomment",
77
BAMBOO: "useBamboo",
88
BAMBOO_ADMIN: "useBambooAdmin",
9+
MEAL: "useMeal",
910
} as const;
1011

1112
export default KEY;

src/helpers/getMealName.helper.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
const getMealName = (meal: string) => {
2+
switch (meal) {
3+
case "MORNING":
4+
return "조식";
5+
case "LUNCH":
6+
return "중식";
7+
case "DINNER":
8+
return "석식";
9+
default:
10+
return meal;
11+
}
12+
};
13+
14+
export default getMealName;

src/helpers/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ export { default as getWriteContentLabel } from "./getWriteContentLabel.helper";
88
export { default as checkPostValid } from "./checkPostValid.helper";
99
export { default as checkTextOverflow } from "./checkTextOverflow.helper";
1010
export { default as getTextDepth } from "./getTextDepth.helper";
11+
export { default as getMealName } from "./getMealName.helper";

src/hooks/useDate.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,22 @@ const useDate = () => {
5959
return formattedDate;
6060
};
6161

62+
const getMealDate = () => {
63+
return dayjs().format("YYMMDD");
64+
};
65+
66+
const getDayOfWeek = (date: string) => {
67+
return dayjs(date, "YYMMDD").locale("ko").format("dddd");
68+
};
69+
70+
const getMealDateTitle = (date: string) => {
71+
return dayjs(date, "YYMMDD").locale("ko").format("M월 D일 dddd");
72+
};
73+
74+
const setMealDate = (date: string, day: number) => {
75+
return dayjs(date, "YYMMDD").add(day, "day").format("YYMMDD");
76+
};
77+
6278
const getNowWeekDay = ({ type }: DateType) => {
6379
const today = dayjs().day();
6480

@@ -107,6 +123,10 @@ const useDate = () => {
107123
formatDate,
108124
getHMSDate,
109125
getDate,
126+
getDayOfWeek,
127+
getMealDate,
128+
getMealDateTitle,
129+
setMealDate,
110130
getNowWeekDay,
111131
translateDay,
112132
getDiffDayTime,

src/interfaces/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ export type { default as IClassInfo } from "./classInfo.interface";
33
export type { default as IClassLevel } from "./classLevel.interface";
44
export type { default as IEmojiState } from "./emoji.interface";
55
export type { default as IMealList } from "./mealList.interface";
6-
export type { default as IMealListItem } from "./mealListItem.interface";
6+
export type { default as IMeal } from "./meal.interface";
77
export type { default as IModalState } from "./modal.interface";
88
export type { default as IPost } from "./post.interface";
99
export type { default as IPostQuery } from "./postQuery.interface";

src/interfaces/meal.interface.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export default interface IMeal {
2+
content: string;
3+
cal: number;
4+
}

0 commit comments

Comments
 (0)