feat(auth): 인증 후 콘텐츠 설정과 개발용 모의 인증을 추가한다

This commit is contained in:
Yu Sung
2026-10-13 11:37:03 +09:00
parent e34a51b411
commit 61bfa46c11
20 changed files with 1203 additions and 181 deletions
@@ -1,6 +1,5 @@
import SwiftUI
import Bootpay
import BootpayUI
struct CreatorChannelView: View {
let creatorId: Int
@@ -256,9 +255,10 @@ struct CreatorChannelView: View {
ActivityViewController(activityItems: [viewModel.shareMessage])
}
)
.fullScreenCover(isPresented: $isShowAuthView) {
.fullScreenCover(isPresented: $isShowAuthView, onDismiss: mypageViewModel.presentAuthContentSettings) {
authView
}
.authContentSettings(viewModel: mypageViewModel)
.onAppear {
configurePayload()
if viewModel.hasLoaded == false {
@@ -490,26 +490,25 @@ struct CreatorChannelView: View {
}
private var authView: some View {
BootpayUI(payload: payload, requestType: BootpayRequest.TYPE_AUTHENTICATION)
.onConfirm { _ in true }
.onCancel { _ in isShowAuthView = false }
.onError { _ in
AuthVerificationView(
payload: payload,
onCancel: { isShowAuthView = false },
onError: {
AppState.shared.errorMessage = I18n.Chat.Auth.authenticationError
AppState.shared.isShowErrorPopup = true
isShowAuthView = false
}
.onDone {
DEBUG_LOG("onDone: \($0)")
},
onDone: {
let action = pendingAction
mypageViewModel.authVerify($0) {
auth = true
isShowAuthView = false
if let action = pendingAction {
pendingAction = nil
action()
}
pendingAction = nil
action?()
}
}
.onClose { isShowAuthView = false }
isShowAuthView = false
},
onClose: { isShowAuthView = false }
)
}
private func configurePayload() {