// Copyright 2017-2020 @polkadot/app-staking authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. import React from 'react'; import styled from 'styled-components'; import { useTranslation } from './translate'; import spinnerSrc from './Spinner.png'; interface Props { className?: string; label?: React.ReactNode; variant?: 'app' | 'cover' | 'push' | 'mini'; } // prefetch const img = new Image(); img.src = spinnerSrc as string; function Spinner ({ className = '', label, variant = 'app' }: Props): React.ReactElement | null { const { t } = useTranslation(); return (
{variant === 'app' &&
{label || t('Retrieving data')}
}
); } export default React.memo(styled(Spinner)` display: block; line-height: 1; margin: 0 auto; text-align: center; &.isCover { bottom: 0; left: 0; position: absolute; right: 0; img { border: 1 px solid white; margin: 0 auto; } } img { border: 1px solid transparent; border-radius: 10rem; } .text { color: inherit !important; margin: 0.25rem auto 1.5rem auto; opacity: 0.6; } `);