diff --git a/components/common-banner.js b/components/common-banner.js index d3c8fb4bb..e8a0b09b9 100644 --- a/components/common-banner.js +++ b/components/common-banner.js @@ -11,9 +11,10 @@ export default props => ( background-color: #f4f7fb; min-height: 150px; text-align: center; + padding-top: 30px; + padding-bottom: 30px; } .headline { - padding-top: 20px; font-size: 4em; color: #df1cb5; font-weight: 900; @@ -24,7 +25,6 @@ export default props => ( margin-right: auto; letter-spacing: 2px; line-height: 2; - margin-bottom: 30px; } @media (max-width: 720px) { h2 { diff --git a/components/content-loaders.js b/components/content-loaders.js new file mode 100644 index 000000000..95d03654a --- /dev/null +++ b/components/content-loaders.js @@ -0,0 +1,243 @@ +import React from 'react'; + +export const CardContentLoader = () => ( +
+
+
+
+
+
+
+
+
+
+ +
+); + +export const TextContentLoader = props => ( +
+
+
+
+ +
+); diff --git a/components/learn-components/accord-guide.js b/components/learn-components/accord-guide.js index 5a5864b96..47b051fac 100644 --- a/components/learn-components/accord-guide.js +++ b/components/learn-components/accord-guide.js @@ -21,6 +21,7 @@ export default class AccordGuide extends Component { activeIndex: -1, }; } + handleClick = (e, titleProps) => { const { index } = titleProps; const { activeIndex } = this.state; @@ -28,6 +29,7 @@ export default class AccordGuide extends Component { this.setState({ activeIndex: newIndex }); }; + async componentDidMount() { try { const request = await fetch(this.props.url); diff --git a/pages/events.js b/pages/events.js index e32a01347..f5c486ee9 100644 --- a/pages/events.js +++ b/pages/events.js @@ -1,11 +1,15 @@ import React from 'react'; import fetch from 'isomorphic-unfetch'; -import { Card, Divider, Dimmer, Loader } from 'semantic-ui-react'; +import { Card, Divider } from 'semantic-ui-react'; import publicPage from '../hocs/public-page'; import CommonBanner from '../components/common-banner'; import { baseEventsURL, futureEventsURL, pastEventsURL } from '../utils/urls'; import RowEvent from '../components/row-events'; +import { + TextContentLoader, + CardContentLoader, +} from '../components/content-loaders'; class Events extends React.Component { state = { @@ -106,15 +110,18 @@ class Events extends React.Component { pageTitle="Events" pageSubTitle="Because you cannot change the world alone" /> -
+
{this.state.loading ? ( - - Fetching Events - +
+ + + + +
) : ( - this.renderEvents() +
{this.renderEvents()}
)} -
+