import React from 'react';
import { ProgressBar } from 'react-bootstrap';
+import { useTranslation } from 'react-i18next';
-const Loading = () => <div className="loading">
- <ProgressBar animated now={100} variant="info" />
-</div>;
+const Loading = () => {
+ const { t } = useTranslation();
+
+ return <div className="loading">
+ <div className="circle">
+ <span className="text">{t('general.loading')}</span>
+ </div>
+ </div>;
+};
export default Loading;
fr: 'Französisch',
},
loadError: 'Fehler beim Laden',
+ loading: 'Laden',
loadSuccess: 'Geladen',
pleaseSelect: 'Bitte wählen',
resetError: 'Fehler beim Zurücksetzen',
fr: 'French',
},
loadError: 'Error loading',
+ loading: 'Loading',
loadSuccess: 'Loading successful',
pleaseSelect: 'Please select',
resetError: 'Error resetting',
}
}
+@keyframes loading-pulse {
+ from {
+ box-shadow: 0 0 0 2em #aaa;
+ }
+ to {
+ box-shadow: 0 0 1em 4em #aaa;
+ }
+}
+
+.loading {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 80vh;
+ .circle {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ content: "";
+ background: #888;
+ width: min(30vw, 30vh);
+ height: min(30vw, 30vh);
+ border-radius: min(15vw, 15vh);
+ line-height: min(15vw, 15vh);
+ animation-name: loading-pulse;
+ animation-duration: 2s;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+ }
+ .text {
+ font-size: min(4vw, 4vh);
+ min-font-size: 200%;
+ }
+}
+
.modal-90w {
width: 90%;
max-width: none !important;