Files
SCM-Manager/scm-ui/ui-components/src/Loading.js

58 lines
1.1 KiB
JavaScript
Raw Normal View History

//@flow
2018-11-13 07:37:49 +01:00
import React from "react";
import { translate } from "react-i18next";
import injectSheet from "react-jss";
import Image from "./Image";
const styles = {
2018-11-13 07:37:49 +01:00
minHeightContainer: {
minHeight: "256px"
},
wrapper: {
position: "relative"
},
loading: {
width: "128px",
height: "128px",
position: "absolute",
top: "50%",
left: "50%",
margin: "64px 0 0 -64px"
},
image: {
width: "128px",
height: "128px"
}
};
type Props = {
t: string => string,
message?: string,
classes: any
};
class Loading extends React.Component<Props> {
render() {
const { message, t, classes } = this.props;
return (
2018-11-13 07:37:49 +01:00
<div className={classes.minHeightContainer}>
<div className={classes.wrapper}>
<div className={classes.loading}>
<Image
className={classes.image}
src="/images/loading.svg"
alt={t("loading.alt")}
/>
<p className="has-text-centered">{message}</p>
</div>
</div>
</div>
);
}
}
export default injectSheet(styles)(translate("commons")(Loading));