Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fix/FE] 더미 course와 실제 course의 스키마 구조 불일치로 인한 필터링 오류 수정 #28

Merged
merged 5 commits into from
Aug 28, 2023
150 changes: 83 additions & 67 deletions src/librarys/exercise-api.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,72 +4,87 @@ import shoulder from "../assets/images/shoulder-up.webp";
import thigh from "../assets/images/thigh.webp";

const courseList = [
{
id: 1,
title: "거북목 탈출코스",
description: "이 코스는 목과 어깨의 근육을 이완시켜주는 운동을 포함하고 있습니다.",
time: 15,
image: shoulder,
tags: ["어깨", "앉은 자세"]
},
{
id: 2,
title: "코어 강화 코스",
description: "코어 근육을 강화하는데 초점을 둔 운동을 학습합니다.",
time: 15,
image: arms,
tags: ["팔", "선 자세"]
},
{
id: 3,
title: "하체 강화 코스",
description: "다리와 엉덩이 근육을 강화하는 운동을 진행합니다.",
{
id: 1,
title: "거북목 탈출코스",
description: "이 코스는 목과 어깨의 근육을 이완시켜주는 운동을 포함하고 있습니다.",
category: "어깨",
posture: "앉은 자세",
time: 15,
image: thigh,
tags: ["허벅지", "선 자세"]
},
{
id: 4,
title: "유연성 향상 코스",
description: "몸의 유연성을 높이는 스트레칭 운동을 포함하고 있습니다.",
time: 15,
image: shoulder,
tags: ["어깨", "앉은 자세"]
},

{
id: 5,
title: "유산소 운동 코스",
description: "심장 건강과 체력 향상을 위한 유산소 운동을 합니다.",
time: 15,
image: shoulder,
tags: ["어깨", "선 자세"]
},
{
id: 6,
title: "근력 운동 코스",
description: "체중을 이용한 근력 운동을 중점적으로 합니다.",
time: 15,
image: thigh,
tags: ["허벅지", "선 자세", "앉은 자세"]
},
{
id: 7,
title: "밸런스 트레이닝",
description: "몸의 균형 능력을 향상시키기 위한 운동 코스입니다.",
time: 15,
image: shoulder,
tags: ["어깨", "앉은 자세"]
},
{
id: 8,
title: "포스쳐 교정 코스",
description: "올바른 자세를 유지하기 위한 교정 운동을 포함하고 있습니다.",
},
{
id: 2,
title: "코어 강화 코스",
description: "코어 근육을 강화하는데 초점을 둔 운동을 학습합니다.",
category: "팔",
posture: "선 자세",
time: 15,
image: knee,
tags: ["무릎", "선 자세"]
},
];
image: arms,
tags: ["팔", "선 자세"]
},
{
id: 3,
title: "하체 강화 코스",
description: "다리와 엉덩이 근육을 강화하는 운동을 진행합니다.",
category: "허벅지",
posture: "선 자세",
time: 15,
image: thigh,
tags: ["허벅지", "선 자세"]
},
{
id: 4,
title: "유연성 향상 코스",
description: "몸의 유연성을 높이는 스트레칭 운동을 포함하고 있습니다.",
category: "어깨",
posture: "앉은 자세",
time: 15,
image: shoulder,
tags: ["어깨", "앉은 자세"]
},
{
id: 5,
title: "유산소 운동 코스",
description: "심장 건강과 체력 향상을 위한 유산소 운동을 합니다.",
category: "어깨",
posture: "선 자세",
time: 15,
image: shoulder,
tags: ["어깨", "선 자세"]
},
{
id: 6,
title: "근력 운동 코스",
description: "체중을 이용한 근력 운동을 중점적으로 합니다.",
category: "허벅지",
posture: "선 자세",
time: 15,
image: thigh,
tags: ["허벅지", "선 자세", "앉은 자세"]
},
{
id: 7,
title: "밸런스 트레이닝",
description: "몸의 균형 능력을 향상시키기 위한 운동 코스입니다.",
category: "어깨",
posture: "앉은 자세",
time: 15,
image: shoulder,
tags: ["어깨", "앉은 자세"]
},
{
id: 8,
title: "포스쳐 교정 코스",
description: "올바른 자세를 유지하기 위한 교정 운동을 포함하고 있습니다.",
category: "무릎",
posture: "선 자세",
time: 15,
image: knee,
tags: ["무릎", "선 자세"]
},
];

function shuffleArray(array) {
for (let i = array.length - 1; i > 0; i--) {
Expand All @@ -96,8 +111,9 @@ export async function getCoursesByPosture(posture) {
);
}

export async function getCourse(id) {
return JSON.parse(
JSON.stringify(courseList.find(course => course.id === Number(id)) || null)
);
}
export const getCourse = (id) => {
const courses = JSON.parse(localStorage.getItem("courses")) || [];
const course = courses.find((course) => course.id === id);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요 부분 courseList가 아닌 localStorage에서 가져온 데이터에서 찾도록 되어있네요..!

courseList를 포함하도록 수정해야 할 것 같습니당

return course || null;
};

4 changes: 2 additions & 2 deletions src/pages/AddExercise.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -261,14 +261,14 @@ const AddExercise = () => {
</UploadContainer>

<TextContainer>
<TitleText>운동 제목 등록</TitleText>
<TitleText>운동 제목</TitleText>
<StyledInput
placeholder="최대 50글자까지 입력 가능합니다."
maxLength={50}
value={courseData.title}
onChange={handleTitleChange}
/>
<TitleText>운동 설명 등록</TitleText>
<TitleText>운동 설명</TitleText>
<StyledTextarea
placeholder="최대 200글자까지 입력 가능합니다."
maxLength={200}
Expand Down
2 changes: 1 addition & 1 deletion src/pages/CourseDetail.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ const CourseDetail = () => {
onClick={() => setIsChecked((prev) => !prev)}
/>
<ActionName>{course.title}</ActionName>
<ActionTime>{course.time / 60}</ActionTime>
<ActionTime>{course.time}</ActionTime>
<PlayerButton onClick={() => {}} />
</CourseInfoContainer>
<DividerLine />
Expand Down