From ad16f6fa256ba5c0461c05eae3ad575c31f7f756 Mon Sep 17 00:00:00 2001 From: ghdtjgus76 Date: Sun, 1 Sep 2024 02:29:48 +0900 Subject: [PATCH 1/8] =?UTF-8?q?design:=20=EC=88=98=EA=B0=95=20=EC=A4=91?= =?UTF-8?q?=EC=9D=B8=20=EC=8A=A4=ED=84=B0=EB=94=94=20=EC=97=86=EB=8A=94=20?= =?UTF-8?q?=EA=B2=BD=EC=9A=B0=20=EB=94=94=EC=9E=90=EC=9D=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=EC=82=AC=ED=95=AD=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/app/(afterLogin)/my-study/_components/EmptyStudy.tsx | 2 +- apps/client/app/(afterLogin)/my-study/layout.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/client/app/(afterLogin)/my-study/_components/EmptyStudy.tsx b/apps/client/app/(afterLogin)/my-study/_components/EmptyStudy.tsx index c9157cf3..9b41450c 100644 --- a/apps/client/app/(afterLogin)/my-study/_components/EmptyStudy.tsx +++ b/apps/client/app/(afterLogin)/my-study/_components/EmptyStudy.tsx @@ -8,8 +8,8 @@ const EmptyStudy = () => { alignItems="center" direction="column" gap="xl" - height="100%" justifyContent="center" + minHeight="calc(100vh - 108px)" > empty-study Date: Sun, 1 Sep 2024 02:30:40 +0900 Subject: [PATCH 2/8] =?UTF-8?q?chore:=20wowds-ui=200.1.15=20=EB=B2=84?= =?UTF-8?q?=EC=A0=84=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- pnpm-lock.yaml | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index af29f891..01af35d9 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,6 @@ "clsx": "^2.1.1", "wowds-icons": "^0.1.3", "wowds-tokens": "^0.1.1", - "wowds-ui": "^0.1.14" + "wowds-ui": "^0.1.15" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 94b6cb3d..7468ee47 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,8 +18,8 @@ importers: specifier: ^0.1.1 version: 0.1.3 wowds-ui: - specifier: ^0.1.14 - version: 0.1.14(next@14.2.5)(react-dom@18.3.1)(react@18.3.1) + specifier: ^0.1.15 + version: 0.1.15(next@14.2.5)(react-dom@18.3.1)(react@18.3.1) devDependencies: '@pandacss/dev': specifier: ^0.44.0 @@ -13714,6 +13714,10 @@ packages: resolution: {integrity: sha512-PQAbzPhrvUcMPhYz3lXbl5NXxJMS9TE5F09Q/LphI+P/FlRSNhZS0v5sqDpNpYxB4rQZXnUOCJfmOEzmoDPZvw==} dev: false + /wowds-icons@0.1.4: + resolution: {integrity: sha512-2mYkhEOZFNXbkH++osn0Qabni08wa0HkbUjnEQVh8j+cni0Te64ZkF9HbynHk2gj1nrFyD6oOSNsIwnJ1IQqmQ==} + dev: false + /wowds-theme@0.1.3: resolution: {integrity: sha512-dygJMMwFTVB0A9bo217Y4hD/AMIrAOb0n4G9clz7tz5E1jVdgfippx3LXoXewJeoZuGY4LZejxRBbfg4pAQAxQ==} dev: true @@ -13722,8 +13726,8 @@ packages: resolution: {integrity: sha512-Pej6MuUec/i6A04gWELi4bb/T2I8gf/57L9rX8G7ElVeMc7/03ELoM0nBFWKybtpYExXhhlQPp0Lg7iqATpy6Q==} dev: false - /wowds-ui@0.1.14(next@14.2.5)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-pIj4lOL/sVoHU6x+YtnsUbmmTHDDjBC8dkO4W6xN7jxJDFgCivK47SUA8ltiI4OMBLsuqUBfqdRuZQbR25IJnw==} + /wowds-ui@0.1.15(next@14.2.5)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-4RVyZttz9KI2LveNu/lNjIiDixackqH42xKh8tqdsnvXZfrcYdUBgt1u4tm3eOAX4LivYKAlPaMB6chZynGYIw==} peerDependencies: next: ^14.1.1 react: ^18.2.0 @@ -13732,7 +13736,8 @@ packages: lottie-react: 2.4.0(react-dom@18.3.1)(react@18.3.1) next: 14.2.5(@babel/core@7.25.2)(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 - wowds-icons: 0.1.3 + react-day-picker: 9.0.8(react@18.3.1) + wowds-icons: 0.1.4 transitivePeerDependencies: - react-dom dev: false From edbb1fa0f6f29c930372488b05765684cb8825a3 Mon Sep 17 00:00:00 2001 From: ghdtjgus76 Date: Sun, 1 Sep 2024 02:35:24 +0900 Subject: [PATCH 3/8] =?UTF-8?q?refactor:=20DailyTaskItem=20=EB=B3=84?= =?UTF-8?q?=EB=8F=84=20=ED=8C=8C=EC=9D=BC=EB=A1=9C=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../my-study/_components/DailyTaskItem.tsx | 40 +++++++++++++++++++ .../my-study/_components/DailyTasks.tsx | 39 +----------------- .../my-study/_components/index.ts | 1 + 3 files changed, 42 insertions(+), 38 deletions(-) create mode 100644 apps/client/app/(afterLogin)/my-study/_components/DailyTaskItem.tsx diff --git a/apps/client/app/(afterLogin)/my-study/_components/DailyTaskItem.tsx b/apps/client/app/(afterLogin)/my-study/_components/DailyTaskItem.tsx new file mode 100644 index 00000000..d1705d80 --- /dev/null +++ b/apps/client/app/(afterLogin)/my-study/_components/DailyTaskItem.tsx @@ -0,0 +1,40 @@ +import type { DailyTaskDto } from "types/dtos/myStudy"; +import type { DailyTaskType } from "types/entities/myStudy"; + +import { AssignmentStatusBox, AttendanceStatusBox } from "."; + +const DailyTaskItem = ({ + dailyTask, + index, +}: { + dailyTask: DailyTaskDto; + index: number; +}) => { + const { + todoType, + week, + deadLine, + attendanceStatus, + assignmentTitle, + assignmentSubmissionStatus, + } = dailyTask; + + return todoType === "ATTENDANCE" ? ( + + ) : ( + + ); +}; + +export default DailyTaskItem; diff --git a/apps/client/app/(afterLogin)/my-study/_components/DailyTasks.tsx b/apps/client/app/(afterLogin)/my-study/_components/DailyTasks.tsx index 5c43e173..c8239be4 100644 --- a/apps/client/app/(afterLogin)/my-study/_components/DailyTasks.tsx +++ b/apps/client/app/(afterLogin)/my-study/_components/DailyTasks.tsx @@ -1,11 +1,8 @@ import { Flex } from "@styled-system/jsx"; import { Text } from "@wow-class/ui"; import { myStudyApi } from "apis/myStudyApi"; -import type { DailyTaskDto } from "types/dtos/myStudy"; -import type { DailyTaskType } from "types/entities/myStudy"; -import { AttendanceStatusBox, DailyTaskCarousel } from "."; -import AssignmentStatusBox from "./AssignmentStatusBox"; +import { DailyTaskCarousel, DailyTaskItem } from "."; const DailyTasks = async () => { const myOngoingStudyData = await myStudyApi.getMyOngoingStudyInfo(); @@ -36,38 +33,4 @@ const DailyTasks = async () => { ); }; -const DailyTaskItem = ({ - dailyTask, - index, -}: { - dailyTask: DailyTaskDto; - index: number; -}) => { - const { - todoType, - week, - deadLine, - attendanceStatus, - assignmentTitle, - assignmentSubmissionStatus, - } = dailyTask; - - return todoType === "ATTENDANCE" ? ( - - ) : ( - - ); -}; - export default DailyTasks; diff --git a/apps/client/app/(afterLogin)/my-study/_components/index.ts b/apps/client/app/(afterLogin)/my-study/_components/index.ts index 6bc1dda5..9aeb9d16 100644 --- a/apps/client/app/(afterLogin)/my-study/_components/index.ts +++ b/apps/client/app/(afterLogin)/my-study/_components/index.ts @@ -1,6 +1,7 @@ export { default as AssignmentStatusBox } from "./AssignmentStatusBox"; export { default as AttendanceStatusBox } from "./AttendanceStatusBox"; export { default as DailyTaskCarousel } from "./DailyTaskCarousel"; +export { default as DailyTaskItem } from "./DailyTaskItem"; export { default as DailyTasks } from "./DailyTasks"; export { default as EmptyStudy } from "./EmptyStudy"; export { default as Header } from "./Header"; From 41b666381901e01d388eb54cf11f57f4562c94a1 Mon Sep 17 00:00:00 2001 From: ghdtjgus76 Date: Sun, 1 Sep 2024 02:36:58 +0900 Subject: [PATCH 4/8] =?UTF-8?q?chore:=20=EC=98=A4=EB=8A=98=EC=9D=98=20?= =?UTF-8?q?=ED=95=A0=20=EC=9D=BC=20=EA=B3=BC=EC=A0=9C=20=EB=B0=95=EC=8A=A4?= =?UTF-8?q?=20=EC=8B=9C=EA=B0=84=20=ED=8F=AC=EB=A7=B7=ED=8C=85=20=EC=95=88?= =?UTF-8?q?=20=EB=90=9C=20=EB=B6=80=EB=B6=84=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../(afterLogin)/my-study/_components/AssignmentStatusBox.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/client/app/(afterLogin)/my-study/_components/AssignmentStatusBox.tsx b/apps/client/app/(afterLogin)/my-study/_components/AssignmentStatusBox.tsx index 9d4a0341..8a4535d6 100644 --- a/apps/client/app/(afterLogin)/my-study/_components/AssignmentStatusBox.tsx +++ b/apps/client/app/(afterLogin)/my-study/_components/AssignmentStatusBox.tsx @@ -1,7 +1,7 @@ import { css } from "@styled-system/css"; import { Flex } from "@styled-system/jsx"; import { Text } from "@wow-class/ui"; -import { parseISODate } from "@wow-class/utils"; +import { padWithZero, parseISODate } from "@wow-class/utils"; import { routePath } from "constants/routePath"; import Link from "next/link"; import type { ComponentProps } from "react"; @@ -28,7 +28,7 @@ const AssignmentStatusBox = ({ }: AssignmentStatusBoxProps) => { const { year, month, day, hours, minutes } = parseISODate(deadLine); - const attendanceDeadline = `${year}년 ${month}월 ${day}일 ${hours}:${minutes}까지`; + const attendanceDeadline = `${year}년 ${month}월 ${day}일 ${padWithZero(hours)}:${padWithZero(minutes)}까지`; const { label: assignmentSubmissionStatusLabel = "", color: assignmentSubmissionStatusColor, From f3207e89860d64e7594e6896906592f667041786 Mon Sep 17 00:00:00 2001 From: ghdtjgus76 Date: Sun, 1 Sep 2024 02:48:07 +0900 Subject: [PATCH 5/8] =?UTF-8?q?fix:=20ISODate=20=EA=B0=80=EC=A0=B8?= =?UTF-8?q?=EC=98=AC=20=EB=95=8C=20=EB=82=A0=EC=A7=9C=20=EC=9E=98=EB=AA=BB?= =?UTF-8?q?=20=EA=B0=80=EC=A0=B8=EC=98=A4=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/utils/src/formatDate.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/utils/src/formatDate.ts b/packages/utils/src/formatDate.ts index 96acfef7..81dbbcb8 100644 --- a/packages/utils/src/formatDate.ts +++ b/packages/utils/src/formatDate.ts @@ -9,12 +9,12 @@ export const parseISODate = (dateString: string) => { const date = new Date(dateString); return { - year: date.getUTCFullYear(), - month: date.getUTCMonth() + 1, - day: date.getUTCDate(), - hours: date.getUTCHours(), - minutes: date.getUTCMinutes(), - seconds: date.getUTCSeconds(), + year: date.getFullYear(), + month: date.getMonth() + 1, + day: date.getDate(), + hours: date.getHours(), + minutes: date.getMinutes(), + seconds: date.getSeconds(), }; }; From 959107b54c5cec20eac6675d860c5df3a102f738 Mon Sep 17 00:00:00 2001 From: ghdtjgus76 Date: Sun, 1 Sep 2024 02:48:56 +0900 Subject: [PATCH 6/8] =?UTF-8?q?chore:=20=EC=8A=A4=ED=84=B0=EB=94=94=20?= =?UTF-8?q?=EC=BB=A4=EB=A6=AC=ED=81=98=EB=9F=BC=20=ED=98=84=EC=9E=AC=20?= =?UTF-8?q?=EC=A3=BC=EC=B0=A8=20=EC=99=B8=EC=9D=98=20=EB=B2=84=ED=8A=BC?= =?UTF-8?q?=EC=9D=80=20=EB=8B=A4=20disabled=20=EC=83=81=ED=83=9C=EB=A1=9C?= =?UTF-8?q?=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/(afterLogin)/my-study/_components/StudyCurriculum.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/client/app/(afterLogin)/my-study/_components/StudyCurriculum.tsx b/apps/client/app/(afterLogin)/my-study/_components/StudyCurriculum.tsx index 5402159f..a479d177 100644 --- a/apps/client/app/(afterLogin)/my-study/_components/StudyCurriculum.tsx +++ b/apps/client/app/(afterLogin)/my-study/_components/StudyCurriculum.tsx @@ -54,6 +54,8 @@ const StudyCurriculum = async () => { ? "제출한 과제 확인" : "과제 제출하기"; const isCurrentWeek = getIsCurrentWeek(startDate, endDate); + const buttonDisabled = + assignmentSubmissionStatus === "FAILURE" || !isCurrentWeek; return ( @@ -105,7 +107,7 @@ const StudyCurriculum = async () => {
From 332e4c806358f8a9554f53220f8a5379125a1704 Mon Sep 17 00:00:00 2001 From: ghdtjgus76 Date: Mon, 2 Sep 2024 00:08:46 +0900 Subject: [PATCH 8/8] =?UTF-8?q?chore:=20=EB=A9=94=ED=83=80=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20=ED=83=80=EC=9D=B4=ED=8B=80=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/client/app/layout.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/client/app/layout.tsx b/apps/client/app/layout.tsx index d4642870..3ffa3ccb 100644 --- a/apps/client/app/layout.tsx +++ b/apps/client/app/layout.tsx @@ -8,22 +8,22 @@ import { JotaiProvider } from "../components/JotaiProvider"; export const metadata: Metadata = { title: { - default: "GDSC Hongik 스터디 서비스, 와우클래스", - template: "%s | GDSC Hongik 스터디 서비스, 와우클래스", + default: "와우 클래스 | GDSC Hongik 스터디 서비스", + template: "%s | 와우 클래스", }, description: "와우클래스는 GDSC Hongik이 제공하는 스터디 관리 플랫폼입니다. 이 서비스는 정규 스터디 과제 제출, 출석 체크 등 전반적인 스터디 활동을 효율적으로 관리할 수 있는 기능을 제공합니다.", openGraph: { - title: "GDSC Hongik 스터디 서비스, 와우클래스", + title: "와우 클래스 | GDSC Hongik 스터디 서비스", description: "와우클래스는 GDSC Hongik이 제공하는 스터디 관리 플랫폼입니다. 이 서비스는 정규 스터디 과제 제출, 출석 체크 등 전반적인 스터디 활동을 효율적으로 관리할 수 있는 기능을 제공합니다.", images: ["/images/og-image.png"], - siteName: "GDSC Hongik 스터디 서비스, 와우클래스", + siteName: "와우 클래스 | GDSC Hongik 스터디 서비스", type: "website", }, twitter: { card: "summary_large_image", - title: "GDSC Hongik 스터디 서비스, 와우클래스", + title: "와우 클래스 | GDSC Hongik 스터디 서비스", description: "와우클래스는 GDSC Hongik이 제공하는 스터디 관리 플랫폼입니다. 이 서비스는 정규 스터디 과제 제출, 출석 체크 등 전반적인 스터디 활동을 효율적으로 관리할 수 있는 기능을 제공합니다.", images: ["/images/og-image.png"],