From 6d4696faf0d3b1c16c5441e9d1d27ba9adb9f436 Mon Sep 17 00:00:00 2001 From: maxwell <maxwell@joindiaspora.com> Date: Mon, 20 Dec 2010 18:05:08 -0800 Subject: [PATCH] MS DG notifications are now pretty decent --- app/controllers/notifications_controller.rb | 1 + app/views/notifications/index.html.haml | 49 +++++++++++++------- public/images/icons/mail_big.png | Bin 0 -> 6494 bytes public/stylesheets/sass/application.sass | 16 +++++++ 4 files changed, 48 insertions(+), 18 deletions(-) create mode 100644 public/images/icons/mail_big.png diff --git a/app/controllers/notifications_controller.rb b/app/controllers/notifications_controller.rb index 2be753d144..3fc8f5a900 100644 --- a/app/controllers/notifications_controller.rb +++ b/app/controllers/notifications_controller.rb @@ -22,4 +22,5 @@ class NotificationsController < ApplicationController @group_days = @notifications.group_by{|note| note.created_at.strftime("%B %d") } respond_with @notifications end + end diff --git a/app/views/notifications/index.html.haml b/app/views/notifications/index.html.haml index 28c5d7e6d7..0df4f64a09 100644 --- a/app/views/notifications/index.html.haml +++ b/app/views/notifications/index.html.haml @@ -1,21 +1,34 @@ :javascript - $('.note a').live('click', function(evt){ - var note_id = $(this).closest('.note').attr('id'); - $.ajax({ - url: 'notifications/' + note_id, - type: 'PUT' - }); + $('.message').live('click', function(evt){ + var note = $(this).closest('.message'), + note_id = note.attr('data-guid'); + + if(note.hasClass('unread') ){ + note.removeClass('unread'); + $.ajax({ + url: 'notifications/' + note_id, + type: 'PUT' + }); + } }); -%ul.notes - - @group_days.each do |day, notes| - %h3 - %ul - %li - = day - - notes.each do |note| - %li.note{:id => note.id} - %h4{:class => "#{note.unread ? 'unread' : ''}"} - = link_to "#{note.person.name.titleize}", person_path(note.person) - = object_link(note) - %span.description=" #{t('ago', :time => time_ago_in_words(note.created_at))}" + +.span-1 + = image_tag 'icons/mail_big.png', :height => 30, :width => 30, :style=>"margin-top:3px;" +.span-23.last + %h2 + Notifications + +.span-24.last + %ul.stream.notifications + - @group_days.each do |day, notes| + %li + %h4= day + %ul.notifications_for_day + - notes.each do |note| + %li.message{:data=>{:guid => note.id}, :class => "#{note.unread ? 'unread' : ''}"} + %span.from + = link_to "#{note.person.name.titleize}", person_path(note.person) + = object_link(note) + + %span.time= "#{t('ago', :time => time_ago_in_words(note.created_at))}" diff --git a/public/images/icons/mail_big.png b/public/images/icons/mail_big.png new file mode 100644 index 0000000000000000000000000000000000000000..c3e181789ef786eaf4579b5aa2448e79ccf622e8 GIT binary patch literal 6494 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 T5g~s7D;i*7YJ)2@@i_JmSwDGR literal 0 HcmV?d00001 diff --git a/public/stylesheets/sass/application.sass b/public/stylesheets/sass/application.sass index e2d2c542cc..d30b5513f9 100644 --- a/public/stylesheets/sass/application.sass +++ b/public/stylesheets/sass/application.sass @@ -2134,3 +2134,19 @@ h3,h4 :top 6px :right 0 +ul.notifications_for_day + + :margin 0 + :padding 0 + + li.message + :margin + :bottom 0.3em + :padding 0.2em 0.5em + :width 500px + +.stream.notifications + > li:hover + :background none + :border + :bottom 1px solid #eee -- GitLab