mirror of
https://github.com/koodiklinikka/koodiklinikka.fi.git
synced 2026-01-26 11:23:58 +00:00
* Run prettify * Upgrade dependencies and switch out some libraries: * timeago (freshly jquery dependent) -> ReactTimeAgo * next-ga -> react-ga and custom plumbing * Move static/ to public/static/ As per https://github.com/zeit/next.js/blob/master/errors/static-dir-deprecated.md * Fix cons->icons typo * Import only what's necessary from lodash (223 -> 180 kb) * Asyncify MembershipInfoForm
44 lines
916 B
JavaScript
44 lines
916 B
JavaScript
import React from "react";
|
|
import request from "axios";
|
|
import shuffle from "lodash/shuffle";
|
|
import api from "./api";
|
|
|
|
export default class Members extends React.Component {
|
|
state = {
|
|
members: [],
|
|
};
|
|
|
|
componentDidMount() {
|
|
this.refreshMembers();
|
|
}
|
|
|
|
async refreshMembers() {
|
|
const res = await request.get(api("members"));
|
|
this.setState({
|
|
members: shuffle(res.data),
|
|
});
|
|
}
|
|
|
|
render() {
|
|
const members = this.state.members.map(member => {
|
|
const src = `${member.avatar_url}&s=120`;
|
|
return (
|
|
<img className="member" key={member.avatar_url} src={src} alt="" />
|
|
);
|
|
});
|
|
|
|
return (
|
|
<div className="members" aria-hidden="true">
|
|
<a
|
|
href="https://github.com/koodiklinikka"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
tabIndex="-1"
|
|
>
|
|
{members}
|
|
</a>
|
|
</div>
|
|
);
|
|
}
|
|
}
|