From 3baf9066f8df1b1550c4e1e1253bcdfc156cba1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zachary=20Gu=C3=A9not?= Date: Thu, 10 Sep 2026 10:21:01 +0200 Subject: [PATCH] feat(definitions): declare unifiSiteManager integration and widget kinds Co-Authored-By: Claude Opus 5 --- packages/definitions/src/docs/widget-doc-slugs.ts | 1 + packages/definitions/src/integration.ts | 9 +++++++++ packages/definitions/src/widget-integration-map.ts | 1 + packages/definitions/src/widget.ts | 1 + packages/translation/src/lang/en.json | 1 + .../integration-select-grid/integration-grid-shared.ts | 1 + 6 files changed, 14 insertions(+) diff --git a/packages/definitions/src/docs/widget-doc-slugs.ts b/packages/definitions/src/docs/widget-doc-slugs.ts index 30e1d4da7..302cbfa1b 100644 --- a/packages/definitions/src/docs/widget-doc-slugs.ts +++ b/packages/definitions/src/docs/widget-doc-slugs.ts @@ -28,6 +28,7 @@ export const widgetDocSlugs = { networkControllerSummary: "network-controller-summary", networkControllerStatus: "network-controller-status", unifiOs: null, + unifiSiteManager: null, rssFeed: "rss-feed", bookmarks: "bookmarks", indexerManager: "indexer-manager", diff --git a/packages/definitions/src/integration.ts b/packages/definitions/src/integration.ts index 14963144e..3ba303213 100644 --- a/packages/definitions/src/integration.ts +++ b/packages/definitions/src/integration.ts @@ -714,6 +714,14 @@ export const integrationDefs = { documentationSlug: null, defaultPort: 443, }, + unifiSiteManager: { + name: "UniFi Site Manager", + secretKinds: [["siteManagerApiKey"]], + iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/png/unifi.png", + category: ["unifiSiteManager"], + documentationSlug: null, + defaultUrl: "https://api.ui.com", + }, opnsense: { httpAuth: { type: "basic", usernameKind: "opnsenseApiKey", passwordKind: "opnsenseApiSecret" }, name: "OPNsense", @@ -1202,6 +1210,7 @@ export const integrationCategories = [ "systemMonitoring", "security", "unifiOs", + "unifiSiteManager", ] as const; export type IntegrationCategory = (typeof integrationCategories)[number]; diff --git a/packages/definitions/src/widget-integration-map.ts b/packages/definitions/src/widget-integration-map.ts index b0ad4968d..e6ffee62b 100644 --- a/packages/definitions/src/widget-integration-map.ts +++ b/packages/definitions/src/widget-integration-map.ts @@ -57,6 +57,7 @@ export const widgetIntegrationConfigs = { networkControllerSummary: { supportedIntegrations: getIntegrationKindsByCategory("networkController") }, networkControllerStatus: { supportedIntegrations: getIntegrationKindsByCategory("networkController") }, unifiOs: { supportedIntegrations: ["unifiOs"] }, + unifiSiteManager: { supportedIntegrations: ["unifiSiteManager"] }, indexerManager: { supportedIntegrations: getIntegrationKindsByCategory("indexerManager") }, healthMonitoring: { supportedIntegrations: [...healthMonitoringGeneralIntegrationKinds, ...healthMonitoringClusterIntegrationKinds], diff --git a/packages/definitions/src/widget.ts b/packages/definitions/src/widget.ts index 07e84fcc6..4e6b9ad4a 100644 --- a/packages/definitions/src/widget.ts +++ b/packages/definitions/src/widget.ts @@ -26,6 +26,7 @@ export const widgetKinds = [ "networkControllerSummary", "networkControllerStatus", "unifiOs", + "unifiSiteManager", "rssFeed", "bookmarks", "indexerManager", diff --git a/packages/translation/src/lang/en.json b/packages/translation/src/lang/en.json index 7989e1403..a2853a752 100644 --- a/packages/translation/src/lang/en.json +++ b/packages/translation/src/lang/en.json @@ -1419,6 +1419,7 @@ "mediaTranscoding": "Transcoding", "networkController": "Network", "unifiOs": "UniFi OS", + "unifiSiteManager": "UniFi Site Manager", "releasesProvider": "Releases", "notifications": "Notifications", "firewall": "Firewall", diff --git a/packages/ui/src/integration-select-grid/integration-grid-shared.ts b/packages/ui/src/integration-select-grid/integration-grid-shared.ts index ee288f3dd..3fedefce3 100644 --- a/packages/ui/src/integration-select-grid/integration-grid-shared.ts +++ b/packages/ui/src/integration-select-grid/integration-grid-shared.ts @@ -37,6 +37,7 @@ export const categoryTranslationKeys: Record = { mediaLibrary: "integration.category.mediaLibrary", uptimeMonitoring: "integration.category.uptimeMonitoring", unifiOs: "integration.category.unifiOs", + unifiSiteManager: "integration.category.unifiSiteManager", }; export interface IntegrationGridItem {