* feat: Display an icon in the room header for rooms with shared history * fix: Apply suggestions from code review - Simplifies `isRoomHistoryShared` expressions using type inferrence. - Adds failure messages to unit test. Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com> * fix: Remove extension method in favour of field on configuration. * fix: Distinguish between `shared` and `worldReadable` icons. * refactor: Use `RoomHistorySharingState` enum with extension methods --------- Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
31 lines
910 B
Swift
31 lines
910 B
Swift
//
|
|
// Copyright 2025 Element Creations Ltd.
|
|
// Copyright 2022-2025 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 ThreadTimelineScreenViewModelAction {
|
|
case displayMessageForwarding(MessageForwardingItem)
|
|
}
|
|
|
|
struct ThreadTimelineScreenViewState: BindableState {
|
|
var roomTitle: String
|
|
var roomAvatar: RoomAvatar
|
|
var canSendMessage = true
|
|
var dmRecipientVerificationState: UserIdentityVerificationState?
|
|
var roomHistorySharingState: RoomHistorySharingState?
|
|
|
|
var bindings = ThreadTimelineScreenViewStateBindings()
|
|
}
|
|
|
|
struct ThreadTimelineScreenViewStateBindings {
|
|
/// The view model used to present a QuickLook media preview.
|
|
var mediaPreviewViewModel: TimelineMediaPreviewViewModel?
|
|
}
|
|
|
|
enum ThreadTimelineScreenViewAction { }
|