Created components to display errors when loading a server

This commit is contained in:
Alejandro Celaya
2020-03-08 12:37:55 +01:00
parent febecab33c
commit d1a5ee43e9
6 changed files with 62 additions and 15 deletions

View File

@@ -0,0 +1,32 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Link } from 'react-router-dom';
import Message from '../../utils/Message';
import ServersListGroup from '../ServersListGroup';
import './ServerError.scss';
const propTypes = {
type: PropTypes.oneOf([ 'not-found', 'not-reachable' ]).isRequired,
};
export const ServerError = ({ type }) => (
<div className="server-error-container flex-column">
<div className="row w-100">
<Message type="error">
{type === 'not-found' && 'Could not find this Shlink server.'}
{type === 'not-reachable' && (
<React.Fragment>
<p>Oops! Could not connect to this Shlink server.</p>
Make sure you have internet connection, and the server is properly configured and on-line.
</React.Fragment>
)}
</Message>
</div>
<ServersListGroup servers={[]} className="mt-3 mt-md-5">
These are the {type === 'not-reachable' ? 'other' : ''} servers currently configured. Choose one of
them or <Link to="/server/create">add a new one</Link>.
</ServersListGroup>
</div>
);
ServerError.propTypes = propTypes;

View File

@@ -0,0 +1,6 @@
.server-error-container {
text-align: center;
display: flex;
align-items: center;
justify-content: center;
}