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,
+ ]
);
};