Add loading indicator animation (#4316)
This commit is contained in:
		
							parent
							
								
									3a3b556065
								
							
						
					
					
						commit
						1e0c7a0afc
					
				
					 2 changed files with 67 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -3,6 +3,7 @@ import { FormattedMessage } from 'react-intl';
 | 
			
		|||
 | 
			
		||||
const LoadingIndicator = () => (
 | 
			
		||||
  <div className='loading-indicator'>
 | 
			
		||||
    <div className='loading-indicator__figure' />
 | 
			
		||||
    <FormattedMessage id='loading_indicator.label' defaultMessage='Loading...' />
 | 
			
		||||
  </div>
 | 
			
		||||
);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2213,11 +2213,72 @@ button.icon-button.active i.fa-retweet {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
.loading-indicator {
 | 
			
		||||
  color: $ui-secondary-color;
 | 
			
		||||
  font-size: 16px;
 | 
			
		||||
  font-weight: 500;
 | 
			
		||||
  padding-top: 120px;
 | 
			
		||||
  text-align: center;
 | 
			
		||||
  color: lighten($ui-base-color, 26%);
 | 
			
		||||
  font-size: 12px;
 | 
			
		||||
  font-weight: 400;
 | 
			
		||||
  text-transform: uppercase;
 | 
			
		||||
  overflow: visible;
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  top: 50%;
 | 
			
		||||
  left: 50%;
 | 
			
		||||
  transform: translate(-50%, -50%);
 | 
			
		||||
 | 
			
		||||
  span {
 | 
			
		||||
    display: block;
 | 
			
		||||
    float: left;
 | 
			
		||||
    margin-left: 50%;
 | 
			
		||||
    transform: translateX(-50%);
 | 
			
		||||
    margin: 82px 0 0 50%;
 | 
			
		||||
    white-space: nowrap;
 | 
			
		||||
    animation: loader-label 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.loading-indicator__figure {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  top: 50%;
 | 
			
		||||
  left: 50%;
 | 
			
		||||
  transform: translate(-50%, -50%);
 | 
			
		||||
  width: 0;
 | 
			
		||||
  height: 0;
 | 
			
		||||
  box-sizing: border-box;
 | 
			
		||||
  border: 0 solid lighten($ui-base-color, 26%);
 | 
			
		||||
  border-radius: 50%;
 | 
			
		||||
  animation: loader-figure 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes loader-figure {
 | 
			
		||||
  0% {
 | 
			
		||||
    width: 0;
 | 
			
		||||
    height: 0;
 | 
			
		||||
    background-color: lighten($ui-base-color, 26%);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  29% {
 | 
			
		||||
    background-color: lighten($ui-base-color, 26%);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  30% {
 | 
			
		||||
    width: 42px;
 | 
			
		||||
    height: 42px;
 | 
			
		||||
    background-color: transparent;
 | 
			
		||||
    border-width: 21px;
 | 
			
		||||
    opacity: 1;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  100% {
 | 
			
		||||
    width: 42px;
 | 
			
		||||
    height: 42px;
 | 
			
		||||
    border-width: 0;
 | 
			
		||||
    opacity: 0;
 | 
			
		||||
    background-color: transparent;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes loader-label {
 | 
			
		||||
  0% { opacity: 0.25; }
 | 
			
		||||
  30% { opacity: 1; }
 | 
			
		||||
  100% { opacity: 0.25; }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.video-error-cover {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue