Files
letro-ios/Tools/Scripts/Templates/SimpleScreenExample/ElementX/TemplateScreenModels.swift
Doug a67559299a Update the template screen to use the new(ish) Observation framework. (#4077)
* Update the template screen to use the new(ish) Observation framework.

* Add a variant of deferFulfillment that supports observables.

* Update snapshot fulfilment to work with either a publisher or a stream.
2025-04-30 16:49:23 +01:00

37 lines
823 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 TemplateScreenViewModelAction {
case done
// Consider adding CustomStringConvertible conformance if the actions contain PII
}
struct TemplateScreenViewState: BindableState {
var title: String
var placeholder: String
var counter = 0
var bindings: TemplateScreenViewStateBindings
}
struct TemplateScreenViewStateBindings {
var composerText: String
}
enum TemplateScreenViewAction {
case done
case textChanged
case incrementCounter
case decrementCounter
// Consider adding CustomStringConvertible conformance if the actions contain PII
}