2023-04-23 22:38:02 -07:00
|
|
|
//
|
2024-10-10 07:05:03 -07:00
|
|
|
//// MapButtons.swift
|
|
|
|
|
//// Meshtastic
|
|
|
|
|
////
|
|
|
|
|
//// Copyright © Garth Vander Houwen 4/23/23.
|
|
|
|
|
////
|
2023-04-23 22:38:02 -07:00
|
|
|
//
|
2024-10-10 07:05:03 -07:00
|
|
|
//import SwiftUI
|
2023-04-23 22:38:02 -07:00
|
|
|
//
|
2024-10-10 07:05:03 -07:00
|
|
|
//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)
|
|
|
|
|
// }
|
2024-02-21 23:35:28 -08:00
|
|
|
// }
|
2024-10-10 07:05:03 -07:00
|
|
|
// .frame(width: width, height: width*2, alignment: .center)
|
|
|
|
|
// .background(Color(UIColor.systemBackground))
|
|
|
|
|
// .cornerRadius(8)
|
|
|
|
|
// .shadow(radius: 1)
|
|
|
|
|
// .offset(x: 3, y: 25)
|
2024-02-21 23:35:28 -08:00
|
|
|
// }
|
2024-10-10 07:05:03 -07:00
|
|
|
//}
|
|
|
|
|
//
|
|
|
|
|
//// 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))
|
|
|
|
|
//// }
|
|
|
|
|
//// }
|