mirror of
https://github.com/beestat/app.git
synced 2025-05-24 02:14:03 -04:00
56 lines
1.6 KiB
JavaScript
56 lines
1.6 KiB
JavaScript
/**
|
|
* Announcements
|
|
*/
|
|
beestat.component.modal.announcements = function() {
|
|
beestat.component.modal.apply(this, arguments);
|
|
};
|
|
beestat.extend(beestat.component.modal.announcements, beestat.component.modal);
|
|
|
|
/**
|
|
* Decorate
|
|
*
|
|
* @param {rocket.Elements} parent
|
|
*/
|
|
beestat.component.modal.announcements.prototype.decorate_contents_ = function(parent) {
|
|
var announcements = $.values(beestat.cache.announcement).reverse();
|
|
|
|
if (announcements.length === 0) {
|
|
parent.appendChild($.createElement('p').innerText('No recent announcements! :)'));
|
|
} else {
|
|
announcements.forEach(function(announcement) {
|
|
parent.appendChild($.createElement('div').style({
|
|
'border-bottom': '1px solid #eee',
|
|
'margin-left': (beestat.style.size.gutter * -1) + 'px',
|
|
'margin-right': (beestat.style.size.gutter * -1) + 'px',
|
|
'margin-top': (beestat.style.size.gutter) + 'px',
|
|
'margin-bottom': (beestat.style.size.gutter) + 'px'
|
|
}));
|
|
|
|
var icon = new beestat.component.icon(announcement.icon)
|
|
.set_text(announcement.title +
|
|
' • ' +
|
|
moment.utc(announcement.created_at).fromNow());
|
|
|
|
icon.render(parent);
|
|
|
|
beestat.dispatcher.dispatchEvent('view_announcements');
|
|
|
|
parent.appendChild($.createElement('p').innerHTML(announcement.text));
|
|
});
|
|
|
|
beestat.setting(
|
|
'last_read_announcement_id',
|
|
announcements[0].announcement_id
|
|
);
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Get the title.
|
|
*
|
|
* @return {string} The title.
|
|
*/
|
|
beestat.component.modal.announcements.prototype.get_title_ = function() {
|
|
return 'Announcements';
|
|
};
|