From 51b2eb0e6296734960f37cebd40fee34a1f261f9 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Thu, 14 May 2026 13:18:55 -0500 Subject: feat: add App Intents for Hutch navigation - add read-only App Intents for core Hutch workflows - route intents through the existing Hutch navigation/deep-link model - expose Work Queue, Recent Activity, System Status, pinned resources, projects, failed builds, assigned tickets, saved searches, and search where supported - keep App Intents non-mutating for the initial implementation - preserve existing widget, Safari extension, and hutch:// routing behavior References: https://todo.sr.ht/~ccleberg/hutch/71 --- Hutch/App/AppState.swift | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Hutch/App/AppState.swift') diff --git a/Hutch/App/AppState.swift b/Hutch/App/AppState.swift index a5500fe..479f610 100644 --- a/Hutch/App/AppState.swift +++ b/Hutch/App/AppState.swift @@ -84,6 +84,7 @@ final class AppState { /// Set by the deep link handler; consumed by RootView to drive navigation. var pendingDeepLink: DeepLink? var pendingTabNavigation: TabNavigationTarget? + var pendingBuildListFilter: BuildListFilter? var deepLinkError: String? // MARK: - Init @@ -373,6 +374,10 @@ final class AppState { selectedTab = .builds } + func open(_ route: HutchRoute) { + pendingDeepLink = DeepLink(route: route) + } + func presentRepositoryDeepLinkError() { deepLinkError = "The repository could not be found or is inaccessible." } @@ -574,6 +579,7 @@ final class AppState { private func resetNavigationState() { pendingDeepLink = nil pendingTabNavigation = nil + pendingBuildListFilter = nil deepLinkError = nil selectedTab = .home } -- cgit v1.2.3