diff options
Diffstat (limited to 'app/javascript/flavours/glitch/components/loading_indicator.js')
-rw-r--r-- | app/javascript/flavours/glitch/components/loading_indicator.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/components/loading_indicator.js b/app/javascript/flavours/glitch/components/loading_indicator.js new file mode 100644 index 000000000..59f721c50 --- /dev/null +++ b/app/javascript/flavours/glitch/components/loading_indicator.js @@ -0,0 +1,32 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +export const CircularProgress = ({ size, strokeWidth }) => { + const viewBox = `0 0 ${size} ${size}`; + const radius = (size - strokeWidth) / 2; + + return ( + <svg width={size} heigh={size} viewBox={viewBox} className='circular-progress' role='progressbar'> + <circle + fill='none' + cx={size / 2} + cy={size / 2} + r={radius} + strokeWidth={`${strokeWidth}px`} + /> + </svg> + ); +}; + +CircularProgress.propTypes = { + size: PropTypes.number.isRequired, + strokeWidth: PropTypes.number.isRequired, +}; + +const LoadingIndicator = () => ( + <div className='loading-indicator'> + <CircularProgress size={50} strokeWidth={6} /> + </div> +); + +export default LoadingIndicator; |