taler-ios

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

DebugSpacer.swift (1006B)


      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 #if TALER_NIGHTLY
     11 struct Spacer: View {
     12     @AppStorage("developerMode") var developerMode: Bool = false
     13     @AppStorage("debugViews") var debugViews: Bool = false
     14     let minLength: CGFloat?
     15 
     16     init(minLength: CGFloat? = nil) {
     17         self.minLength = minLength
     18     }
     19 
     20     var body: some View {
     21         let spacer = SwiftUI.Spacer(minLength: minLength)
     22         if developerMode && debugViews {
     23             spacer.background {
     24                 GeometryReader { geometry in
     25                     let isVertical = geometry.size.height > geometry.size.width
     26 
     27                     Color.yellow.opacity(0.3)
     28                         .frame(
     29                             width: isVertical ? 12 : nil,
     30                             height: isVertical ? nil : 12
     31                         )
     32                 }
     33             }
     34         } else {
     35             spacer
     36         }
     37     }
     38 }
     39 #endif