diff --git a/apps/staged/src/lib/features/settings/ActionsSettingsPanel.svelte b/apps/staged/src/lib/features/settings/ActionsSettingsPanel.svelte index 6485c172..a02e082a 100644 --- a/apps/staged/src/lib/features/settings/ActionsSettingsPanel.svelte +++ b/apps/staged/src/lib/features/settings/ActionsSettingsPanel.svelte @@ -13,8 +13,10 @@ Save, Pencil, Code2, + Search, } from 'lucide-svelte'; import Spinner from '../../shared/Spinner.svelte'; + import FormInput from '../../shared/FormInput.svelte'; import RepoLabel from '../../shared/RepoLabel.svelte'; import RepoBadge from '../../shared/RepoBadge.svelte'; import ConfirmDialog from '../../shared/ConfirmDialog.svelte'; @@ -22,6 +24,7 @@ import * as commands from '../../api/commands'; import { detectRepoActions, type ActionType } from '../actions/actions'; import { repoBadgeStore } from '../../stores/repoBadges.svelte'; + import { matchesRepoContextSearch } from './repoContextSearch'; type RepoAttachment = { projectId: string; @@ -36,6 +39,7 @@ let loadingRepoAttachments = $state(false); let repoAttachmentsByContext = $state>({}); let repoAttachmentLoadGeneration = 0; + let repoSearch = $state(''); let actions = $state([]); let loadingActions = $state(false); @@ -427,6 +431,13 @@ }); }); + let filteredContexts = $derived.by(() => { + const query = repoSearch.trim(); + if (!query) return sortedContexts; + + return sortedContexts.filter((context) => matchesRepoContextSearch(context, query)); + }); + let groupedActions = $derived.by(() => { const groups: Record = { prerun: [], @@ -457,13 +468,19 @@