diff --git a/components/Feed.jsx b/components/Feed.jsx
index 0e577fa..dfeb160 100644
--- a/components/Feed.jsx
+++ b/components/Feed.jsx
@@ -5,37 +5,29 @@ import timeago from "timeago";
import api from "./api";
import transformers from "./feed-transformers";
-function throwError(err) {
- setTimeout(() => {
- console.log(err.stack);
- throw err;
- });
-}
-
export default class Feed extends React.Component {
state = {
messages: [],
};
componentDidMount() {
- request
- .get(api("feeds"))
+ this.updateFeed();
+ }
- .then(res => {
- const messages = _(res.data)
- .map((messages, type) => transformers[type](messages))
- .flatten()
- .value();
+ async updateFeed() {
+ const res = await request.get(api("feeds"));
+ const messages = _(res.data)
+ .map((messages, type) => transformers[type](messages))
+ .flatten()
+ .value();
- this.setState({
- messages: _(messages)
- .sortBy("timestamp")
- .reverse()
- .value()
- .slice(0, 40),
- });
- })
- .catch(throwError);
+ this.setState({
+ messages: _(messages)
+ .sortBy("timestamp")
+ .reverse()
+ .value()
+ .slice(0, 40),
+ });
}
render() {
diff --git a/components/InviteForm.jsx b/components/InviteForm.jsx
index ec1dcd2..b1ea2d6 100644
--- a/components/InviteForm.jsx
+++ b/components/InviteForm.jsx
@@ -12,7 +12,7 @@ export default class InviteForm extends React.Component {
error: null,
};
- onSubmit = e => {
+ onSubmit = async e => {
e.preventDefault();
this.setState({
@@ -21,12 +21,14 @@ export default class InviteForm extends React.Component {
error: null,
});
- request
- .post(api("invites"), {
+ try {
+ await request.post(api("invites"), {
email: this.state.email.trim(),
- })
- .then(this.handleSuccess)
- .catch(this.handleError);
+ });
+ this.handleSuccess();
+ } catch (error) {
+ this.handleError(error);
+ }
};
handleSuccess = () => {
diff --git a/components/Members.jsx b/components/Members.jsx
index 841baeb..c724f3b 100644
--- a/components/Members.jsx
+++ b/components/Members.jsx
@@ -9,19 +9,20 @@ export default class Members extends React.Component {
};
componentDidMount() {
- request.get(api("members")).then(
- function(res) {
- this.setState({
- members: _.shuffle(res.data),
- });
- }.bind(this)
- );
+ this.refreshMembers();
+ }
+
+ async refreshMembers() {
+ const res = await request.get(api("members"));
+ this.setState({
+ members: _.shuffle(res.data),
+ });
}
render() {
- var members = this.state.members.map(function(member, i) {
+ var members = this.state.members.map(member => {
var src = `${member.avatar_url}&s=120`;
- return
;
+ return
;
});
return (