patch terms
This commit is contained in:
parent
a28402136d
commit
85fb780c96
@ -18,11 +18,7 @@ class LoginViewModel: ObservableObject {
|
||||
@Published var isLoggedIn: Bool = false
|
||||
@Published var socketState: SocketService.ConnectionState
|
||||
@Published var chatLoadingState: ChatLoadingState = .idle
|
||||
@Published var hasAcceptedTerms: Bool {
|
||||
didSet {
|
||||
UserDefaults.standard.set(hasAcceptedTerms, forKey: DefaultsKeys.termsAccepted)
|
||||
}
|
||||
}
|
||||
@Published var hasAcceptedTerms: Bool = false
|
||||
@Published var isLoadingTerms: Bool = false
|
||||
@Published var termsContent: String = ""
|
||||
@Published var termsErrorMessage: String?
|
||||
@ -39,12 +35,10 @@ class LoginViewModel: ObservableObject {
|
||||
private enum DefaultsKeys {
|
||||
static let currentUser = "currentUser"
|
||||
static let userId = "userId"
|
||||
static let termsAccepted = "termsAccepted"
|
||||
}
|
||||
|
||||
init() {
|
||||
socketState = socketService.currentConnectionState
|
||||
hasAcceptedTerms = UserDefaults.standard.bool(forKey: DefaultsKeys.termsAccepted)
|
||||
observeSocketState()
|
||||
observeChatsReload()
|
||||
// loadStoredUser()
|
||||
|
||||
@ -16,6 +16,7 @@ struct LoginView: View {
|
||||
@State private var isShowingRegistration = false
|
||||
@State private var showLegacySupportNotice = false
|
||||
@State private var isShowingTerms = false
|
||||
@State private var hasResetTermsOnAppear = false
|
||||
@FocusState private var focusedField: Field?
|
||||
|
||||
private enum Field: Hashable {
|
||||
@ -168,6 +169,10 @@ struct LoginView: View {
|
||||
)
|
||||
}
|
||||
.onAppear {
|
||||
if !hasResetTermsOnAppear {
|
||||
viewModel.hasAcceptedTerms = false
|
||||
hasResetTermsOnAppear = true
|
||||
}
|
||||
if shouldShowLegacySupportNotice {
|
||||
showLegacySupportNotice = true
|
||||
}
|
||||
@ -304,7 +309,6 @@ struct LoginView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
let viewModel = LoginViewModel()
|
||||
viewModel.isLoading = false // чтобы убрать спиннер
|
||||
viewModel.hasAcceptedTerms = true
|
||||
return LoginView(viewModel: viewModel)
|
||||
}
|
||||
}
|
||||
|
||||
@ -228,6 +228,7 @@ struct RegistrationView: View {
|
||||
|
||||
private func dismissSheet() {
|
||||
focusedField = nil
|
||||
viewModel.hasAcceptedTerms = false
|
||||
isPresented = false
|
||||
presentationMode.wrappedValue.dismiss()
|
||||
}
|
||||
@ -238,7 +239,6 @@ struct RegistrationView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
let viewModel = LoginViewModel()
|
||||
viewModel.isLoading = false // чтобы убрать спиннер
|
||||
viewModel.hasAcceptedTerms = true
|
||||
return RegistrationView(viewModel: viewModel, isPresented: .constant(true))
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user