diff --git a/client/loaders/DetailsLoader.jsx b/client/loaders/DetailsLoader.jsx index 656267e..03e45c1 100644 --- a/client/loaders/DetailsLoader.jsx +++ b/client/loaders/DetailsLoader.jsx @@ -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: ( +
+ + + +
+ ) +}); export default DetailsLoader; diff --git a/client/loaders/spinner.css b/client/loaders/spinner.css new file mode 100644 index 0000000..d733ee0 --- /dev/null +++ b/client/loaders/spinner.css @@ -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); + } +}