TeraAddSaveStatus.swift (1248B)
1 import SwiftUI 2 3 struct TeraAddSaveStatus: View { 4 let message: String? 5 let symbol: String 6 let state: TeraComposerSaveState 7 var mediaMessage: String? 8 let protection: TeraEditingProtection 9 @ObservedObject var repairs: TeraNativeRepairStore 10 @Environment(\.dynamicTypeSize) private var dynamicTypeSize 11 12 var body: some View { 13 Section { 14 Text(state.label) 15 .foregroundStyle(.secondary) 16 .id("tera.add.save-state") 17 .accessibilityIdentifier("tera.add.save-state") 18 if let mediaMessage { 19 Text(mediaMessage).accessibilityIdentifier("tera.add.media-recovery") 20 } 21 if let message { 22 HStack(alignment: .firstTextBaseline) { 23 if !dynamicTypeSize.isAccessibilitySize { 24 Image(systemName: symbol).accessibilityHidden(true) 25 } 26 Text(message) 27 .id("tera.add.operation-status") 28 .accessibilityIdentifier("radroots.add.status") 29 } 30 .accessibilityElement(children: .contain) 31 .frame(maxWidth: .infinity, alignment: .leading) 32 .lineLimit(nil) 33 .foregroundStyle(.secondary) 34 } 35 } 36 TeraEditingProtectionActions(protection: protection) 37 TeraNativeRepairView(store: repairs) 38 } 39 }