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