import React, { Component } from "react";
import { NavDropdown } from "react-bootstrap";
import { FormattedMessage } from "react-intl";
import axios from "axios";
import { RECENT_NOTIFICATIONS_PATH } from "../../../app/routes";
import NotificationItem from "./NotificationItem";
import Spinner from "../../spinner";
import CustomNavItem from "./CustomNavItem";
class NotificationsDropdown extends Component {
constructor(props) {
super(props);
this.state = { notifications: [] };
this.getRecentNotifications = this.getRecentNotifications.bind(this);
this.renderNotifications = this.renderNotifications.bind(this);
}
getRecentNotifications(e) {
e.preventDefault();
axios
.get(RECENT_NOTIFICATIONS_PATH, { withCredentials: true })
.then(({ data }) => {
this.setState({ notifications: data });
})
.catch(error => {
console.log("get Notifications Error: ", error); // TODO change this
});
}
renderNotifications() {
const list = this.state.notifications.map(notification =>
);
const items =
this.state.notifications.length > 0
? list
:
;
return items;
}
render() {
return (
}
onClick={this.getRecentNotifications}
>
{this.renderNotifications()}
);
}
}
export default NotificationsDropdown;