Loading.tsx 670 B

123456789101112131415161718192021222324252627282930313233343536
  1. import React, { Component } from 'react';
  2. import styled from 'styled-components';
  3. import loading from '../assets/loading.gif';
  4. type PropsType = {
  5. offset?: string
  6. };
  7. type StateType = {
  8. };
  9. export default class Loading extends Component<PropsType, StateType> {
  10. state = {
  11. }
  12. render() {
  13. return (
  14. <StyledLoading offset={this.props.offset}>
  15. <Spinner src={loading} />
  16. </StyledLoading>
  17. );
  18. }
  19. }
  20. const Spinner = styled.img`
  21. width: 20px;
  22. `;
  23. const StyledLoading = styled.div`
  24. width: 100%;
  25. height: 100%;
  26. display: flex;
  27. align-items: center;
  28. justify-content: center;
  29. margin-top: ${(props: { offset?: string }) => props.offset};
  30. `;