news.js 678 B

12345678910111213141516171819202122232425262728293031323334
  1. #= require views/misc/notif
  2. class app.views.News extends app.views.Notif
  3. @className += ' _notif-news'
  4. @defautOptions:
  5. autoHide: 30000
  6. init: ->
  7. @unreadNews = @getUnreadNews()
  8. @show() if @unreadNews.length
  9. @markAllAsRead()
  10. return
  11. render: ->
  12. @html app.templates.notifNews(@unreadNews)
  13. return
  14. getUnreadNews: ->
  15. return [] unless time = @getLastReadTime()
  16. for news in app.news
  17. break if new Date(news[0]).getTime() <= time
  18. news
  19. getLastNewsTime: ->
  20. new Date(app.news[0][0]).getTime()
  21. getLastReadTime: ->
  22. app.settings.get 'news'
  23. markAllAsRead: ->
  24. app.settings.set 'news', @getLastNewsTime()
  25. return