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.
59 lines
1.1 KiB
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: "")
|
|
}
|
|
|
|
}
|
|
|