taler-ios

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

commit 66e81ea6cb9e4b2703e1ee6b2ce81fa537e2143d
parent 551285dced3b70bb173b1d8e3a31f162eb7da30e
Author: Marc Stibane <marc@taler.net>
Date:   Tue,  5 Sep 2023 18:38:35 +0200

move to HelperViews

Diffstat:
DTalerWallet1/Helper/AgePicker.swift | 49-------------------------------------------------
ATalerWallet1/Views/HelperViews/AgePicker.swift | 50++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 50 insertions(+), 49 deletions(-)

diff --git a/TalerWallet1/Helper/AgePicker.swift b/TalerWallet1/Helper/AgePicker.swift @@ -1,49 +0,0 @@ -/* - * This file is part of GNU Taler, ©2022-23 Taler Systems S.A. - * See LICENSE.md - */ -import SwiftUI - -struct AgePicker: View { - @Binding var ageMenuList: [Int] - @Binding var selectedAge: Int - - func setAges(ages: [Int]?) { - if let ages { - var zero: [Int] = [] - if ages.count > 0 { // need at least 1 value from exchange which is not 0 - if ages[0] != 0 { // ensure that the first age is "0" - zero.insert(0, at: 0) // if not, insert "0" at position 0 - } - zero += ages - if selectedAge >= zero.count { // check for out of bounds - selectedAge = 0 - } - } else { - selectedAge = 0 // first ensure that selected is not out of bounds - } - ageMenuList = zero // set State (will update view) - } - } - - var body: some View { - if ageMenuList.count > 1 { - VStack { - HStack { - Text("If this wallet belongs to a child or teenager, the generated electronic cash should be age-restricted:") - .multilineTextAlignment(.leading) - .font(.footnote) - Spacer() - }.padding(.top) - Picker("Select age", selection: $selectedAge) { - ForEach($ageMenuList, id: \.self) { item in - let index = item.wrappedValue - Text((index == 0) ? "unrestricted" - : "\(index) years").tag(index) - } - } - } - } - } -} - diff --git a/TalerWallet1/Views/HelperViews/AgePicker.swift b/TalerWallet1/Views/HelperViews/AgePicker.swift @@ -0,0 +1,50 @@ +/* + * This file is part of GNU Taler, ©2022-23 Taler Systems S.A. + * See LICENSE.md + */ +import SwiftUI + +struct AgePicker: View { + @Binding var ageMenuList: [Int] + @Binding var selectedAge: Int + + func setAges(ages: [Int]?) { + if let ages { + var zero: [Int] = [] + if ages.count > 0 { // need at least 1 value from exchange which is not 0 + if ages[0] != 0 { // ensure that the first age is "0" + zero.insert(0, at: 0) // if not, insert "0" at position 0 + } + zero += ages + if selectedAge >= zero.count { // check for out of bounds + selectedAge = 0 + } + } else { + selectedAge = 0 // first ensure that selected is not out of bounds + } + ageMenuList = zero // set State (will update view) + } + } + + var body: some View { + if ageMenuList.count > 1 { + VStack { + HStack { + Text("If this wallet belongs to a child or teenager, the generated electronic cash should be age-restricted:") + .multilineTextAlignment(.leading) + .font(.talerFootnote) + Spacer() + }.padding(.top) + Picker("Select age", selection: $selectedAge) { + ForEach($ageMenuList, id: \.self) { item in + let index = item.wrappedValue + Text((index == 0) ? "unrestricted" + : "\(index) years").tag(index) + } + } + .font(.talerBody) + } + } + } +} +