-
Notifications
You must be signed in to change notification settings - Fork 0
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
[TNT-158] 트레이너 회원가입 UI 및 네비게이션 구현 #30
Merged
Merged
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
4b47b83
[Feat] 기본 네비게이션 정의
syss220211 bdbb398
[Feat] 트레이너 로그인 화면 구현
syss220211 cd0a83a
[Feat] 네비게이션 연결
syss220211 35a0f39
[Refactor] TBotton 오류 수정
syss220211 3483ec5
[Feat] 초대코드 생성 화면 Feature 수정
syss220211 1b0ec95
[Feat] 트레이너 회원가입 플로우 네비게이션 구현
syss220211 f6135cd
[Refactor] View 컨벤션에 맞춰 수정
syss220211 3ee9e90
Merge branch 'develop' into TNT-158-trainerSignup
syss220211 e505bb3
[Refactor] Review 피드백 반영
syss220211 c637ba1
Merge remote-tracking branch 'origin/TNT-158-trainerSignup' into TNT-…
syss220211 d803967
[Refactor] ViewAction 추가 완료
syss220211 0e3bbe9
[Fix] background 색상 오류 수정
syss220211 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
23 changes: 23 additions & 0 deletions
23
TnT/Projects/DesignSystem/Resources/Assets.xcassets/Icons/icn_apple.imageset/Contents.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ | ||
"images" : [ | ||
{ | ||
"filename" : "IcnApple.png", | ||
"idiom" : "universal", | ||
"scale" : "1x" | ||
}, | ||
{ | ||
"filename" : "[email protected]", | ||
"idiom" : "universal", | ||
"scale" : "2x" | ||
}, | ||
{ | ||
"filename" : "[email protected]", | ||
"idiom" : "universal", | ||
"scale" : "3x" | ||
} | ||
], | ||
"info" : { | ||
"author" : "xcode", | ||
"version" : 1 | ||
} | ||
} |
Binary file added
BIN
+337 Bytes
...ts/DesignSystem/Resources/Assets.xcassets/Icons/icn_apple.imageset/IcnApple.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+622 Bytes
...DesignSystem/Resources/Assets.xcassets/Icons/icn_apple.imageset/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+940 Bytes
...DesignSystem/Resources/Assets.xcassets/Icons/icn_apple.imageset/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions
23
TnT/Projects/DesignSystem/Resources/Assets.xcassets/Icons/icn_kakao.imageset/Contents.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ | ||
"images" : [ | ||
{ | ||
"filename" : "_Icons Responsive.svg", | ||
"idiom" : "universal", | ||
"scale" : "1x" | ||
}, | ||
{ | ||
"filename" : "_Icons [email protected]", | ||
"idiom" : "universal", | ||
"scale" : "2x" | ||
}, | ||
{ | ||
"filename" : "_Icons [email protected]", | ||
"idiom" : "universal", | ||
"scale" : "3x" | ||
} | ||
], | ||
"info" : { | ||
"author" : "xcode", | ||
"version" : 1 | ||
} | ||
} |
8 changes: 8 additions & 0 deletions
8
...System/Resources/Assets.xcassets/Icons/icn_kakao.imageset/_Icons Responsive.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+830 Bytes
...tem/Resources/Assets.xcassets/Icons/icn_kakao.imageset/_Icons [email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+1.11 KB
...tem/Resources/Assets.xcassets/Icons/icn_kakao.imageset/_Icons [email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+18.4 KB
...ojects/DesignSystem/Resources/Assets.xcassets/Images/img_boom.imageset/Boom.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+53.5 KB
...cts/DesignSystem/Resources/Assets.xcassets/Images/img_boom.imageset/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+104 KB
...cts/DesignSystem/Resources/Assets.xcassets/Images/img_boom.imageset/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions
23
TnT/Projects/DesignSystem/Resources/Assets.xcassets/Images/img_boom.imageset/Contents.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ | ||
"images" : [ | ||
{ | ||
"filename" : "Boom.png", | ||
"idiom" : "universal", | ||
"scale" : "1x" | ||
}, | ||
{ | ||
"filename" : "[email protected]", | ||
"idiom" : "universal", | ||
"scale" : "2x" | ||
}, | ||
{ | ||
"filename" : "[email protected]", | ||
"idiom" : "universal", | ||
"scale" : "3x" | ||
} | ||
], | ||
"info" : { | ||
"author" : "xcode", | ||
"version" : 1 | ||
} | ||
} |
Binary file added
BIN
+5.81 KB
...ages/img_connectioncompletebackground.imageset/ConnectionCompleteBackground.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions
23
.../Resources/Assets.xcassets/Images/img_connectioncompletebackground.imageset/Contents.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ | ||
"images" : [ | ||
{ | ||
"filename" : "ConnectionCompleteBackground.png", | ||
"idiom" : "universal", | ||
"scale" : "1x" | ||
}, | ||
{ | ||
"filename" : "[email protected]", | ||
"idiom" : "universal", | ||
"scale" : "2x" | ||
}, | ||
{ | ||
"filename" : "[email protected]", | ||
"idiom" : "universal", | ||
"scale" : "3x" | ||
} | ||
], | ||
"info" : { | ||
"author" : "xcode", | ||
"version" : 1 | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
149 changes: 149 additions & 0 deletions
149
TnT/Projects/Presentation/Sources/Onbarding/Common/OnboardingFeature.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
// | ||
// OnboardingFeature.swift | ||
// Presentation | ||
// | ||
// Created by 박서연 on 1/24/25. | ||
// Copyright © 2025 yapp25thTeamTnT. All rights reserved. | ||
// | ||
|
||
import ComposableArchitecture | ||
import SwiftUI | ||
|
||
@Reducer | ||
public struct OnboardingFeature { | ||
@ObservableState | ||
public struct State: Equatable { | ||
public var path = StackState<Path.State>() | ||
|
||
public init(path: StackState<Path.State> = StackState<Path.State>()) { | ||
self.path = path | ||
} | ||
} | ||
|
||
public enum Action: ViewAction { | ||
/// 뷰에서 일어나는 액션을 처리합니다.(카카오,애플로그인 실행) | ||
case view(View) | ||
/// 뷰를 이동할때 일어나는 액션을 처리합니다. | ||
/// 기존 ViewAction을 Root임을 고려하여 MoveAction으로 구현하였습니다. | ||
case move(MoveAction) | ||
case path(StackActionOf<Path>) | ||
|
||
@CasePathable | ||
public enum View: Equatable { | ||
case tappedAppleLogin | ||
case tappedKakaoLogin | ||
} | ||
|
||
@CasePathable | ||
public enum MoveAction: Equatable { | ||
/// 약관 동의 화면으로 이동 | ||
case toTermview | ||
/// 역할 선택화면으로 이동 | ||
case toselectRole | ||
/// 이름 입력 화면으로 이동(트레이너/트레이니 공통 화면) | ||
case toRegisterNickname | ||
/// 회원가입 완료 화면으로 이동(트레이너/트레이니 공통 화면) | ||
case toCompleteSignup | ||
/// 트레이너의 초대코드 발급 화면으로 이동 | ||
case toMakeInvitationCode | ||
/// 트레이니의 기본 정보 입력 화면으로 이동 | ||
case toRegisterUserInfo | ||
/// 트레이니의 pt 수강 목적 입력화면으로 이동 | ||
case toRegisterPtPurpose | ||
/// 트레이니의 주의사항 입력화면으로 이동 | ||
case toRegisterprecautions | ||
/// 트레이니의 초대코드 입력화면으로 이동 | ||
case toRegisterInvitationCode | ||
/// 트레이니의 pt 횟수 및 정보 입력화면으로 이동 | ||
case toRegisterPtClassInfo | ||
} | ||
} | ||
|
||
public init() {} | ||
|
||
public var body: some ReducerOf<Self> { | ||
Reduce { state, action in | ||
switch action { | ||
case let .view(view): | ||
switch view { | ||
case .tappedAppleLogin: | ||
state.path.append(.term(TermFeature.State())) | ||
return .none | ||
case .tappedKakaoLogin: | ||
state.path.append(.term(TermFeature.State())) | ||
return .none | ||
} | ||
|
||
case let .move(move): | ||
switch move { | ||
case .toTermview: | ||
state.path.append(.term(TermFeature.State())) | ||
return .none | ||
case .toselectRole: | ||
state.path.append(.selectRole) | ||
return .none | ||
case .toRegisterNickname: | ||
state.path.append(.registerNickname) | ||
return .none | ||
case .toCompleteSignup: | ||
state.path.append(.completeSignup(TrainerSignUpCompleteFeature.State())) | ||
return .none | ||
case .toMakeInvitationCode: | ||
state.path.append(.makeInvitationCode(MakeInvitationCodeFeature.State())) | ||
return .none | ||
default: | ||
return .none | ||
} | ||
|
||
case let .path(action): | ||
switch action { | ||
|
||
/// 트레이너 프로필 생성 완료 -> 다음 버튼 tapped | ||
case .element(id: _, action: .completeSignup(.setNavigating)): | ||
state.path.append(.makeInvitationCode(MakeInvitationCodeFeature.State())) | ||
return .none | ||
|
||
/// 트레이너의 초대코드 화면 -> 건너뛰기 버튼 tapped | ||
case .element(id: _, action: .makeInvitationCode(.setNavigation)): | ||
// 추후에 홈과 연결 | ||
return .none | ||
|
||
/// 약관 화면 -> 트레이너/트레이니 선택 화면 이동 | ||
case .element(id: _, action: .selectRole): | ||
return .none | ||
|
||
default: | ||
return .none | ||
} | ||
|
||
default: | ||
return .none | ||
} | ||
} | ||
.forEach(\.path, action: \.path) | ||
} | ||
|
||
@Reducer(state: .equatable) | ||
public enum Path { | ||
/// 약관동의뷰 | ||
case term(TermFeature) | ||
/// 트레이너/트레이니 선택 뷰 | ||
case selectRole | ||
/// 트레이너/트레이니의 이름 입력 뷰 | ||
case registerNickname | ||
/// 트레이너/트레이니 회원가입 완료 뷰 | ||
case completeSignup(TrainerSignUpCompleteFeature) | ||
/// 트레이너의 초대코드 발급 뷰 | ||
case makeInvitationCode(MakeInvitationCodeFeature) | ||
/// 트레이니 기본 정보 입력 | ||
case registerUserInfo | ||
/// 트레이니 PT 목적 입력 | ||
case registerPtPurpose | ||
/// 트레이니 주의사항 입력 | ||
case registerPrecautions | ||
/// 트레이니 코드입력 | ||
case registerInvitationCode | ||
/// 트레이니 수업 정보 입력 | ||
case registerPtClassInfo | ||
} | ||
} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
좋네요! 👍👍