Files
letro-ios/ElementX/Sources/Screens/ReportRoomScreen/ReportRoomScreenModels.swift
Mauro 7fcc550a59 Report room and decline & block screens tweaks (#4044)
* report rom and decline and block screens tweaks

- Use the copies: "Leave room" and "Report room" everywhere, also in DMs
- Report reason in report room is now mandatory.
- Report reason in decline and block is now mandatory if the report action is set to on.
- Generic alert for failure of main API in both report room and decline and block has been added

* report room and decline and block screen previews
2025-04-22 10:44:20 +01:00

37 lines
790 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 ReportRoomScreenViewModelAction: Equatable {
case dismiss(shouldLeaveRoom: Bool)
}
struct ReportRoomScreenViewState: BindableState {
var bindings = ReportRoomScreenViewStateBindings()
var canReport: Bool {
!bindings.reason.isEmpty
}
}
struct ReportRoomScreenViewStateBindings {
var reason = ""
var shouldLeaveRoom = false
var alert: AlertInfo<ReportRoomScreenAlertType>?
}
enum ReportRoomScreenViewAction {
case report
case dismiss
}
enum ReportRoomScreenAlertType {
case reportRoomFailed
case leaveRoomFailed
}