mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
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.
24 lines
595 B
Swift
24 lines
595 B
Swift
//
|
|
// MyInfoEntityExtension.swift
|
|
// Meshtastic
|
|
//
|
|
// Copyright(c) Garth Vander Houwen 9/3/23.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
extension MyInfoEntity {
|
|
|
|
var messageList: [MessageEntity] {
|
|
self.value(forKey: "allMessages") as? [MessageEntity] ?? [MessageEntity]()
|
|
}
|
|
|
|
var unreadMessages: Int {
|
|
let unreadMessages = messageList.filter { ($0 as AnyObject).read == false && ($0 as AnyObject).isEmoji == false }
|
|
return unreadMessages.count
|
|
}
|
|
var hasAdmin: Bool {
|
|
let adminChannel = channels?.filter { ($0 as AnyObject).name?.lowercased() == "admin" }
|
|
return adminChannel?.count ?? 0 > 0
|
|
}
|
|
}
|