Mailspring/internal_packages/notifications/lib/notifications.cjsx

32 lines
809 B
CoffeeScript

React = require 'react'
NotificationStore = require './notifications-store'
module.exports =
Notifications = React.createClass
getInitialState: ->
notifications: NotificationStore.notifications()
componentDidMount: ->
@unsubscribeStore = NotificationStore.listen @_onStoreChange
componentWillUnmount: ->
@unsubscribeStore() if @unsubscribeStore
render: ->
<div className="notifications-momentary">
<div className="inner">
{@_notificationComponents()}
</div>
</div>
_notificationComponents: ->
@state.notifications.map (notification) ->
<div className={"notification-item notification-#{notification.type}"}>
{notification.message}
</div>
_onStoreChange: ->
@setState
notifications: NotificationStore.notifications()