355b14faef
Enable App Store builds without EAS, iOS 18 App Intents plugins, and signing fixes for distribution export. Add mobile invoice PDF preview, compact line items, and more reliable shortcut deep-link handling. Co-authored-by: Cursor <cursoragent@cursor.com>
32 lines
866 B
Swift
32 lines
866 B
Swift
import AppIntents
|
|
|
|
@available(iOS 18.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 = true
|
|
|
|
@Parameter(title: "Title")
|
|
var title: String?
|
|
|
|
@MainActor
|
|
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()
|
|
}
|
|
|
|
BeenVoiceIntentHelpers.openDeepLink(url)
|
|
|
|
return .result()
|
|
}
|
|
}
|