mirror of
				https://github.com/beestat/app.git
				synced 2025-10-31 10:07:01 -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';
 | |
| };
 |