Case-sensitive filename changes

This commit is contained in:
Toby Zerner
2015-07-15 15:54:34 +09:30
parent 88b754ee8d
commit 76678f72f2
21 changed files with 0 additions and 0 deletions

View File

@ -0,0 +1,67 @@
import Component from 'flarum/Component';
import avatar from 'flarum/helpers/avatar';
import icon from 'flarum/helpers/icon';
import humanTime from 'flarum/helpers/humanTime';
/**
* The `Notification` component abstract displays a single notification.
* Subclasses should implement the `icon`, `href`, and `content` methods.
*
* ### Props
*
* - `notification`
*
* @abstract
*/
export default class Notification extends Component {
view() {
const notification = this.props.notification;
const href = this.href();
return (
<div className={'notification notification-' + notification.contentType() + ' ' + (!notification.isRead() ? 'unread' : '')}
onclick={this.markAsRead.bind(this)}>
<a href={href} config={href.indexOf('://') === -1 ? m.route : undefined}>
{avatar(notification.sender())}
{icon(this.icon(), {className: 'icon'})}
<span className="content">{this.content()}</span>
{humanTime(notification.time())}
</a>
</div>
);
}
/**
* Get the name of the icon that should be displayed in the notification.
*
* @return {String}
* @abstract
*/
icon() {
}
/**
* Get the URL that the notification should link to.
*
* @return {String}
* @abstract
*/
href() {
}
/**
* Get the content of the notification.
*
* @return {VirtualElement}
* @abstract
*/
content() {
}
/**
* Mark the notification as read.
*/
markAsRead() {
this.props.notification.save({isRead: true});
}
}