// //// MapButtons.swift //// Meshtastic //// //// Copyright © Garth Vander Houwen 4/23/23. //// // //import SwiftUI // //struct MapButtons: View { // let buttonWidth: CGFloat = 22 // let width: CGFloat = 45 // @Binding var tracking: UserTrackingModes // @Binding var isPresentingInfoSheet: Bool // var body: some View { // VStack { // let impactLight = UIImpactFeedbackGenerator(style: .light) // Button(action: { // self.isPresentingInfoSheet.toggle() // }) { // Image(systemName: isPresentingInfoSheet ? "info.circle.fill" : "info.circle") // .resizable() // .frame(width: buttonWidth, height: buttonWidth, alignment: .center) // .offset(y: -2) // } // Divider() // Button(action: { // switch self.tracking { // case .none: // self.tracking = .follow // case .follow: // self.tracking = .followWithHeading // case .followWithHeading: // self.tracking = .none // } // impactLight.impactOccurred() // }) { // Image(systemName: tracking.icon) // .frame(width: buttonWidth, height: buttonWidth, alignment: .center) // .offset(y: 3) // } // } // .frame(width: width, height: width*2, alignment: .center) // .background(Color(UIColor.systemBackground)) // .cornerRadius(8) // .shadow(radius: 1) // .offset(x: 3, y: 25) // } //} // //// MARK: Previews //// struct MapControl_Previews: PreviewProvider { //// @State static var tracking: UserTrackingModes = .none //// @State static var isPresentingInfoSheet = false //// static var previews: some View { //// Group { //// MapButtons(tracking: $tracking, isPresentingInfoSheet: $isPresentingInfoSheet) //// .environment(\.colorScheme, .light) //// MapButtons(tracking: $tracking, isPresentingInfoSheet: $isPresentingInfoSheet) //// .environment(\.colorScheme, .dark) //// } //// .previewLayout(.fixed(width: 60, height: 100)) //// } //// }