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;