1
0
mirror of https://github.com/phuoc-ng/csslayout.git synced 2025-08-06 06:07:33 +02:00

Merge pull request #40 from phuoc-ng/fallback-loading

Add fallback loading
This commit is contained in:
phuoc-ng
2019-11-23 13:49:37 +07:00
committed by GitHub
2 changed files with 37 additions and 1 deletions

View File

@@ -1,7 +1,27 @@
import React from 'react';
import loadable from '@loadable/component';
import './spinner.css';
const slug = item => item.toLowerCase().split(' ').join('-');
const DetailsLoader = loadable(props => import(`../patterns/${slug(props.pattern)}/Details`));
const DetailsLoader = loadable(props => import(`../patterns/${slug(props.pattern)}/Details`), {
fallback: (
<div className="w100 h-100 flex items-center justify-center">
<svg className="spinner" width="64px" height="64px" viewBox="0 0 32 32">
<circle
cx="16"
cy="16"
fill="none"
r="12"
stroke="rgba(0, 0, 0, 0.4)"
strokeDasharray={Math.PI * 2 * 9}
strokeLinecap="round"
strokeWidth="4"
/>
</svg>
</div>
)
});
export default DetailsLoader;

View File

@@ -0,0 +1,16 @@
.spinner {
animation-duration: 750ms;
animation-name: viewer-spinner-transform;
animation-iteration-count: infinite;
animation-timing-function: linear;
transition-property: transform;
}
@keyframes viewer-spinner-transform {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}