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

[Feat/#65] 마이페이지-내가 푼 뉴스 보기-내가 푼 뉴스 리스트 구현 #67

Merged
merged 6 commits into from
Dec 3, 2023

Conversation

greetings1012
Copy link
Collaborator

PR 요약

📌 변경 사항

✅ PR check list

Linked Issue

close #65

@greetings1012 greetings1012 changed the title [Feat/#65] quiz solvedlist page [Feat/#65] 마이페이지-내가 푼 뉴스 보기-내가 푼 뉴스 리스트 구현 Nov 22, 2023
Copy link
Contributor

@mooyoung2309 mooyoung2309 left a comment

Choose a reason for hiding this comment

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

고생하셨습니다!!
서버에서 가져오는 로직을 추가해야하는데, 서버 API 스웨거에서 solved 부분을 참고하면 좋습니다.

서버 로직은 Domain의 코드를 살펴보는 것이 좋고, https://quicktype.io/ 해당 사이트에서 DTO를 만들고 내부에서 사용할 struct는 Entity로 따로 만들거나 기존의 Entity로 사용할 수 있으면 최대한 사용하는 것도 좋습니다.

서버 로직도 추가되면 좋을 것 같아요! (이미 풀었던 뉴스가 아니라 퀴즈가 되어야 할 것 같아요 이유는 풀었던 뉴스를 가져오는 API는 아직 없기 때문.)

Comment on lines +77 to +79
case .solvedNewsButtonTapped:
state.path.append(.solvedNews(.init()))
return .none
Copy link
Contributor

Choose a reason for hiding this comment

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

👍

Comment on lines +72 to +74
case let .select(newsEntity):
state.path.append(.quizMain(.init(newsEntity: newsEntity)))
return .none
Copy link
Contributor

Choose a reason for hiding this comment

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

요거는 필요할까요? 마이페이지에서 quiz 메인을 갈 일이 아직은 없어보입니다!

Comment on lines +38 to +58
case quizMain(QuizMainStore.State)
case quizResult(QuizResultStore.State)
case solvedNews(SolvedNewsStore.State)
}

public enum Action: Equatable {
case quizMain(QuizMainStore.Action)
case quizResult(QuizResultStore.Action)
case solvedNews(SolvedNewsStore.Action)
}

public var body: some Reducer<State, Action> {
Scope(state: /State.quizMain, action: /Action.quizMain) {
QuizMainStore()
}
Scope(state: /State.quizResult, action: /Action.quizResult) {
QuizResultStore()
}
Scope(state: /State.solvedNews, action: /Action.solvedNews) {
SolvedNewsStore()
}
Copy link
Contributor

Choose a reason for hiding this comment

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

SolvedNewsStore만 있으면 될것같아요! 나머지의 Store는 나중에 필요할때 추가 하면 좋을 것 같습니다.

case popToRoot
case path(StackAction<Path.State, Path.Action>)
case onAppear
case solvedNews(SolvedNewsStore.Action)
Copy link
Contributor

Choose a reason for hiding this comment

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

요 solvedNews 액션은 아마도 path안에서 처리가 가능하니 필요없어보입니다!

Comment on lines +35 to +49
private func personalSection(viewStore: ViewStoreOf<MyPageMainStore>) -> some View {
Section {
Button( action: {
viewStore.send(.solvedNewsButtonTapped)
}, label:{
Label(
title:{
Text("내가 푼 뉴스 보기")
}, icon: {
Image(systemName: "checkmark.circle.fill")
.foregroundStyle(.blue)
})
})
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

쪼개는 거 좋습니다!

Comment on lines +69 to +70
case .solvedNewsButtonTapped:
return .send(.delegate(.solvedNewsButtonTapped))
Copy link
Contributor

Choose a reason for hiding this comment

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

부모로 delegate를 넘기는 것이 좋습니다!!

@mooyoung2309 mooyoung2309 merged commit 1e42d95 into develop Dec 3, 2023
@mooyoung2309
Copy link
Contributor

@greetings1012 컨플릭트 해결해서 푸시했습니다 편안.. (죽을 뻔함.. ㅎㅎ)

제생각에는 제가 너무 막 머지한 것도 있는 것 같고 캡스톤 때문에 속도 맞추는게 어려워서 이렇게 된 것 같아요. 조금 더 서비스를 디벨롭을 해야한다면 다음부터는 조율을 잘 해보도록하겠습니다. 약간의 팁이 있다면.. PR 올린거는 1~2일(다음 작업이 시작되기 전에) 내에 머지가 되는 것이 좋을 것 같아요.

@mooyoung2309 mooyoung2309 deleted the feat/#65-quiz-solvedlist-page branch December 3, 2023 06:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[feat] 사용자가 푼 문제 마이페이지에 연동
2 participants