Add MVVM-C for InfoSheet

This commit is contained in:
Alfonso Grillo
2022-10-28 15:14:42 +02:00
parent f5162834ea
commit da07f67573
10 changed files with 215 additions and 66 deletions
@@ -100,37 +100,3 @@ class UserSessionOverviewViewModel: UserSessionOverviewViewModelType, UserSessio
}
}
}
extension UserSessionOverviewViewState {
var bottomSheetTitle: String {
cardViewData.verificationState.bottomSheetTitle
}
var bottomSheetDescription: String {
cardViewData.verificationState.bottomSheetDescription
}
}
private extension UserSessionInfo.VerificationState {
var bottomSheetTitle: String {
switch self {
case .unverified:
return VectorL10n.userSessionUnverifiedSessionTitle
case .verified:
return VectorL10n.userSessionVerifiedSessionTitle
case .unknown:
return ""
}
}
var bottomSheetDescription: String {
switch self {
case .unverified:
return VectorL10n.userSessionUnverifiedSessionDescription
case .verified:
return VectorL10n.userSessionVerifiedSessionDescription
case .unknown:
return ""
}
}
}
@@ -82,11 +82,6 @@ struct UserSessionOverview: View {
}
}
.accentColor(theme.colors.accent)
.bottomSheet(isPresented: $viewModel.showBottomSheet) {
InfoSheet(title: viewModel.viewState.bottomSheetTitle,
description: viewModel.viewState.bottomSheetDescription,
action: .init(text: VectorL10n.userSessionGotIt, action: { viewModel.showBottomSheet = false }))
}
}
}