From f6491816a34680593c500bfac8ffb316b739e41f Mon Sep 17 00:00:00 2001 From: danielvincent Date: Fri, 19 Nov 2010 12:10:08 -0800 Subject: [PATCH] adding a contact on an aspect page does not produce a fancybox anymore. more ui fixing. --- app/views/aspects/_no_contacts_message.haml | 5 +- app/views/aspects/show.html.haml | 2 +- app/views/photos/_index.html.haml | 2 +- app/views/shared/_aspect_contacts.haml | 134 ++++++++++++-------- app/views/shared/_aspect_nav.haml | 6 + app/views/shared/_contact_list.html.haml | 30 +++-- config/locales/diaspora/en.yml | 6 +- public/stylesheets/sass/application.sass | 57 ++++----- 8 files changed, 139 insertions(+), 103 deletions(-) diff --git a/app/views/aspects/_no_contacts_message.haml b/app/views/aspects/_no_contacts_message.haml index d93b985e0..1581c739d 100644 --- a/app/views/aspects/_no_contacts_message.haml +++ b/app/views/aspects/_no_contacts_message.haml @@ -9,6 +9,7 @@ %h4= link_to t('.invite'), "#invite_user_pane", :class => "invite_user_button", :class => "invite_user_button", :title => t('.invite') - else %h3=t('.nobody_in_aspect', :aspect_name => aspect.name) - %h4= link_to t('.add_contact_to', :aspect_name => aspect.name), "#manage_aspect_contacts_pane", :class => "manage_aspect_contacts_button" - %h4= link_to t('.invite', :aspect_name => aspect.name), "#invite_user_pane", :class => "invite_user_button", :class => "invite_user_button", :title => t('.invite') + - if defined?(options) && options + %h4= link_to t('.add_contact_to', :aspect_name => aspect.name), "#manage_aspect_contacts_pane", :class => "manage_aspect_contacts_button" + %h4= link_to t('.invite', :aspect_name => aspect.name), "#invite_user_pane", :class => "invite_user_button", :class => "invite_user_button", :title => t('.invite') diff --git a/app/views/aspects/show.html.haml b/app/views/aspects/show.html.haml index 7c6e58bd1..01877eb86 100644 --- a/app/views/aspects/show.html.haml +++ b/app/views/aspects/show.html.haml @@ -6,8 +6,8 @@ = render 'shared/aspect_contacts', :contacts => @aspect_contacts, :aspect => @aspect .span-15.last - = render 'aspects/no_contacts_message', :aspect => @aspect, :contact_count => @aspect_contacts.count = render 'shared/publisher', :aspect => @aspect + = render 'aspects/no_contacts_message', :aspect => @aspect, :contact_count => @aspect_contacts.count, :options => false = render 'aspects/no_posts_message', :post_count => @posts.count, :contact_count=> @aspect_contacts.count = render 'shared/stream', :posts => @posts diff --git a/app/views/photos/_index.html.haml b/app/views/photos/_index.html.haml index 050679910..3660266fa 100644 --- a/app/views/photos/_index.html.haml +++ b/app/views/photos/_index.html.haml @@ -11,7 +11,7 @@ }); }); -.span-18.last +.span-15.last #thumbnails - for photo in photos .image_thumb diff --git a/app/views/shared/_aspect_contacts.haml b/app/views/shared/_aspect_contacts.haml index f4c005670..d5fd8139c 100644 --- a/app/views/shared/_aspect_contacts.haml +++ b/app/views/shared/_aspect_contacts.haml @@ -2,6 +2,38 @@ -# licensed under the Affero General Public License version 3 or later. See -# the COPYRIGHT file. +- content_for :head do + :javascript + $("#manage_aspect_trigger").live("click", + function(){ + if( $("#manage_aspect_pane").hasClass("active") ) { + managePaneFadeOut(); + } else { + managePaneFadeIn(); + } + } + ); + + managePaneFadeIn = function(){ + $("#manage_aspect_pane").addClass("active"); + $(".contact_pictures").fadeOut(200, function(){ + $("#manage_aspect_pane").fadeIn(200); + }); + }; + + managePaneFadeOut = function(){ + $("#manage_aspect_pane").removeClass("active"); + $("#manage_aspect_pane").fadeOut(200, function(){ + $(".contact_pictures").fadeIn(200); + }); + }; + + - if aspect != :all && aspect.contacts.count == 0 + :javascript + $(document).ready(function(){ + managePaneFadeIn(); + }); + - if (aspect == :all) && @request_count > 0 #new_request_pane{:class => "everyone"} %h1.new_request @@ -11,62 +43,58 @@ = link_to "#{@request_count} new request!", aspects_manage_path #left_pane{:class => ("everyone" if aspect == :all)} - %h2{:style=>"position:relative;"} - - if aspect == :all - = t('.everyone') - - else + - if aspect == :all + %h2= t('.everyone') + - else + %h2{:style=>"position:relative;"} = aspect + = aspect.contacts.count + - if aspect.contacts.count == 1 + contact + - else + contacts + .right + = link_to "manage aspect", "#", :id => "manage_aspect_trigger", :class => "button" + + - unless aspect == :all + #manage_aspect_pane + %h3 Add an existing contact + = render 'shared/contact_list', :aspect => aspect, :contacts => @contacts, :manage => defined?(manage) + + %h3 Add a new contact + = form_tag(person_by_handle_path, :id => "new_request_to_#{aspect.id}", :class => "webfinger_form", :remote => true) do + =t('.enter_a_diaspora_username') + %br + %i= t '.your_diaspora_username_is', :diaspora_handle => current_user.diaspora_handle + + = search_field_tag :diaspora_handle,'', :id => "request_d_handle_to_#{aspect.id}", :results => 5, :placeholder => "Diaspora handle" + = hidden_field_tag :aspect_id, aspect.id + + - if defined?(getting_started) + = hidden_field_tag :getting_started, getting_started + - if defined?(manage) + = hidden_field_tag :manage, true + + = submit_tag t('.create_request') + %br + #loader.hidden= image_tag 'ajax-loader.gif' + %ul#request_result{:aspect_id => aspect.id} + %li.error.hidden + #message + = link_to "Know their email address? You should invite them", "#invite_user_pane", :class => "invite_user_button" + %br + .yo{ :style => "display:none;"} + #invite_user_pane + = render "invitations/new" + + != remove_link(aspect) .contact_pictures - for contact in contacts = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - = person_image_link(contact.person) - -unless (aspect == :all) - = link_to (image_tag('add_contact_button.png', :title => t('.manage', :aspect => @aspect))), "#manage_aspect_contacts_pane", :class => 'manage_aspect_contacts_button' - .fancybox_content - #manage_aspect_contacts_pane - = render "requests/manage_aspect_contacts", :aspect => @aspect - - -else - + -if aspect == :all %br %br %br @@ -76,7 +104,7 @@ %h3{:style=>"position:relative;"} Aspects .right{:style=>"font-size:12px;top:7px;"} - = link_to "add aspect", aspects_manage_path + = link_to 'add aspect', '#add_aspect_pane', :class => "add_aspect_button" - for user_aspect in current_user.aspects @@ -100,9 +128,9 @@ - if aspect == :all %h3 - Invites and requests + Invites - No new requests - %br + %p invite people to join Diaspora. + = render "shared/invitations", :invites => @invites diff --git a/app/views/shared/_aspect_nav.haml b/app/views/shared/_aspect_nav.haml index 48dc1cc8c..22968e23e 100644 --- a/app/views/shared/_aspect_nav.haml +++ b/app/views/shared/_aspect_nav.haml @@ -9,4 +9,10 @@ - for aspect in @aspects %li{:class => ("selected" if current_aspect?(aspect))} = link_for_aspect aspect + %li + = link_to '+', '#add_aspect_pane', :class => "add_aspect_button", :title => t('.add_a_new_aspect') + + .fancybox_content + #add_aspect_pane + = render "aspects/new_aspect" diff --git a/app/views/shared/_contact_list.html.haml b/app/views/shared/_contact_list.html.haml index c7fc065f0..699ea4743 100644 --- a/app/views/shared/_contact_list.html.haml +++ b/app/views/shared/_contact_list.html.haml @@ -4,20 +4,22 @@ :javascript - $(".contact_list_search").keyup(function(e){ - var search = $(this); - var list = $(this).siblings("ul").first(); - var query = new RegExp(search.val(),'i'); + $(document).ready( function(){ + $(".contact_list_search").keyup(function(e){ + var search = $(this); + var list = $(this).siblings("ul").first(); + var query = new RegExp(search.val(),'i'); - $("li", list).each( function() { - var element = $(this); - if( !element.text().match(query) ){ - if( !element.hasClass('invis') ){ - element.addClass('invis').fadeOut(10); + $("li", list).each( function() { + var element = $(this); + if( !element.text().match(query) ){ + if( !element.hasClass('invis') ){ + element.addClass('invis').slideUp(100); + } + } else { + element.removeClass('invis').slideDown(100); } - } else { - element.removeClass('invis').fadeIn(10); - } + }); }); }); @@ -32,7 +34,7 @@ = form_tag '/aspects/add_to_aspect' do = person_image_tag contact.person %span.name - = contact.person.real_name + = link_to contact.person.real_name, contact.person .right = hidden_field_tag :aspect_id, aspect.id = hidden_field_tag :person_id, contact.person.id @@ -43,7 +45,7 @@ = form_tag '/aspects/remove_from_aspect' do = person_image_tag contact.person %span.name - = contact.person.real_name + = link_to contact.person.real_name, contact.person .right = hidden_field_tag :aspect_id, aspect.id = hidden_field_tag :person_id, contact.person.id diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml index b72c7bd1a..8f01a6472 100644 --- a/config/locales/diaspora/en.yml +++ b/config/locales/diaspora/en.yml @@ -82,7 +82,11 @@ en: add_contacts: "add contacts" everyone: "Everyone" add_to: "add to %{aspect}" - manage: "manage %{aspect}" + add_a_new_contact_to: "Add a new contact to" + enter_a_diaspora_username: "Enter a Diaspora username:" + your_diaspora_username_is: "Your Diaspora username is: %{diaspora_handle}" + contact_username: "Contact's username" + create_request: "Create request" invitations: invites: "Invites" invite_someone: "Invite someone" diff --git a/public/stylesheets/sass/application.sass b/public/stylesheets/sass/application.sass index bbdec31e7..7a03f19cc 100644 --- a/public/stylesheets/sass/application.sass +++ b/public/stylesheets/sass/application.sass @@ -124,10 +124,12 @@ header #diaspora_text :display inline :font - :family 'BrandonGrotesqueLightRegular' + :family "BrandonGrotesqueLightRegular", "Helvetica Neue", Arial, Helvetica, sans-serif :size 16px :border none :color #fff + :margin + :right 12px ul#user_menu :overflow hidden @@ -181,11 +183,6 @@ header :left 5px :display block - - #global_search - :margin - :left 432px - .stream :margin 0 :padding 0 @@ -882,6 +879,8 @@ h1.big_text :display none #aspect_nav + :margin + :top 4px :color #000 :font :family 'Arial', 'Helvetica', sans-serif @@ -953,10 +952,12 @@ h1.big_text input :display inline - :font - :size 13px :border none - :background-color #fff + :background-color #eee + :font + :size 12px + + :border 1px solid #000 :opacity 0.5 @@ -966,9 +967,9 @@ h1.big_text &.active :opacity 1 - input[type='text'] + input[type='search'] :width 200px - :padding 2px + :padding 4px .aspect @@ -1169,23 +1170,9 @@ ul#settings_nav :margin 0 :padding 0 -#left_pane - ul - :margin 0 - :padding 0 - :list - :style none - li a - :display block - :padding 3px - :border - :bottom 1px solid #ccc +#left_pane.everyone, +#manage_aspect_pane - &:hover - &:after - :content " ►" - -#left_pane.everyone :background :color rgb(250,250,250) :border 1px solid #ddd @@ -1232,10 +1219,6 @@ input[type="search"] :-webkit-appearance textfield :-moz-appearance textfield -header - input[type="search"] - :width 192px - .fancybox_content :display none @@ -1575,7 +1558,12 @@ ul#request_result :border 2px solid #eee + :-webkit-border-radius 5px + :-moz-border-radius 5px :border-radius 5px + + :background + :color rgb(252,252,252) :margin :bottom 1.5em @@ -1843,3 +1831,10 @@ h3,h4 :color #fff :font :weight bold + +#manage_aspect_pane + :-webkit-box-shadow 0 4px 8px #333 + :-moz-box-shadow 0 4px 8px #333 + :box-shadow 0 4px 8px #333 + + :display none