Add iOS Shortcuts/Siri intents, local send-reminder notifications, stable client picker with last-client defaults, account refresh/remove, and softer session handling on unauthorized API responses. Co-authored-by: Cursor <cursoragent@cursor.com>
34 lines
899 B
Swift
34 lines
899 B
Swift
import AppIntents
|
|
import UIKit
|
|
|
|
@available(iOS 16.0, *)
|
|
struct ClockInIntent: AppIntent {
|
|
static var title: LocalizedStringResource = "Clock In"
|
|
static var description = IntentDescription("Start the beenvoice time clock with your last client.")
|
|
static var openAppWhenRun: Bool = false
|
|
|
|
@Parameter(title: "Title")
|
|
var title: String?
|
|
|
|
func perform() async throws -> some IntentResult {
|
|
var components = URLComponents()
|
|
components.scheme = "beenvoice"
|
|
components.host = "shortcuts"
|
|
components.path = "/clock-in"
|
|
|
|
if let title, !title.isEmpty {
|
|
components.queryItems = [URLQueryItem(name: "title", value: title)]
|
|
}
|
|
|
|
guard let url = components.url else {
|
|
return .result()
|
|
}
|
|
|
|
await MainActor.run {
|
|
UIApplication.shared.open(url)
|
|
}
|
|
|
|
return .result()
|
|
}
|
|
}
|