taler-ios

iOS apps for GNU Taler (wallet)
Log | Files | Refs | README | LICENSE

StandardInput.swift (1929B)


      1 /*
      2  * This file is part of GNU Taler, ©2022-26 Taler Systems S.A.
      3  * See LICENSE.md
      4  */
      5 /**
      6  * @author Marc Stibane
      7  */
      8 import SwiftUI
      9 
     10 struct StandardInput: View {
     11     let stack: CallStack
     12     let label: String
     13     let placeHolder: String
     14     @Binding var text: String
     15 //    let submitAction: () -> Void
     16 
     17     var body: some View {
     18         let textField = TextField(placeHolder, text: $text)
     19             .textFieldStyle(.roundedBorder)
     20             .textInputAutocapitalization(.never)
     21         if #available(iOS 16.4, *) {
     22             LabeledContent(label) {
     23                 textField
     24             }
     25             .talerFont(.title3)
     26 //            .accessibilityLabel(label)
     27         } else {
     28             Text(label)
     29                 .talerFont(.title3)
     30             textField
     31                 .talerFont(.title2)
     32         }
     33     }
     34 }
     35 // MARK: -
     36 struct AliasInput: View {
     37     let stack: CallStack
     38     @Binding var text: String
     39     let lastAlias: String
     40     let changeAction: () -> Void
     41 
     42     var body: some View {
     43         let label = String(localized: "Alias:", comment: "TextEdit purpose, a11y")
     44         let placeHolder = "user@example.com"
     45         let textField = TextField(placeHolder, text: $text)
     46             .textFieldStyle(.roundedBorder)
     47             .textInputAutocapitalization(.never)
     48 //          .frame(height: frameHeight)
     49             .onChange(of: text) { newVal in
     50                 if newVal != lastAlias {
     51                     changeAction()            // lookupState = .unknown
     52                 }
     53             }
     54 //          .submitLabel(.search)           just stick with the standard 􀅇
     55 
     56         if #available(iOS 16.4, *) {
     57             LabeledContent(label) {
     58                 textField
     59             }
     60             .talerFont(.title3)
     61 //          .accessibilityLabel(label)
     62         } else {
     63             Text(label)
     64                 .talerFont(.title3)
     65             textField
     66                 .talerFont(.title2)
     67         }
     68     }
     69 }