diff --git a/frontend/src/components/omnibar.tsx b/frontend/src/components/omnibar.tsx index 5dd87a6bc..19c1d010e 100644 --- a/frontend/src/components/omnibar.tsx +++ b/frontend/src/components/omnibar.tsx @@ -22,6 +22,7 @@ import { BuilderComponents } from "./resources/builder"; import { AlerterComponents } from "./resources/alerter"; import { ServerTemplateComponents } from "./resources/server-template"; import { Badge } from "@ui/badge"; +import { ResourceSyncComponents } from "./resources/resource-sync"; export const OmniSearch = ({ className, @@ -43,7 +44,10 @@ export const OmniSearch = ({ {" "} Search - + shift + s @@ -117,6 +121,7 @@ const useOmniItems = ( const builders = useRead("ListBuilders", {}).data; const alerters = useRead("ListAlerters", {}).data; const templates = useRead("ListServerTemplates", {}).data; + const syncs = useRead("ListResourceSyncs", {}).data; const searchTerms = search .toLowerCase() .split(" ") @@ -169,6 +174,11 @@ const useOmniItems = ( icon: , onSelect: () => nav("/server-templates"), }, + { + label: "Syncs", + icon: , + onSelect: () => nav("/resource-syncs"), + }, (user?.admin && { label: "Users", icon: , @@ -282,7 +292,7 @@ const useOmniItems = ( ) .map((builder) => ({ label: builder.name, - icon: , + icon: , onSelect: () => nav(`/builders/${builder.id}`), })) || [], @@ -299,7 +309,7 @@ const useOmniItems = ( ) .map((alerter) => ({ label: alerter.name, - icon: , + icon: , onSelect: () => nav(`/alerters/${alerter.id}`), })) || [], @@ -316,10 +326,39 @@ const useOmniItems = ( ) .map((template) => ({ label: template.name, - icon: , - onSelect: () => nav(`/templates/${template.id}`), + icon: , + onSelect: () => nav(`/server-templates/${template.id}`), + })) || [], + + Syncs: + syncs + ?.filter( + (item) => + searchTerms.length === 0 || + searchTerms.every( + (term) => + item.name.toLowerCase().includes(term) || + "sync".includes(term) + ) + ) + .map((template) => ({ + label: template.name, + icon: , + onSelect: () => nav(`/resource-syncs/${template.id}`), })) || [], }), - [user, servers, deployments, builds, repos, procedures, search] + [ + user, + servers, + deployments, + builds, + repos, + procedures, + alerters, + builders, + templates, + syncs, + search, + ] ); };