Meshtastic-Apple/Meshtastic/Views/Helpers/DateTimeText.swift
Blake McAnally 4d547e48db This change fixes several lint errors throughout the project, and moves the SwiftLint build phase to before compilation.
After this change, a developer can now clone the project and run without the build failing due to lint errors! 😃

* I ran `swiftlint --fix` to resolve many auto-correctable issues (mostly whitespace)
* Excluded the `Meshtastic/Protobufs` directory from lint, since that code is automatically generated.
* Converted some single letter method parameters to lowercase.
* Converted several instances `force_cast` to instead use `guard` or `if let` to unwrap optional values. During this change, some of the SwiftUI views became "too complex to be solved in a reasonable time", so I broke up the views into distinct sub-expressions.

I was able to build and run the app on an iOS simulator.
2024-05-31 21:48:50 -05:00

30 lines
718 B
Swift

//
// DateTimeText.swift
// Meshtastic Apple
//
// Copyright(C) Garth Vander Houwen 5/30/22.
//
import SwiftUI
//
// LastHeardText.swift
// Meshtastic Apple
//
// Created by Garth Vander Houwen on 5/25/22.
//
struct DateTimeText: View {
var dateTime: Date?
let sixMonthsAgo = Calendar.current.date(byAdding: .month, value: -6, to: Date())
let localeDateFormat = DateFormatter.dateFormat(fromTemplate: "yyMMddjmmssa", options: 0, locale: Locale.current)
var body: some View {
let dateFormatString = (localeDateFormat ?? "MM/dd/YY j:mm:ss a")
if dateTime != nil && dateTime! >= sixMonthsAgo! {
Text(" \(dateTime!.formattedDate(format: dateFormatString))")
} else {
Text("unknown.age")
}
}
}