You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
LeCountdown/LeCountdown/Model/Model+SharedExtensions.swift

59 lines
1.1 KiB

//
// Model+SharedExtensions.swift
// LeCountdown
//
// Created by Laurent Morvillier on 17/02/2023.
//
import Foundation
extension AbstractTimer {
var displayName: String {
return self.name ?? self.defaultName
}
var name: String? {
return self.activity?.name
}
@objc var defaultName: String {
return NSLocalizedString("timer", comment: "")
}
var url: URL {
if let url = URL(string: self.stringId) {
return url
} else {
fatalError("Can't produce url with \(self.stringId)")
}
}
var coolpic: CoolPic {
if let image, let coolpic = CoolPic(rawValue: image) {
return coolpic
}
return CoolPic.allCases[0]
}
var imageName: String {
return self.coolpic.rawValue
}
}
extension Countdown {
override var defaultName: String {
return NSLocalizedString("Countdown", comment: "")
}
}
extension Stopwatch {
override var defaultName: String {
return NSLocalizedString("Stopwatch", comment: "")
}
}