Cockpit: user privileges empty state

Add an empty state component for when the user does not have the correct
permissions to run the frontend on-prem.
This commit is contained in:
Gianluca Zuccarelli 2025-05-02 13:51:36 +01:00 committed by Klara Simickova
parent 49b2196c7b
commit 2847e7c17b
4 changed files with 41 additions and 8 deletions

View file

@ -4,11 +4,10 @@ import {
Button,
EmptyState,
EmptyStateActions,
EmptyStateBody,
EmptyStateFooter,
EmptyStateHeader,
EmptyStateIcon,
EmptyStateVariant,
Title,
} from '@patternfly/react-core';
import { CubesIcon } from '@patternfly/react-icons';
import cockpit from 'cockpit';
@ -16,11 +15,11 @@ import cockpit from 'cockpit';
export const NotReady = ({ enabled }: { enabled: boolean }) => {
return (
<EmptyState variant={EmptyStateVariant.xl}>
<EmptyStateIcon icon={CubesIcon} />
<Title headingLevel="h4" size="lg">
OSBuild Composer is not {enabled ? 'started' : 'enabled'}
</Title>
<EmptyStateBody />
<EmptyStateHeader
titleText={`OSBuild Composer is not ${enabled ? 'started' : 'enabled'}`}
headingLevel="h4"
icon={<EmptyStateIcon icon={CubesIcon} />}
/>
<EmptyStateFooter>
<EmptyStateActions>
<Button

View file

@ -0,0 +1,26 @@
import React from 'react';
import {
EmptyState,
EmptyStateBody,
EmptyStateHeader,
EmptyStateIcon,
EmptyStateVariant,
} from '@patternfly/react-core';
import { LockIcon } from '@patternfly/react-icons';
export const RequireAdmin = () => {
return (
<EmptyState variant={EmptyStateVariant.xl}>
<EmptyStateHeader
titleText="Access is limited."
headingLevel="h4"
icon={<EmptyStateIcon icon={LockIcon} color="#f4c145" />}
/>
<EmptyStateBody>
Administrative access is required to run the Image Builder frontend.
Click on the icon in the toolbar to grant administrative access.
</EmptyStateBody>
</EmptyState>
);
};

View file

@ -0,0 +1,2 @@
export { NotReady } from './NotReady';
export { RequireAdmin } from './RequireAdmin';