Files
letro-ios/ElementX/Sources/Screens/DeclineAndBlockScreen/DeclineAndBlockScreenModels.swift
2025-04-11 11:45:44 +02:00

32 lines
741 B
Swift

//
// Copyright 2022-2024 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
// Please see LICENSE files in the repository root for full details.
//
import Foundation
enum DeclineAndBlockScreenViewModelAction: Equatable {
case dismiss(hasDeclined: Bool)
}
struct DeclineAndBlockScreenViewState: BindableState {
var bindings = DeclineAndBlockScreenViewStateBindings()
var isDeclineDisabled: Bool {
!bindings.shouldBlockUser && !bindings.shouldReport
}
}
struct DeclineAndBlockScreenViewStateBindings {
var shouldBlockUser = true
var shouldReport = false
var reportReason = ""
}
enum DeclineAndBlockScreenViewAction {
case decline
case dismiss
}