diff --git a/src/App.js b/src/App.js index a2a969d651..52e7a84ae4 100644 --- a/src/App.js +++ b/src/App.js @@ -71,7 +71,7 @@ const App = ({ history, config, appReady, activateSessionTracker }) => { } if (isLoginMissing(config)) { - return + return
} return ( diff --git a/src/GlobalErrorBoundary.js b/src/GlobalErrorBoundary.js index ea25711bb2..dd93ccb2bc 100644 --- a/src/GlobalErrorBoundary.js +++ b/src/GlobalErrorBoundary.js @@ -4,6 +4,8 @@ import { msg, MsgContext, createMessages, locale } from './intl' import { logout } from '_/actions' import AppConfiguration from '_/config' import ErrorContent from '_/components/ErrorContent' +import Header from './components/Header' +import { Page } from '@patternfly/react-core' import * as branding from '_/branding' class GlobalErrorBoundary extends React.Component { @@ -60,33 +62,33 @@ class GlobalErrorBoundary extends React.Component { const { hasError, msgContextState: { msg } } = this.state const trackText = branding.fixedStrings.ISSUES_TRACKER_TEXT || 'Github Issue Tracker' const trackUrl = branding.fixedStrings.ISSUES_TRACKER_URL || 'https://github.com/oVirt/ovirt-web-ui/issues' - const descr = msg.globalErrorBoundaryDescription({ - bugUrl: `${trackText}`, - }) + const descr = ( +

${trackText}`, + }), + }} + /> + ) if (hasError) { return ( -

- - +
+ }> + +
) } diff --git a/src/components/ErrorContent/index.js b/src/components/ErrorContent/index.js index cd28dbe811..7aed82a444 100644 --- a/src/components/ErrorContent/index.js +++ b/src/components/ErrorContent/index.js @@ -1,46 +1,43 @@ import React from 'react' import PropTypes from 'prop-types' +import { + Button, + EmptyState, + EmptyStateIcon, + EmptyStateBody, + EmptyStateSecondaryActions, + Title, +} from '@patternfly/react-core' import * as branding from '_/branding' -import styles from './style.css' const ErrorContent = ({ title, description, leftButton, rightButton }) => ( -
-
- -

{title}

-

-

-
-
+ + } /> + + {title} + + + {description} + + + + + + ) const buttonType = PropTypes.shape({ @@ -51,7 +48,7 @@ const buttonType = PropTypes.shape({ ErrorContent.propTypes = { title: PropTypes.string.isRequired, - description: PropTypes.string.isRequired, + description: PropTypes.node.isRequired, leftButton: buttonType, rightButton: buttonType, } diff --git a/src/components/ErrorContent/style.css b/src/components/ErrorContent/style.css deleted file mode 100644 index b00811e91e..0000000000 --- a/src/components/ErrorContent/style.css +++ /dev/null @@ -1,8 +0,0 @@ -.errorContentContainer { - width: 40%; - margin-top: 10%; -} - -.errorContentContainer a:global(.btn) { - margin: 5%; -} diff --git a/src/components/NoLogin/index.js b/src/components/NoLogin/index.js index 9ebe719f03..34689dd1c7 100644 --- a/src/components/NoLogin/index.js +++ b/src/components/NoLogin/index.js @@ -1,7 +1,14 @@ import React, { useContext } from 'react' import PropTypes from 'prop-types' -import { Button } from '@patternfly/react-core' +import { + Button, + EmptyState, + EmptyStateIcon, + EmptyStateBody, + Page, + Title, +} from '@patternfly/react-core' import { MsgContext } from '_/intl' import AppConfiguration from '_/config' import Header from '../Header' @@ -14,29 +21,31 @@ import style from './style.css' const NoLogin = ({ logoutWasManual = false, isTokenExpired = false }) => { const { msg } = useContext(MsgContext) return ( -
-
-
- -

{msg.loggedOut()}

-
+ } > + + } /> + + {msg.loggedOut()} + + { window.DEVELOPMENT && isTokenExpired && msg.logoutTokenExpiredMessage() } { window.DEVELOPMENT && !isTokenExpired && msg.logoutDeveloperMessage() } { !window.DEVELOPMENT && msg.logoutRedirected() } -
-
- -
-
-
+ + + + + + ) } + NoLogin.propTypes = { logoutWasManual: PropTypes.bool.isRequired, isTokenExpired: PropTypes.bool, diff --git a/src/components/NoLogin/style.css b/src/components/NoLogin/style.css index 1bd382f5c9..bd211239f2 100644 --- a/src/components/NoLogin/style.css +++ b/src/components/NoLogin/style.css @@ -4,15 +4,3 @@ opacity: 0.25; margin-bottom: 50px; } - -.logout-container h1 { - font-weight: 600; -} - -.logout-description { - margin: 25px 0px; - max-width: 500px; - display: inline-block; - font-size: 14px; - color: #72767b; -}