Skip to content

Commit

Permalink
feat: 🎸 impl onboard invitation code
Browse files Browse the repository at this point in the history
  • Loading branch information
tomokisun committed Nov 22, 2023
1 parent f009783 commit a31394b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
10 changes: 10 additions & 0 deletions Packages/GodPackage/Sources/OnboardFeature/Onboard.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ public struct OnboardLogic {
var schoolId: String?
var clubActivityId: String?
var inviterUserId: String?
var invitationCode: String?
var contacts: [God.ContactInput] = []

public init() {}
Expand Down Expand Up @@ -120,6 +121,7 @@ public struct OnboardLogic {
case schoolSetting(SchoolSettingLogic.State = .init())
case clubActivitySetting(ClubActivitySettingLogic.State = .init())
case findFriend(FindFriendLogic.State = .init())
case invitationCode(InvitationCodeLogic.State = .init())
case phoneNumber(PhoneNumberLogic.State = .init())
case oneTimeCode(OneTimeCodeLogic.State)
case firstNameSetting(FirstNameSettingLogic.State = .init())
Expand All @@ -137,6 +139,7 @@ public struct OnboardLogic {
case schoolSetting(SchoolSettingLogic.Action)
case clubActivitySetting(ClubActivitySettingLogic.Action)
case findFriend(FindFriendLogic.Action)
case invitationCode(InvitationCodeLogic.Action)
case phoneNumber(PhoneNumberLogic.Action)
case oneTimeCode(OneTimeCodeLogic.Action)
case firstNameSetting(FirstNameSettingLogic.Action)
Expand All @@ -154,6 +157,7 @@ public struct OnboardLogic {
Scope(state: \.schoolSetting, action: \.schoolSetting, child: SchoolSettingLogic.init)
Scope(state: \.clubActivitySetting, action: \.clubActivitySetting, child: ClubActivitySettingLogic.init)
Scope(state: \.findFriend, action: \.findFriend, child: FindFriendLogic.init)
Scope(state: \.invitationCode, action: \.invitationCode, child: InvitationCodeLogic.init)
Scope(state: \.phoneNumber, action: \.phoneNumber, child: PhoneNumberLogic.init)
Scope(state: \.oneTimeCode, action: \.oneTimeCode, child: OneTimeCodeLogic.init)
Scope(state: \.firstNameSetting, action: \.firstNameSetting, child: FirstNameSettingLogic.init)
Expand Down Expand Up @@ -204,6 +208,12 @@ public struct OnboardView: View {
action: OnboardLogic.Path.Action.findFriend,
then: FindFriendView.init(store:)
)
case .invitationCode:
CaseLet(
/OnboardLogic.Path.State.invitationCode,
action: OnboardLogic.Path.Action.invitationCode,
then: InvitationCodeView.init(store:)
)
case .phoneNumber:
CaseLet(
/OnboardLogic.Path.State.phoneNumber,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public struct OnboardPathLogic {
return .none

} else if isFindFriendSkip {
state.path.append(.phoneNumber())
state.path.append(.invitationCode())
return .run(priority: .background) { send in
await contactsRequest(send: send)
}
Expand All @@ -75,7 +75,7 @@ public struct OnboardPathLogic {
state.clubActivityId = clubActivityId

if isFindFriendSkip {
state.path.append(.phoneNumber())
state.path.append(.invitationCode())
return .run(priority: .background) { send in
await contactsRequest(send: send)
}
Expand All @@ -84,10 +84,15 @@ public struct OnboardPathLogic {
return .none

case .findFriend(.delegate(.nextScreen)):
state.path.append(.phoneNumber())
state.path.append(.invitationCode())
return .run(priority: .background) { send in
await contactsRequest(send: send)
}

case let .invitationCode(.delegate(.nextScreen(code))):
state.invitationCode = code
state.path.append(.phoneNumber())
return .none

case .phoneNumber(.delegate(.nextScreen)):
state.path.append(
Expand Down

0 comments on commit a31394b

Please sign in to comment.