diff --git a/packages/app/package.json b/packages/app/package.json
index 15457ef23a..a36277a7a7 100644
--- a/packages/app/package.json
+++ b/packages/app/package.json
@@ -23,6 +23,8 @@
"lint": "backstage-cli package lint"
},
"dependencies": {
+ "@backstage-community/plugin-github-actions": "^0.6.16",
+ "@backstage-community/plugin-tech-radar": "^0.7.4",
"@backstage/app-defaults": "^1.5.4",
"@backstage/catalog-model": "^1.4.5",
"@backstage/core-app-api": "^1.12.4",
@@ -48,13 +50,12 @@
"@mui/icons-material": "^5.15.16",
"@mui/material": "^5.15.16",
"@mui/styles": "^5.15.16",
+ "@redhat-developer/red-hat-developer-hub-theme": "^0.0.40",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"react-router": "^6.23.0",
"react-router-dom": "^6.23.0",
- "tss-react": "^4.9.10",
- "@backstage-community/plugin-github-actions": "^0.6.16",
- "@backstage-community/plugin-tech-radar": "^0.7.4"
+ "tss-react": "^4.9.10"
},
"devDependencies": {
"@backstage/cli": "0.26.4",
diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx
index 127f9ad64e..c0284fa4b6 100644
--- a/packages/app/src/App.tsx
+++ b/packages/app/src/App.tsx
@@ -33,6 +33,7 @@ import { TechDocsAddons } from '@backstage/plugin-techdocs-react';
import { UserSettingsPage } from '@backstage/plugin-user-settings';
import { TechRadarPage } from '@backstage-community/plugin-tech-radar';
+import { getThemes } from '@redhat-developer/red-hat-developer-hub-theme';
import { apis } from './apis';
import { entityPage } from './components/catalog/EntityPage';
@@ -61,6 +62,7 @@ const app = createApp({
components: {
SignInPage: props => ,
},
+ themes: getThemes(),
});
const routes = (
diff --git a/plugins/acr/dev/index.tsx b/plugins/acr/dev/index.tsx
index 80b63d48a7..2525a0b1b3 100644
--- a/plugins/acr/dev/index.tsx
+++ b/plugins/acr/dev/index.tsx
@@ -4,6 +4,8 @@ import { createDevApp } from '@backstage/dev-utils';
import { EntityProvider } from '@backstage/plugin-catalog-react';
import { TestApiProvider } from '@backstage/test-utils';
+import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme';
+
import { mockAcrTagsData } from '../src/__fixtures__/acrTagsObject';
import { mockEntity } from '../src/__fixtures__/mockEntity';
import {
@@ -29,6 +31,7 @@ class MockAzureContainerRegistryApiClient
createDevApp()
.registerPlugin(acrPlugin)
+ .addThemes(createDevAppThemes())
.addPage({
element: (
,
title: 'Bulk import',
diff --git a/plugins/bulk-import/package.json b/plugins/bulk-import/package.json
index 921af246bd..113d245f63 100644
--- a/plugins/bulk-import/package.json
+++ b/plugins/bulk-import/package.json
@@ -35,8 +35,8 @@
"@material-ui/lab": "^4.0.0-alpha.61",
"@mui/icons-material": "5.14.11",
"@mui/material": "^5.12.2",
- "lodash": "^4.17.21",
"formik": "^2.4.5",
+ "lodash": "^4.17.21",
"react-use": "^17.2.4"
},
"peerDependencies": {
@@ -49,10 +49,11 @@
"@backstage/dev-utils": "1.0.31",
"@backstage/test-utils": "1.5.4",
"@janus-idp/cli": "1.7.10",
+ "@playwright/test": "1.41.2",
+ "@redhat-developer/red-hat-developer-hub-theme": "*",
"@testing-library/jest-dom": "6.0.0",
"@testing-library/react": "14.0.0",
"@testing-library/user-event": "14.0.0",
- "@playwright/test": "1.41.2",
"msw": "1.0.0"
},
"scalprum": {
diff --git a/plugins/dynamic-plugins-info/dev/index.tsx b/plugins/dynamic-plugins-info/dev/index.tsx
index 05f66811ff..22bbc2f18d 100644
--- a/plugins/dynamic-plugins-info/dev/index.tsx
+++ b/plugins/dynamic-plugins-info/dev/index.tsx
@@ -4,6 +4,8 @@ import { Content, Header, HeaderTabs, Page } from '@backstage/core-components';
import { createDevApp } from '@backstage/dev-utils';
import { TestApiProvider } from '@backstage/test-utils';
+import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme';
+
import { listLoadedPluginsResult } from '../src/__fixtures__/listLoadedPluginsResult';
import { dynamicPluginsInfoApiRef } from '../src/api/types';
import { DynamicPluginsInfoContent } from '../src/components/DynamicPluginsInfoContent/DynamicPluginsInfoContent';
@@ -17,6 +19,7 @@ const mockedApi = {
createDevApp()
.registerPlugin(dynamicPluginsInfoPlugin)
+ .addThemes(createDevAppThemes())
.addPage({
element: (
diff --git a/plugins/dynamic-plugins-info/package.json b/plugins/dynamic-plugins-info/package.json
index 3d33fd6cd6..b0de165097 100644
--- a/plugins/dynamic-plugins-info/package.json
+++ b/plugins/dynamic-plugins-info/package.json
@@ -40,6 +40,7 @@
"@backstage/core-app-api": "1.12.4",
"@backstage/dev-utils": "1.0.31",
"@backstage/test-utils": "1.5.4",
+ "@redhat-developer/red-hat-developer-hub-theme": "*",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/react": "14.2.1",
"@testing-library/user-event": "14.5.1",
diff --git a/plugins/feedback/dev/index.tsx b/plugins/feedback/dev/index.tsx
index 29a15e8aba..d705571b70 100644
--- a/plugins/feedback/dev/index.tsx
+++ b/plugins/feedback/dev/index.tsx
@@ -3,6 +3,8 @@ import React from 'react';
import { createDevApp } from '@backstage/dev-utils';
import { EntityProvider } from '@backstage/plugin-catalog-react';
+import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme';
+
import { mockEntity } from '../src/mocks';
import {
EntityFeedbackPage,
@@ -13,6 +15,7 @@ import {
createDevApp()
.registerPlugin(feedbackPlugin)
+ .addThemes(createDevAppThemes())
.addPage({
element: (
<>
diff --git a/plugins/feedback/package.json b/plugins/feedback/package.json
index 3b66d12e4d..04ab8f2828 100644
--- a/plugins/feedback/package.json
+++ b/plugins/feedback/package.json
@@ -47,6 +47,7 @@
"@backstage/dev-utils": "1.0.31",
"@backstage/test-utils": "1.5.4",
"@janus-idp/cli": "1.8.6",
+ "@redhat-developer/red-hat-developer-hub-theme": "*",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/react": "14.2.1",
"@testing-library/user-event": "14.0.0",
diff --git a/plugins/jfrog-artifactory/dev/index.tsx b/plugins/jfrog-artifactory/dev/index.tsx
index 9119c9218c..461c3d290c 100644
--- a/plugins/jfrog-artifactory/dev/index.tsx
+++ b/plugins/jfrog-artifactory/dev/index.tsx
@@ -4,6 +4,8 @@ import { Entity } from '@backstage/catalog-model';
import { createDevApp } from '@backstage/dev-utils';
import { EntityProvider } from '@backstage/plugin-catalog-react';
+import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme';
+
import { JfrogArtifactoryPage, jfrogArtifactoryPlugin } from '../src/plugin';
const mockEntity: Entity = {
@@ -25,6 +27,7 @@ const mockEntity: Entity = {
createDevApp()
.registerPlugin(jfrogArtifactoryPlugin)
+ .addThemes(createDevAppThemes())
.addPage({
element: (
diff --git a/plugins/jfrog-artifactory/package.json b/plugins/jfrog-artifactory/package.json
index 59ea90f1d9..300e737a8e 100644
--- a/plugins/jfrog-artifactory/package.json
+++ b/plugins/jfrog-artifactory/package.json
@@ -46,6 +46,7 @@
"@backstage/dev-utils": "1.0.31",
"@backstage/test-utils": "1.5.4",
"@janus-idp/cli": "1.8.6",
+ "@redhat-developer/red-hat-developer-hub-theme": "*",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/react": "14.2.1",
"@testing-library/user-event": "14.5.1",
diff --git a/plugins/kiali/dev/index.tsx b/plugins/kiali/dev/index.tsx
index 50fc93a9a2..70a8ae770b 100644
--- a/plugins/kiali/dev/index.tsx
+++ b/plugins/kiali/dev/index.tsx
@@ -13,6 +13,7 @@ import { EntityProvider } from '@backstage/plugin-catalog-react';
import { TestApiProvider } from '@backstage/test-utils';
import { Grid } from '@material-ui/core';
+import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme';
import { EntityKialiResourcesCard, kialiPlugin } from '../src';
import { getEntityRoutes, getRoutes } from '../src/components/Router';
@@ -619,6 +620,7 @@ const MockKialiError = () => {
createDevApp()
.registerPlugin(kialiPlugin)
+ .addThemes(createDevAppThemes())
.addPage({
element: ,
title: 'KialiPage',
diff --git a/plugins/kiali/package.json b/plugins/kiali/package.json
index b463cb0d46..01c3307c2e 100644
--- a/plugins/kiali/package.json
+++ b/plugins/kiali/package.json
@@ -77,6 +77,7 @@
"@backstage/test-utils": "1.5.4",
"@janus-idp/cli": "1.8.6",
"@playwright/test": "1.41.2",
+ "@redhat-developer/red-hat-developer-hub-theme": "*",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/react": "14.2.1",
"@testing-library/user-event": "14.5.1",
diff --git a/plugins/matomo/dev/index.tsx b/plugins/matomo/dev/index.tsx
index bc863574cb..981d81fddf 100644
--- a/plugins/matomo/dev/index.tsx
+++ b/plugins/matomo/dev/index.tsx
@@ -2,10 +2,13 @@ import React from 'react';
import { createDevApp } from '@backstage/dev-utils';
+import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme';
+
import { MatomoPage, matomoPlugin } from '../src/plugin';
createDevApp()
.registerPlugin(matomoPlugin)
+ .addThemes(createDevAppThemes())
.addPage({
element: ,
title: 'Root Page',
diff --git a/plugins/matomo/package.json b/plugins/matomo/package.json
index e1655b5a34..027f6ca5c3 100644
--- a/plugins/matomo/package.json
+++ b/plugins/matomo/package.json
@@ -48,6 +48,7 @@
"@backstage/dev-utils": "1.0.31",
"@backstage/test-utils": "1.5.4",
"@janus-idp/cli": "1.8.6",
+ "@redhat-developer/red-hat-developer-hub-theme": "*",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/react": "14.2.1",
"@testing-library/user-event": "14.5.1",
diff --git a/plugins/nexus-repository-manager/dev/index.tsx b/plugins/nexus-repository-manager/dev/index.tsx
index edde8443ce..01906eaa8d 100644
--- a/plugins/nexus-repository-manager/dev/index.tsx
+++ b/plugins/nexus-repository-manager/dev/index.tsx
@@ -4,6 +4,8 @@ import { createDevApp } from '@backstage/dev-utils';
import { EntityProvider } from '@backstage/plugin-catalog-react';
import { TestApiProvider } from '@backstage/test-utils';
+import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme';
+
import {
entityMock,
NexusRepositoryManagerApiClientMock,
@@ -16,6 +18,7 @@ import {
createDevApp()
.registerPlugin(nexusRepositoryManagerPlugin)
+ .addThemes(createDevAppThemes())
.addPage({
element: (
,
title: 'Root Page',
diff --git a/plugins/notifications/package.json b/plugins/notifications/package.json
index efd8d5a816..c1521ed4fd 100644
--- a/plugins/notifications/package.json
+++ b/plugins/notifications/package.json
@@ -49,6 +49,7 @@
"@backstage/test-utils": "1.5.4",
"@janus-idp/cli": "1.8.6",
"@openapitools/openapi-generator-cli": "2.7.0",
+ "@redhat-developer/red-hat-developer-hub-theme": "*",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/react": "14.2.1",
"@testing-library/user-event": "14.5.1",
diff --git a/plugins/ocm/dev/index.tsx b/plugins/ocm/dev/index.tsx
index 1d849e0f7f..8b32790218 100644
--- a/plugins/ocm/dev/index.tsx
+++ b/plugins/ocm/dev/index.tsx
@@ -12,6 +12,7 @@ import {
import { SearchApi, searchApiRef } from '@backstage/plugin-search-react';
import { Grid } from '@material-ui/core';
+import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme';
import {
ClusterAvailableResourceCard,
@@ -83,6 +84,7 @@ createDevApp()
}),
)
.registerPlugin(ocmPlugin)
+ .addThemes(createDevAppThemes())
.addPage({
element: ,
title: 'Root Page',
diff --git a/plugins/ocm/package.json b/plugins/ocm/package.json
index ce08aa9e84..cbcdb80d16 100644
--- a/plugins/ocm/package.json
+++ b/plugins/ocm/package.json
@@ -54,6 +54,7 @@
"@backstage/plugin-catalog": "1.19.0",
"@backstage/test-utils": "1.5.4",
"@janus-idp/cli": "1.8.6",
+ "@redhat-developer/red-hat-developer-hub-theme": "*",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/react": "14.2.1",
"@testing-library/user-event": "14.5.1",
diff --git a/plugins/openshift-image-registry/dev/index.tsx b/plugins/openshift-image-registry/dev/index.tsx
index ce00d3ddb7..3d482b7ecc 100644
--- a/plugins/openshift-image-registry/dev/index.tsx
+++ b/plugins/openshift-image-registry/dev/index.tsx
@@ -3,6 +3,8 @@ import React from 'react';
import { createDevApp } from '@backstage/dev-utils';
import { TestApiProvider } from '@backstage/test-utils';
+import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme';
+
import {
openshiftImageRegistryApiRef,
OpenshiftImageRegistryApiV1,
@@ -81,6 +83,7 @@ class MockOpenshiftImageRegistryApi implements OpenshiftImageRegistryApiV1 {
createDevApp()
.registerPlugin(openshiftImageRegistryPlugin)
+ .addThemes(createDevAppThemes())
.addPage({
element: (
,
title: 'Root Page',
diff --git a/plugins/orchestrator/package.json b/plugins/orchestrator/package.json
index 288e532fe7..192e30461a 100644
--- a/plugins/orchestrator/package.json
+++ b/plugins/orchestrator/package.json
@@ -73,9 +73,10 @@
"@backstage/dev-utils": "1.0.31",
"@backstage/test-utils": "1.5.4",
"@janus-idp/cli": "1.8.6",
+ "@redhat-developer/red-hat-developer-hub-theme": "*",
+ "@storybook/preview-api": "7.5.3",
"@storybook/react": "7.5.3",
"@testing-library/react": "14.2.1",
- "@storybook/preview-api": "7.5.3",
"react": "18.3.1",
"react-dom": "18.3.1"
},
diff --git a/plugins/quay/dev/index.tsx b/plugins/quay/dev/index.tsx
index 60a3c3d038..4f1668cecb 100644
--- a/plugins/quay/dev/index.tsx
+++ b/plugins/quay/dev/index.tsx
@@ -4,6 +4,8 @@ import { Entity } from '@backstage/catalog-model';
import { createDevApp } from '@backstage/dev-utils';
import { EntityProvider } from '@backstage/plugin-catalog-react';
+import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme';
+
import { QuayPage, quayPlugin } from '../src/plugin';
const mockEntity: Entity = {
@@ -25,6 +27,7 @@ const mockEntity: Entity = {
createDevApp()
.registerPlugin(quayPlugin)
+ .addThemes(createDevAppThemes())
.addPage({
element: (
diff --git a/plugins/quay/package.json b/plugins/quay/package.json
index 269a0a6ade..fc3923586c 100644
--- a/plugins/quay/package.json
+++ b/plugins/quay/package.json
@@ -50,6 +50,7 @@
"@backstage/test-utils": "1.5.4",
"@janus-idp/cli": "1.8.6",
"@playwright/test": "1.41.2",
+ "@redhat-developer/red-hat-developer-hub-theme": "*",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/react": "14.2.1",
"@testing-library/react-hooks": "8.0.1",
diff --git a/plugins/rbac/dev/index.tsx b/plugins/rbac/dev/index.tsx
index 71ef6b8003..5318d901f5 100644
--- a/plugins/rbac/dev/index.tsx
+++ b/plugins/rbac/dev/index.tsx
@@ -9,6 +9,8 @@ import {
TestApiProvider,
} from '@backstage/test-utils';
+import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme';
+
import {
PermissionPolicy,
Role,
@@ -130,6 +132,7 @@ const mockConfigApi = new MockConfigApi({
createDevApp()
.registerPlugin(rbacPlugin)
+ .addThemes(createDevAppThemes())
.addPage({
element: (
,
title: 'Root Page',
diff --git a/plugins/web-terminal/package.json b/plugins/web-terminal/package.json
index 2f2e3e1b2d..6098021d1f 100644
--- a/plugins/web-terminal/package.json
+++ b/plugins/web-terminal/package.json
@@ -49,6 +49,7 @@
"@backstage/dev-utils": "1.0.31",
"@backstage/test-utils": "1.5.4",
"@janus-idp/cli": "1.8.6",
+ "@redhat-developer/red-hat-developer-hub-theme": "*",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/react": "14.2.1",
"@testing-library/user-event": "14.5.1",
diff --git a/yarn.lock b/yarn.lock
index 3d5b163743..d8e9262b86 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9485,6 +9485,11 @@
dependencies:
"@react-hookz/deep-equal" "^1.0.4"
+"@redhat-developer/red-hat-developer-hub-theme@*", "@redhat-developer/red-hat-developer-hub-theme@^0.0.40":
+ version "0.0.40"
+ resolved "https://registry.yarnpkg.com/@redhat-developer/red-hat-developer-hub-theme/-/red-hat-developer-hub-theme-0.0.40.tgz#870379e2107d40824de2c05e48b4dfe9156ccdc9"
+ integrity sha512-or2YShmjhcPCuGDYmio8abABLAkFXqcqFPhUA6QQJ9BFYHL97AFJ+h+1JNi29lZCcw4PHEUDACHJJZkN86Ld3g==
+
"@remix-run/router@1.16.0":
version "1.16.0"
resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.16.0.tgz#0e10181e5fec1434eb071a9bc4bdaac843f16dcc"
@@ -18473,12 +18478,7 @@ csstype@^3.0.11, csstype@^3.0.2, csstype@^3.1.2, csstype@^3.1.3:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
-csv-parse@^5.3.5:
- version "5.5.5"
- resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.5.tgz#68a271a9092877b830541805e14c8a80e6a22517"
- integrity sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ==
-
-csv-parse@^5.5.5:
+csv-parse@^5.3.5, csv-parse@^5.5.5:
version "5.5.5"
resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.5.tgz#68a271a9092877b830541805e14c8a80e6a22517"
integrity sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ==
@@ -32089,10 +32089,10 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4:
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
- integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
+semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@~7.5.4:
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
@@ -32101,13 +32101,6 @@ semver@^7.6.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13"
integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==
-semver@~7.5.4:
- version "7.5.4"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
- integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
- dependencies:
- lru-cache "^6.0.0"
-
send@0.18.0:
version "0.18.0"
resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"