initial swift data conversion

This commit is contained in:
Garth Vander Houwen 2026-04-16 12:10:00 -07:00
parent 183924d4dc
commit b2c72ae166
130 changed files with 2939 additions and 2269 deletions

View file

@ -6,11 +6,11 @@
//
import SwiftUI
import MapKit
import CoreData
import SwiftData
struct NodeMapContent: MapContent {
@ObservedObject var node: NodeInfoEntity
@Bindable var node: NodeInfoEntity
/// Map State User Defaults
@AppStorage("meshMapShowNodeHistory") private var showNodeHistory = false
@AppStorage("meshMapShowRouteLines") private var showRouteLines = false
@ -22,7 +22,7 @@ struct NodeMapContent: MapContent {
@MapContentBuilder
var nodeMap: some MapContent {
let positionArray = node.positions?.array as? [PositionEntity] ?? []
let positionArray = node.positions
/// Node Color from node.num
let nodeColor = UIColor(hex: UInt32(node.num))
@ -43,7 +43,7 @@ struct NodeMapContent: MapContent {
let pp = PositionPrecision(rawValue: Int(position.precisionBits))
let radius: CLLocationDistance = pp?.precisionMeters ?? 0
if radius > 0.0 {
MapCircle(center: position.coordinate, radius: radius)
MapCircle(center: position.nodeCoordinate ?? LocationsHandler.DefaultLocation, radius: radius)
.foregroundStyle(Color(nodeColor).opacity(0.25))
.stroke(.white, lineWidth: 2)
}
@ -51,7 +51,7 @@ struct NodeMapContent: MapContent {
/// Lastest Position Pin
if position.latest {
/// Node Annotations
Annotation(position.latest ? node.user?.shortName ?? "?": "", coordinate: position.coordinate) {
Annotation(position.latest ? node.user?.shortName ?? "?": "", coordinate: position.nodeCoordinate ?? LocationsHandler.DefaultLocation) {
LazyVStack {
ZStack {
if pf.contains(.Heading) {
@ -100,7 +100,7 @@ struct NodeMapContent: MapContent {
// Having showNodeHistory enabled can be quite slow if there are thousands of history points.
if position.latest == false && node.favorite {
let headingDegrees = Angle.degrees(Double(position.heading))
Annotation("", coordinate: position.coordinate) {
Annotation("", coordinate: position.nodeCoordinate ?? LocationsHandler.DefaultLocation) {
if pf.contains(.Heading) {
Image(uiImage: prerenderedHistoryPointArrowImage)
.renderingMode(.original)
@ -154,7 +154,7 @@ struct NodeMapContent: MapContent {
@MapContentBuilder
var body: some MapContent {
if node.positions?.count ?? 0 > 0 {
if node.positions.count > 0 {
nodeMap
}
}