diff --git a/workspaces/lightspeed/.changeset/fix-missing-permission-image.md b/workspaces/lightspeed/.changeset/fix-missing-permission-image.md
new file mode 100644
index 0000000000..b257a6a0f2
--- /dev/null
+++ b/workspaces/lightspeed/.changeset/fix-missing-permission-image.md
@@ -0,0 +1,5 @@
+---
+'@red-hat-developer-hub/backstage-plugin-lightspeed': patch
+---
+
+fix(lightspeed): Update missing permission view with responsive layout and new illustration
diff --git a/workspaces/lightspeed/package.json b/workspaces/lightspeed/package.json
index 11f04e0a57..e05b698cd0 100644
--- a/workspaces/lightspeed/package.json
+++ b/workspaces/lightspeed/package.json
@@ -54,7 +54,7 @@
"@changesets/cli": "^2.27.1",
"@ianvs/prettier-plugin-sort-imports": "^4.4.0",
"@jest/environment-jsdom-abstract": "^30.3.0",
- "@playwright/test": "1.58.2",
+ "@playwright/test": "1.60.0",
"@spotify/prettier-config": "^12.0.0",
"@types/jest": "^30.0.0",
"@types/jsdom": "^27.0.0",
diff --git a/workspaces/lightspeed/packages/app-legacy/package.json b/workspaces/lightspeed/packages/app-legacy/package.json
index 1455fb1f4b..68dd800068 100644
--- a/workspaces/lightspeed/packages/app-legacy/package.json
+++ b/workspaces/lightspeed/packages/app-legacy/package.json
@@ -58,7 +58,7 @@
"devDependencies": {
"@axe-core/playwright": "^4.10.0",
"@backstage/test-utils": "^1.7.16",
- "@playwright/test": "1.58.2",
+ "@playwright/test": "1.60.0",
"@testing-library/dom": "^9.0.0",
"@testing-library/jest-dom": "^6.0.0",
"@testing-library/react": "^15.0.0",
diff --git a/workspaces/lightspeed/packages/app/package.json b/workspaces/lightspeed/packages/app/package.json
index d5d9af45ef..9599f7c802 100644
--- a/workspaces/lightspeed/packages/app/package.json
+++ b/workspaces/lightspeed/packages/app/package.json
@@ -43,7 +43,7 @@
},
"devDependencies": {
"@backstage/frontend-test-utils": "^0.5.1",
- "@playwright/test": "1.58.2",
+ "@playwright/test": "1.60.0",
"@testing-library/dom": "^9.0.0",
"@testing-library/jest-dom": "^6.0.0",
"@testing-library/react": "^15.0.0",
diff --git a/workspaces/lightspeed/plugins/lightspeed/src/components/PermissionRequiredIcon.tsx b/workspaces/lightspeed/plugins/lightspeed/src/components/PermissionRequiredIcon.tsx
index 2c18231c69..d0771f887d 100644
--- a/workspaces/lightspeed/plugins/lightspeed/src/components/PermissionRequiredIcon.tsx
+++ b/workspaces/lightspeed/plugins/lightspeed/src/components/PermissionRequiredIcon.tsx
@@ -24,6 +24,7 @@ export const PermissionRequiredIcon = () => {
);
};
diff --git a/workspaces/lightspeed/plugins/lightspeed/src/components/PermissionRequiredState.tsx b/workspaces/lightspeed/plugins/lightspeed/src/components/PermissionRequiredState.tsx
index 479858a585..4c93544f33 100644
--- a/workspaces/lightspeed/plugins/lightspeed/src/components/PermissionRequiredState.tsx
+++ b/workspaces/lightspeed/plugins/lightspeed/src/components/PermissionRequiredState.tsx
@@ -18,7 +18,6 @@ import { Fragment } from 'react';
import { EmptyState } from '@backstage/core-components';
-import { Typography } from '@material-ui/core';
import { createStyles, makeStyles } from '@material-ui/core/styles';
import { useTranslation } from '../hooks/useTranslation';
@@ -27,12 +26,47 @@ import { Trans } from './Trans';
const useStyles = makeStyles(theme =>
createStyles({
- permissionError: {
+ root: {
display: 'flex',
+ flexDirection: 'column',
+ width: '100%',
height: '100%',
+ minHeight: '100%',
+ flex: 1,
alignItems: 'center',
- padding: '100px',
+ justifyContent: 'center',
backgroundColor: theme.palette.background.default,
+ containerType: 'inline-size',
+ '& [class*="BackstageEmptyState-root"]': {
+ alignItems: 'center',
+ padding: theme.spacing(4),
+ },
+ '& [class*="MuiTypography-h5"]': {
+ fontSize: 'clamp(1.875rem, 3.75cqi, 3.125rem)',
+ fontWeight: 400,
+ },
+ '& [class*="MuiTypography-body1"]': {
+ fontSize: '1.25em',
+ color: theme.palette.text.secondary,
+ '& b': {
+ fontWeight: 500,
+ color: theme.palette.text.primary,
+ },
+ },
+ '@container (max-width: 899px)': {
+ '& [class*="BackstageEmptyState-root"]': {
+ textAlign: 'center',
+ },
+ '& [class*="MuiGrid-grid-md-6"]': {
+ maxWidth: '100%',
+ flexBasis: '100%',
+ },
+ '& [class*="BackstageEmptyState-imageContainer"]': {
+ order: -1,
+ display: 'flex',
+ justifyContent: 'center',
+ },
+ },
},
}),
);
@@ -63,19 +97,17 @@ const PermissionRequiredState = ({
);
return (
-