Merge pull request #6535 from Flaburgan/stream-modification

Design of stream pages
This commit is contained in:
Steffen van Bergerem 2016-03-23 01:27:19 +01:00
commit be05f454e4
51 changed files with 346 additions and 337 deletions

2
.gitignore vendored
View file

@ -42,7 +42,7 @@ public/500.html
app/assets/images/branding-*.png
app/assets/images/branding/logos-*.png
app/assets/images/icons-*.png
app/assets/images/social_media_logos-*.png
app/assets/images/social-media-logos-*.png
# Documentation
.yardoc/

View file

@ -94,6 +94,7 @@ Contributions are very welcome, the hard work is done!
* Optimized the pod up checks [#6727](https://github.com/diaspora/diaspora/pull/6727)
* Prune and do not create aspect visibilities for public posts [#6732](https://github.com/diaspora/diaspora/pull/6732)
* Optimized mobile login and registration forms [#6764](https://github.com/diaspora/diaspora/pull/6764)
* Redesign stream pages [#6535](https://github.com/diaspora/diaspora/pull/6535)
## Bug fixes
* Destroy Participation when removing interactions with a post [#5852](https://github.com/diaspora/diaspora/pull/5852)

View file

Before

Width:  |  Height:  |  Size: 307 B

After

Width:  |  Height:  |  Size: 307 B

View file

Before

Width:  |  Height:  |  Size: 814 B

After

Width:  |  Height:  |  Size: 814 B

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 348 B

After

Width:  |  Height:  |  Size: 348 B

View file

Before

Width:  |  Height:  |  Size: 796 B

After

Width:  |  Height:  |  Size: 796 B

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 390 B

After

Width:  |  Height:  |  Size: 390 B

View file

Before

Width:  |  Height:  |  Size: 929 B

After

Width:  |  Height:  |  Size: 929 B

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 823 B

After

Width:  |  Height:  |  Size: 823 B

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -104,9 +104,9 @@ var app = {
evt.preventDefault();
var link = $(this);
if(link.data("stream-title") && link.data("stream-title").length) {
$(".stream_title").text(link.data("stream-title"));
$(".stream-title").text(link.data("stream-title"));
} else {
$(".stream_title").text(link.text());
$(".stream-title").text(link.text());
}
$("html, body").animate({scrollTop: 0});

View file

@ -59,7 +59,7 @@ app.views.AspectsList = app.views.Base.extend({
},
updateStreamTitle: function() {
$('.stream_title').text(this.collection.toSentence());
$(".stream-title").text(this.collection.toSentence());
},
updateAspectList: function() {

View file

@ -20,15 +20,13 @@ app.views.PublisherGettingStarted = Backbone.View.extend({
show: function() {
this._addPopover(this.firstMessage, {
trigger: "manual",
offset: 30,
id: "first_message_explain",
placement: "right",
placement: "left",
html: true,
container: "body"
}, 600);
this._addPopover(this.visibility, {
trigger: "manual",
offset: 10,
id: "message_visibility_explain",
placement: "bottom",
html: true,
@ -36,7 +34,6 @@ app.views.PublisherGettingStarted = Backbone.View.extend({
}, 1000);
this._addPopover(this.stream, {
trigger: "manual",
offset: -5,
id: "stream_explain",
placement: "left",
html: true,
@ -77,4 +74,3 @@ app.views.PublisherGettingStarted = Backbone.View.extend({
}
});
// @license-end

View file

@ -121,7 +121,7 @@ app.views.Publisher = Backbone.View.extend({
this.viewGettingStarted = new app.views.PublisherGettingStarted({
firstMessageEl: this.inputEl,
visibilityEl: this.$(".public_toggle .aspect_dropdown > .dropdown-toggle"),
streamEl: $("#gs-shim")
streamEl: $("#main_stream")
});
this.viewUploader = new app.views.PublisherUploader({

View file

@ -1,15 +1,19 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
app.views.Sidebar = app.views.Base.extend({
el: ".rightbar",
el: ".info-bar",
events: {
"click input#invite_code": "selectInputText"
"click input#invite_code": "selectInputText",
"click .section .title": "toggleSection"
},
selectInputText: function(event) {
event.target.select();
},
toggleSection: function(e) {
$(e.target).closest(".section").toggleClass("collapsed");
}
});
// @license-end

View file

@ -87,9 +87,6 @@
@import 'oembed';
@import 'post-content';
/* right bar */
@import 'navbar_right';
/* contacts */
@import 'contacts';
@import 'navbar_left';

View file

@ -5,11 +5,6 @@ body {
.container-fluid { max-width: $screen-lg-min; }
.page-streams,
.page-tags.action-show {
> .container-fluid { max-width: 100%; }
}
// These names are generated by a rails controller
// scss-lint:disable SelectorFormat
.page-contacts,
@ -22,10 +17,11 @@ body {
.page-profiles.action-edit,
.page-services.action-index,
.page-streams,
.page-tags,
.page-user_applications,
.page-users.action-edit,
.page-users.action-privacy_settings {
background-color: $sidebars-background;
background-color: $main-background;
}
// scss-lint:enable SelectorFormat

View file

@ -26,8 +26,8 @@ $light-green: lighten($green, 20%);
$red: #a80000;
$blue: #3f8fba;
$sidebars-background: #f0f0f0 !default;
$sidebars-sub-background: darken($sidebars-background, 12%) !default;
$main-background: #f0f0f0 !default;
$sidebars-background: $background-white !default;
$left-navbar-drawer-background: darken($sidebars-background, 6%);
$card-shadow: 0 1px 2px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12) !default;

View file

@ -7,8 +7,8 @@ $main-color-dark: darken($main-color, 15%);
// Variables
$header-background-color: $main-color-dark;
$main-background: $background;
$sidebars-background: $background;
$sidebars-sub-background: $background;
$card-shadow: none;
@import 'color_themes/color_theme_override_origwhite';

View file

@ -45,10 +45,8 @@
#welcome-to-diaspora {
background: orange;
box-shadow: inset 0 -2px 10px rgba(0,0,0,0.35);
margin-bottom: 20px;
margin-top: -40px;
padding-bottom: 30px;
padding-top: 60px;
padding-top: 20px;
h1,h3 {
color: $white;

View file

@ -29,7 +29,7 @@ code {
}
body {
background-color: $sidebars-background;
background-color: $main-background;
padding: 0;
}

View file

@ -1,23 +1,8 @@
/* Fixed backgrounds are a common practice to avoid height issues */
.left-navbar-fixed-sub-background {
background: $sidebars-sub-background;
position: fixed;
height: 100%;
}
.left-navbar-fixed-background {
background: $sidebars-background;
border-right: 1px solid $light-grey;
position: fixed;
height: 100%;
}
.left-navbar {
background: $sidebars-background;
border-right: 1px solid $light-grey;
padding: 0;
padding-bottom: 10px;
a {
color: $link-grey;
font-weight: bold;
text-decoration: none;
outline: 0;
}
@ -26,32 +11,35 @@
margin: 0;
padding: 0;
list-style: none;
&#stream_selection {
margin: 0px -15px; /* -15px overrides Bootstrap's default gutter width */
}
}
.hoverable {
border-bottom: 1px solid $border-grey;
color: $link-grey;
display: block;
font-weight: normal;
padding: 10px 20px;
font-weight: bold;
a {
color: $link-grey;
}
&:hover, &:hover a, &:hover [class^="entypo"] {
background-color: $blue;
border-color: $blue;
color: $white;
}
}
.all_aspects a.hoverable.selected,
.followed-tags-sidebar a.hoverable.selected,
li.selected > a.hoverable {
.all-aspects .hoverable.selected,
.followed-tags-sidebar .hoverable.selected,
.selected > .hoverable {
color: $white;
background: $gray;
border-color: $gray;
}
#aspects_list, #tags_list {
.all-aspects ul,
.followed-tags-sidebar ul {
background: $left-navbar-drawer-background;
li { padding: 0; }
.entypo-check { visibility: hidden; }
@ -71,30 +59,6 @@
.hoverable:hover > .action { visibility: visible; }
}
#home_user_badge {
min-height: 90px;
padding: 20px;
margin: 0 -15px;
.avatar {
float: left;
height: 50px;
width: 50px;
}
h4 {
margin: 0 0 0 60px;
overflow: hidden;
text-overflow: ellipsis;
line-height: 25px;
a {
color: $black;
font-weight: normal;
}
}
}
#tags_list {
#new_tag_following {
padding: 10px 20px 10px 30px;
@ -136,3 +100,93 @@
/* ---- end override app/stylesheets/vendor/autoSuggest.css ---- */
}
}
.info-bar {
margin-top: 20px;
padding: 10px 20px 0;
.info-links {
border-top: 1px solid $border-grey;
margin-top: 10px;
padding: 5px;
}
.section {
margin-top: 10px;
&:last-child {
margin-bottom: 10px;
}
&:not(.collapsed) .entypo-triangle-right,
&.collapsed .entypo-triangle-down,
&.collapsed .content {
display: none;
}
&.collapsed .title h5 {
font-weight: normal;
}
}
.title {
cursor: pointer;
padding-bottom: 5px;
h5 {
color: $text-dark-grey;
font-size: $font-size-base;
font-weight: bold;
margin: 0;
}
}
.content {
color: $text-grey;
font-size: $font-size-small;
line-height: 18px;
padding: 10px 0;
p,
ul {
margin: 0;
}
ul {
list-style: none;
margin-bottom: 5px;
padding-left: 0;
}
.btn-link {
font-size: $font-size-small;
padding-left: 0;
}
> [name="invite_code"] {
box-sizing: border-box;
font-size: $font-size-small;
height: 30px;
width: 100%;
}
}
.right-service-icons {
padding: 10px {
bottom: 0;
}
text-align: center;
.social-media-logos-facebook-24x24,
.social-media-logos-twitter-24x24,
.social-media-logos-tumblr-24x24,
.social-media-logos-wordpress-24x24 {
height: 24px;
width: 24px;
}
a {
display: inline-block;
}
}
}

View file

@ -1,90 +0,0 @@
.right-sidebar-fixed-background {
height: 100%;
border-left: 1px solid $light-grey;
background: $sidebars-background;
position: fixed;
right: 0;
}
.right-sidebar-fixed-sub-background {
height: 100%;
background: $sidebars-sub-background;
position: fixed;
right: 0;
}
.right-sidebar-padder {
max-width: 400px;
}
.rightbar {
padding-top: 20px;
border-left: 1px solid $light-grey;
background: $sidebars-background;
.section {
margin-bottom: 20px;
> .title {
border-bottom: 1px solid $border-grey;
padding-bottom: 5px;
&.no_icon { padding-left: 8px; }
h5 {
color: $text-dark-grey;
font-weight: normal;
font-size: $font-size-base;
margin: 0;
}
}
.content {
color: $text-grey;
font-size: $font-size-small;
line-height: 18px;
padding: 10px 0;
p, ul { margin: 0; }
ul {
margin-bottom: 5px;
padding-left: 0;
li { list-style: none; }
}
.btn-link {
font-size: $font-size-small;
padding-left: 0;
}
& > #invite_code {
box-sizing: border-box;
font-size: $font-size-small;
height: 30px;
width: 100%;
}
& > #right_service_icons {
text-align: center;
padding: 10px {
bottom: 0;
};
.social_media_logos-facebook-24x24,
.social_media_logos-twitter-24x24,
.social_media_logos-tumblr-24x24,
.social_media_logos-wordpress-24x24 {
height: 24px;
width: 24px;
}
a {
display: inline-block;
}
}
}
}
}
@media screen and (min-width: 1200px) {
.right-sidebar-fixed-background {
margin-right: 8.33333%; /* Only for LARGE screens, same as lg-offset-1 class, BS3 does not provide right side offsetting */
}
}

View file

@ -1,7 +1,8 @@
#publisher {
.publisher {
z-index: 1;
color: $text-grey;
margin: 0;
margin-bottom: 20px;
&.closed {
#button_container,
@ -35,6 +36,7 @@
.options_and_submit {
padding: 10px 0;
#publisher-service-icons {
text-decoration: none;
@ -46,7 +48,7 @@
.service_icon { padding: 6px 5px; }
.btn.btn-link.question_mark:hover .entypo-cog { color: $black; }
.dim { opacity: 0.3; }
.social_media_logos-wordpress-16x16 {
.social-media-logos-wordpress-16x16 {
display: inline-block;
height: 16px;
width: 16px;

View file

@ -2,9 +2,8 @@
.framed-content {
background-color: $white;
border: 1px solid $light-grey;
border-top: 0;
box-shadow: $card-shadow;
margin-top: -10px;
padding-top: 10px;
.header,
.sidebar-header {

View file

@ -4,9 +4,8 @@
#single-post-content {
.head {
padding-bottom: 10px;
padding-top: 5px;
border-bottom: 1px solid $border-grey;
padding: 10px 0;
#post-info {
.author{ color: $grey; }
.info {
@ -108,6 +107,11 @@
}
#single-post-interactions {
> .framed-content {
padding-top: 10px;
}
.no-comments { text-align: center; }
a {

View file

@ -1,5 +1,5 @@
/* ===== sprites ===== */
@import 'branding/logos/*.png';
@import 'social_media_logos/*.png';
@import 'social-media-logos/*.png';
@include all-logos-sprites;
@include all-social_media_logos-sprites;
@include all-social-media-logos-sprites;

View file

@ -1,6 +1,25 @@
.stream_container {
#publisher {
margin-bottom: 15px;
.stream-title {
margin: 12px 0;
}
}
.main-stream-publisher {
padding: 0;
.avatar {
height: 50px;
width: 50px;
}
.publisher {
margin-left: 65px;
}
}
@media(max-width: $screen-xs-max) {
.main-stream-publisher .publisher {
margin-left: 0;
}
.well#ignore-info { text-align: center; }
}

View file

@ -23,11 +23,13 @@ h1.tag {
}
}
.page-tags {
background-color: $sidebars-background;
.left-navbar-fixed-background { border-right: 0; }
#tags_show {
.col-md-3 {
h4 { margin: 25px 0 15px; }
.sidebar {
h3 {
font-size: 13px;
line-height: 1.1;
}
.side_stream #people_stream {
.name { display: block; }
.name, .diaspora_handle {
@ -37,7 +39,7 @@ h1.tag {
}
}
}
.col-md-7 {
.col-md-9 {
.tag-following-action {
max-width: 100%;
input[type="submit"] {

View file

@ -19,7 +19,7 @@ module PublisherHelper
maxchar: "#{service.class::MAX_CHARACTERS}",
data: {toggle: "tooltip", placement: "bottom"} do
if service.provider == "wordpress"
content_tag(:span, "", class: "social_media_logos-wordpress-16x16")
content_tag(:span, "", class: "social-media-logos-wordpress-16x16")
else
content_tag(:i, "", class: "entypo-social-#{ service.provider } small")
end

View file

@ -7,7 +7,7 @@
.sidebar
= render "shared/settings_nav"
.col-md-9
.framed-content
.framed-content.clearfix
%h3= t(".title")
.row
.col-md-12

View file

@ -3,14 +3,19 @@
-# the COPYRIGHT file.
- if user_signed_in? && @person != current_user.person
%h3#aspect_stream_header.stream_title
%h3.stream-title
= stream.title
= render 'publisher/publisher', publisher_aspects_for(stream)
.container-fluid.main-stream-publisher
.pull-left.hidden-xs
= owner_image_link
= render "publisher/publisher", publisher_aspects_for(stream)
#gs-shim{:title => popover_with_close_html("3. #{t('.stay_updated')}"), 'data-content' => t('.stay_updated_explanation')}
#main_stream.stream
- if current_user.getting_started?
.stream#main_stream{:title => popover_with_close_html("3. #{t('.stay_updated')}"),
"data-content" => t(".stay_updated_explanation")}
- else
.stream#main_stream
#paginate
%span.loader.hidden

View file

@ -34,7 +34,7 @@
- else
.stream_container.hidden
#conversation_show
.framed-content#conversation_new
.framed-content.clearfix#conversation_new
.new-conversation
%h3.text-center
= t("conversations.index.new_conversation")

View file

@ -8,7 +8,7 @@
.sidebar
= render "shared/settings_nav"
.col-md-9
.framed-content
.framed-content.clearfix
- content_for :submit_block do
= link_to t("cancel"), local_or_remote_person_path(current_user.person), class: "btn btn-default"
= submit_tag t(".update_profile"), class: "btn btn-primary pull-right", id: "update_profile"

View file

@ -4,7 +4,7 @@
if( app.publisher ) app.publisher.triggerGettingStarted();
});
.row#publisher{class: ((aspect == :profile || publisher_open) ? "mention_popup" : "closed")}
.row.publisher#publisher{class: ((aspect == :profile || publisher_open) ? "mention_popup" : "closed")}
.content_creation
= form_for(StatusMessage.new) do |status|
= status.error_messages

View file

@ -11,7 +11,9 @@
%span#publisher-service-icons
- if current_user.services
- for service in current_user.services
= image_tag "social_media_logos/#{service.provider}-32x32.png", title: service.provider.titleize, class: "service_icon dim", id:"#{service.provider}", maxchar: "#{service.class::MAX_CHARACTERS}"
= image_tag "social-media-logos/#{service.provider}-32x32.png",
title: service.provider.titleize, class: "service_icon dim",
id: "#{service.provider}", maxchar: "#{service.class::MAX_CHARACTERS}"
%select{id: "aspect_ids_", class: "form-control", name: "aspect_ids[]"}
%option{value: 'public'}

View file

@ -11,7 +11,7 @@
.sidebar
= render "shared/settings_nav"
.col-md-9
.framed-content
.framed-content.clearfix
%h3= t(".title")
.row
.col-md-12

View file

@ -1,94 +0,0 @@
-# Copyright (c) 2010-2011, Diaspora Inc. This file is
-# licensed under the Affero General Public License version 3 or later. See
-# the COPYRIGHT file.
.right-sidebar-padder
- if AppConfig.settings.invitations.open?
.section
.title
%h5.title-header
= t('shared.invitations.invite_your_friends')
.content
= render "shared/invitations"
.section
.title
%h5.title-header
= t('aspects.index.new_here.title')
.content
!= t('aspects.index.new_here.follow', link: link_to("#"+t('shared.publisher.new_user_prefill.newhere'), tag_path(name: t('shared.publisher.new_user_prefill.newhere'))))
%br
= link_to(t('aspects.index.new_here.learn_more'), "http://wiki.diasporafoundation.org/Welcoming_Committee")
.section
.title
%h5.title-header
= t('aspects.index.help.need_help')
.content
%p
= t('aspects.index.help.here_to_help')
%p
= t('aspects.index.help.do_you')
%ul
%li
!= t('aspects.index.help.have_a_question', :link => link_to("#"+t('aspects.index.help.tag_question'), tag_path(:name => t('aspects.index.help.tag_question'))))
%li
!= t('aspects.index.help.find_a_bug', :link => link_to("#"+t('aspects.index.help.tag_bug'), tag_path(:name => t('aspects.index.help.tag_bug'))))
%li
!= t('aspects.index.help.feature_suggestion', :link => link_to("#"+t('aspects.index.help.tag_feature'), tag_path(:name => t('aspects.index.help.tag_feature'))))
%p
!= t('aspects.index.help.tutorials_and_wiki',
:faq => link_to(t('_help'), help_path),
:tutorial => link_to(t('aspects.index.help.tutorial_link_text'), "https://diasporafoundation.org/tutorials", :target => '_blank'),
:wiki => link_to('Wiki','http://wiki.diasporafoundation.org', :target => '_blank'), :target => '_blank')
- unless AppConfig.configured_services.blank? || all_services_connected?
.section
.title
%h5.title-header
= t('aspects.index.services.heading')
.content
%div
= t('aspects.index.services.content')
#right_service_icons
- AppConfig.configured_services.each do |service|
- if AppConfig.show_service?(service, current_user)
- unless current_user.services.any?{|x| x.provider == service}
= link_to(content_tag(:div, nil, :class => "social_media_logos-#{service.to_s.downcase}-24x24", :title => service.to_s.titleize), "/auth/#{service}")
.section
.title
%h5.title-header
= t('bookmarklet.heading')
.content
!= t('bookmarklet.explanation', :link => link_to(t('bookmarklet.post_something'), bookmarklet_code))
- if AppConfig.settings.paypal_donations.enable? || AppConfig.bitcoin_donation_address
.section
.title
%h5.title-header
= t('aspects.index.donate')
.content
%p
= t('aspects.index.keep_pod_running', :pod => AppConfig.pod_uri.host)
= render 'shared/donatepod'
- if AppConfig.admins.podmin_email.present?
.section
.title
%h5.title-header
= t('aspects.index.help.any_problem')
.content
%p
= t('aspects.index.help.contact_podmin')
%p
= link_to t("aspects.index.help.mail_podmin"), "mailto:#{AppConfig.admins.podmin_email}"
.section
.title
.content
%ul
= render "shared/links"

View file

@ -1,6 +1,7 @@
#section_header
%h3.sidebar-header
= t("settings")
.sidebar-header.clearfix
%h3
= t("settings")
.list-group#settings_nav
= link_to t("profile"), edit_profile_path,
class: current_page?(edit_profile_path) ? "list-group-item active" : "list-group-item"

View file

@ -9,49 +9,154 @@
- if current_user.getting_started?
#welcome-to-diaspora
.container
.container-fluid
.row
.col-md-8.offset1
.col-md-9
%h1
= t('aspects.index.welcome_to_diaspora', name: current_user.first_name)
%h3
= t('aspects.index.introduce_yourself')
.col-md-2
.col-md-3
.pull-right
= link_to '×'.html_safe, getting_started_completed_path, id: "gs-skip-x", class: "close"
%div.container-fluid
.container-fluid
.row
.left-navbar-fixed-sub-background.col-lg-1.visible-lg
.left-navbar-fixed-background.col-lg-offset-1.col-lg-2.col-md-3.hidden-sm.hidden-xs
.left-navbar.col-lg-offset-1.col-lg-2.col-md-3
#home_user_badge
= owner_image_link
%h4
= link_to current_user.first_name, local_or_remote_person_path(current_user.person)
.col-md-3
.sidebar.left-navbar
%ul#stream_selection
%li{data: {stream: "stream"}}
= link_to t("streams.multi.title"), stream_path, rel: "backbone", class: "hoverable"
%li{data: {stream: "activity"}}
= link_to t("streams.activity.title"), activity_stream_path, rel: "backbone", class: "hoverable"
%li{data: {stream: "mentions"}}
= link_to t("streams.mentions.title"), mentioned_stream_path, rel: "backbone", class: "hoverable"
%li.all-aspects
= render "aspects/aspect_listings", stream: @stream
%li.followed-tags-sidebar
= render "tags/followed_tags_listings"
%li{data: {stream: "public"}}
= link_to t("streams.public.title"), public_stream_path, rel: "backbone", class: "hoverable"
%ul#stream_selection
%li{data: {stream: "stream"}}
= link_to t("streams.multi.title"), stream_path, rel: "backbone", class: "hoverable"
%li{data: {stream: "activity"}}
= link_to t("streams.activity.title"), activity_stream_path, rel: "backbone", class: "hoverable"
%li{data: {stream: "mentions"}}
= link_to t("streams.mentions.title"), mentioned_stream_path, rel: "backbone", class: "hoverable"
%li.all_aspects
= render "aspects/aspect_listings", stream: @stream
%li.followed-tags-sidebar
= render "tags/followed_tags_listings"
%li{data: {stream: "public"}}
= link_to t("streams.public.title"), public_stream_path, rel: "backbone", class: "hoverable"
.sidebar.info-bar.hidden-xs
- if AppConfig.settings.invitations.open?
.section.collapsed
.title
%h5.title-header
.entypo-triangle-right
.entypo-triangle-down
= t("shared.invitations.invite_your_friends")
.content
= render "shared/invitations"
.col-md-6
#aspect_stream_container.stream_container
= render 'aspects/aspect_stream', stream: @stream
.section.collapsed
.title
%h5.title-header
.entypo-triangle-right
.entypo-triangle-down
= t("aspects.index.new_here.title")
.content
!= t("aspects.index.new_here.follow",
link: link_to("#" + t("shared.publisher.new_user_prefill.newhere"),
tag_path(name: t("shared.publisher.new_user_prefill.newhere"))))
%br
= link_to(t("aspects.index.new_here.learn_more"),
"http://wiki.diasporafoundation.org/Welcoming_Committee")
.right-sidebar-fixed-sub-background.col-lg-3.visible-lg
.right-sidebar-fixed-background.col-md-3.col-lg-2.hidden-sm.hidden-xs
.col-md-3.col-lg-2.hidden-xs.hidden-sm.rightbar
= render 'shared/right_sections'
.section.collapsed
.title
%h5.title-header
.entypo-triangle-right
.entypo-triangle-down
= t("aspects.index.help.need_help")
.content
%p
= t("aspects.index.help.here_to_help")
%p
= t("aspects.index.help.do_you")
%ul
%li
!= t("aspects.index.help.have_a_question",
link: link_to("#" + t("aspects.index.help.tag_question"),
tag_path(name: t("aspects.index.help.tag_question"))))
%li
!= t("aspects.index.help.find_a_bug",
link: link_to("#" + t("aspects.index.help.tag_bug"),
tag_path(name: t("aspects.index.help.tag_bug"))))
%li
!= t("aspects.index.help.feature_suggestion",
link: link_to("#" + t("aspects.index.help.tag_feature"),
tag_path(name: t("aspects.index.help.tag_feature"))))
%p
!= t("aspects.index.help.tutorials_and_wiki",
faq: link_to(t("_help"), help_path),
tutorial: link_to(t("aspects.index.help.tutorial_link_text"),
"https://diasporafoundation.org/tutorials", target: "_blank"),
wiki: link_to("Wiki", "http://wiki.diasporafoundation.org",
target: "_blank"),
target: "_blank")
- unless AppConfig.configured_services.blank? || all_services_connected?
.section.collapsed
.title
%h5.title-header
.entypo-triangle-right
.entypo-triangle-down
= t("aspects.index.services.heading")
.content
%div
= t("aspects.index.services.content")
.right-service-icons
- AppConfig.configured_services.each do |service|
- if AppConfig.show_service?(service, current_user)
- unless current_user.services.any? {|x| x.provider == service }
= link_to(content_tag(:div, nil,
class: "social-media-logos-#{service.to_s.downcase}-24x24",
title: service.to_s.titleize), "/auth/#{service}")
.section.collapsed
.title
%h5.title-header
.entypo-triangle-right
.entypo-triangle-down
= t("bookmarklet.heading")
.content
!= t("bookmarklet.explanation", link: link_to(t("bookmarklet.post_something"), bookmarklet_code))
- if AppConfig.settings.paypal_donations.enable? || AppConfig.bitcoin_donation_address
.section.collapsed
.title
%h5.title-header
.entypo-triangle-right
.entypo-triangle-down
= t("aspects.index.donate")
.content
%p
= t("aspects.index.keep_pod_running", pod: AppConfig.pod_uri.host)
= render "shared/donatepod"
- if AppConfig.admins.podmin_email.present?
.section.collapsed
.title
%h5.title-header
.entypo-triangle-right
.entypo-triangle-down
= t("aspects.index.help.any_problem")
.content
%p
= t("aspects.index.help.contact_podmin")
%p
= link_to t("aspects.index.help.mail_podmin"), "mailto:#{AppConfig.admins.podmin_email}"
.info-links
.content
%ul
= render "shared/links"
.col-md-9
.stream_container#aspect_stream_container
= render "aspects/aspect_stream", stream: @stream
%a.back-to-top#back-to-top{title: "#{t('layouts.application.back_to_top')}", href: "#"}
⇧

View file

@ -10,16 +10,16 @@
.container-fluid#tags_show
.row
.col-lg-1.visible-lg.left-navbar-fixed-sub-background
.col-lg-offset-1.col-lg-3.col-md-4.hidden-sm.hidden-xs.left-navbar-fixed-background
.col-lg-offset-1.col-lg-3.col-md-4
%h4
= t('.tagged_people', count: @stream.tagged_people_count, tag: @stream.display_tag_name)
.col-md-3.hidden-xs
.sidebar
.sidebar-header.clearfix
%h3
= t(".tagged_people", count: @stream.tagged_people_count, tag: @stream.display_tag_name)
.side_stream.stream
= render partial: 'people/index', locals: {people: @stream.tagged_people}
.side_stream.stream
= render partial: "people/index", locals: {people: @stream.tagged_people}
.col-lg-7.col-md-8
.col-md-9
.stream_container
#author_info
%h2
@ -34,7 +34,5 @@
%span.loader.hidden
.spinner
.col-lg-1.visible-lg.right-sidebar-fixed-sub-background
%a.back-to-top#back-to-top{title: "#{t('layouts.application.back_to_top')}", href: "#"}
⇧

View file

@ -13,4 +13,6 @@ Feature: donations
Scenario: Bitcoin donations
Given I have configured a Bitcoin address
And I go to the home page
Then I should see "Donate" within ".info-bar"
And I click on "Donate" navbar title
Then I should see the Bitcoin address

View file

@ -37,11 +37,13 @@ Feature: Invitations
And I close the publisher
And I log out
And I sign in as "alice@alice.alice"
And I click on "Invite your friends" navbar title
And I click on selector "#invitations-button"
Then I should see one less invite
Scenario: sends an invitation
When I sign in as "alice@alice.alice"
And I click on "Invite your friends" navbar title
And I click on selector "#invitations-button"
And I fill in the following:
| email_inviter_emails | alex@example.com |

View file

@ -25,7 +25,7 @@ Feature: Keyboard navigation
Scenario: navigate downwards after changing the stream
When I go to the activity stream page
And I click on selector "[data-stream='stream'] a"
Then I should see "Stream" within ".stream_title"
Then I should see "Stream" within ".stream-title"
When I press the "J" key somewhere
Then post 1 should be highlighted

View file

@ -34,7 +34,7 @@ end
World(AspectCukeHelpers)
When /^I click on "([^"]*)" aspect edit icon$/ do |aspect_name|
within(".all_aspects") do
within(".all-aspects") do
li = find('li', text: aspect_name)
li.hover
li.find('.modify_aspect').click

View file

@ -21,3 +21,9 @@ end
Then /^I should have (\d+) nsfw posts$/ do |num_posts|
page.should have_css(".nsfw-shield", count: num_posts.to_i)
end
When /^(?:|I )click on "([^"]*)" navbar title$/ do |title|
with_scope(".info-bar") do
find("h5", text: title).click
end
end