mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-21 17:12:45 +02:00
fix embedding pattern
This commit is contained in:
+2
-1
@@ -21,6 +21,7 @@ import SwiftUI
|
||||
|
||||
struct PollHistoryDetailCoordinatorParameters {
|
||||
let event: MXEvent
|
||||
let poll: TimelinePollDetails
|
||||
let room: MXRoom
|
||||
}
|
||||
|
||||
@@ -37,7 +38,7 @@ final class PollHistoryDetailCoordinator: Coordinator, Presentable {
|
||||
self.parameters = parameters
|
||||
let timelinePollCoordinator = try TimelinePollCoordinator(parameters: .init(session: parameters.room.mxSession, room: parameters.room, pollEvent: parameters.event))
|
||||
|
||||
let viewModel = PollHistoryDetailViewModel(timelineViewModel: timelinePollCoordinator.viewModel)
|
||||
let viewModel = PollHistoryDetailViewModel(timelinePollView: timelinePollCoordinator.toView(), poll: parameters.poll)
|
||||
let view = PollHistoryDetail(viewModel: viewModel.context)
|
||||
pollHistoryDetailViewModel = viewModel
|
||||
pollHistoryDetailHostingController = VectorHostingController(rootView: view)
|
||||
|
||||
+2
-1
@@ -48,7 +48,8 @@ enum MockPollHistoryDetailScreenState: MockScreenState, CaseIterable {
|
||||
}
|
||||
|
||||
var screenView: ([Any], AnyView) {
|
||||
let viewModel = PollHistoryDetailViewModel(timelineViewModel: TimelinePollViewModel(timelinePollDetails: poll))
|
||||
let timelineViewModel = TimelinePollViewModel(timelinePollDetails: poll)
|
||||
let viewModel = PollHistoryDetailViewModel(timelinePollView: TimelinePollView(viewModel: timelineViewModel.context), poll: poll)
|
||||
|
||||
return ([viewModel], AnyView(PollHistoryDetail(viewModel: viewModel.context)))
|
||||
}
|
||||
|
||||
+5
-4
@@ -15,6 +15,7 @@
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import SwiftUI
|
||||
|
||||
// MARK: - Coordinator
|
||||
|
||||
@@ -28,14 +29,14 @@ enum PollHistoryDetailViewModelResult {
|
||||
// MARK: View
|
||||
|
||||
struct PollHistoryDetailViewState: BindableState {
|
||||
var timelineViewModel: TimelinePollViewModelType.Context
|
||||
|
||||
var timelinePollView: any View
|
||||
var poll: TimelinePollDetails
|
||||
var pollStartDate: Date {
|
||||
timelineViewModel.viewState.poll.startDate
|
||||
poll.startDate
|
||||
}
|
||||
|
||||
var isPollClosed: Bool {
|
||||
timelineViewModel.viewState.poll.closed
|
||||
poll.closed
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -26,8 +26,8 @@ class PollHistoryDetailViewModel: PollHistoryDetailViewModelType, PollHistoryDet
|
||||
|
||||
// MARK: - Setup
|
||||
|
||||
init(timelineViewModel: TimelinePollViewModelProtocol) {
|
||||
super.init(initialViewState: PollHistoryDetailViewState(timelineViewModel: timelineViewModel.context))
|
||||
init(timelinePollView: any View, poll: TimelinePollDetails) {
|
||||
super.init(initialViewState: PollHistoryDetailViewState(timelinePollView: timelinePollView, poll: poll))
|
||||
}
|
||||
|
||||
// MARK: - Public
|
||||
|
||||
@@ -42,15 +42,14 @@ struct PollHistoryDetail: View {
|
||||
}
|
||||
|
||||
private var content: some View {
|
||||
let timelineViewModel = viewModel.viewState.timelineViewModel
|
||||
return ScrollView {
|
||||
ScrollView {
|
||||
VStack(alignment: .leading) {
|
||||
Text(DateFormatter.pollShortDateFormatter.string(from: viewModel.viewState.pollStartDate))
|
||||
.foregroundColor(theme.colors.tertiaryContent)
|
||||
.font(theme.fonts.caption1)
|
||||
.padding([.top])
|
||||
.accessibilityIdentifier("PollHistoryDetail.date")
|
||||
TimelinePollView(viewModel: timelineViewModel)
|
||||
AnyView(viewModel.viewState.timelinePollView)
|
||||
.navigationTitle(navigationTitle)
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
.navigationBarBackButtonHidden(true)
|
||||
|
||||
Reference in New Issue
Block a user