Add remote interaction dialog for toots (#8202)

* Add remote interaction dialog for toots

* Change AuthorizeFollow into AuthorizeInteraction, support statuses

* Update brakeman.ignore

* Adjust how interaction buttons are display on public pages

* Fix tests
This commit is contained in:
Eugen Rochko
2018-08-18 03:03:12 +02:00
committed by GitHub
parent bf1bde5d6a
commit 78fa926ed5
27 changed files with 347 additions and 195 deletions

View File

@ -39,6 +39,11 @@
- else
= link_to status.application.name, status.application.website, class: 'detailed-status__application', target: '_blank', rel: 'noopener'
·
= link_to remote_interaction_path(status), class: 'modal-button detailed-status__link' do
= fa_icon('reply')
%span.detailed-status__reblogs>= number_to_human status.replies_count, strip_insignificant_zeros: true
= " "
·
- if status.direct_visibility?
%span.detailed-status__link<
= fa_icon('envelope')
@ -46,13 +51,15 @@
%span.detailed-status__link<
= fa_icon('lock')
- else
%span.detailed-status__link<
= link_to remote_interaction_path(status), class: 'modal-button detailed-status__link' do
= fa_icon('retweet')
%span.detailed-status__reblogs= number_to_human status.reblogs_count, strip_insignificant_zeros: true
%span.detailed-status__reblogs>= number_to_human status.reblogs_count, strip_insignificant_zeros: true
= " "
·
%span.detailed-status__link<
= link_to remote_interaction_path(status), class: 'modal-button detailed-status__link' do
= fa_icon('star')
%span.detailed-status__favorites= number_to_human status.favourites_count, strip_insignificant_zeros: true
%span.detailed-status__favorites>= number_to_human status.favourites_count, strip_insignificant_zeros: true
= " "
- if user_signed_in?
·

View File

@ -29,14 +29,16 @@
= react_component :media_gallery, height: 343, sensitive: status.sensitive? && !current_account&.user&.setting_display_sensitive_media, 'autoPlayGif': current_account&.user&.setting_auto_play_gif, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json }
.status__action-bar
.status__action-bar-button.static-icon-button<
.status__action-bar__counter
= link_to remote_interaction_path(status), class: 'status__action-bar-button icon-button modal-button', style: 'font-size: 18px; width: 23.1429px; height: 23.1429px; line-height: 23.15px;' do
= fa_icon 'reply fw'
.status__action-bar__counter__label= obscured_counter status.replies_count
= link_to remote_interaction_path(status), class: 'status__action-bar-button icon-button modal-button', style: 'font-size: 18px; width: 23.1429px; height: 23.1429px; line-height: 23.15px;' do
- if status.public_visibility? || status.unlisted_visibility?
= fa_icon 'retweet fw'
%span.detailed-status__reblogs= number_to_human status.reblogs_count, strip_insignificant_zeros: true
- elsif status.private_visibility?
= fa_icon 'lock fw'
- else
= fa_icon 'envelope fw'
.status__action-bar-button.static-icon-button<
= link_to remote_interaction_path(status), class: 'status__action-bar-button icon-button modal-button', style: 'font-size: 18px; width: 23.1429px; height: 23.1429px; line-height: 23.15px;' do
= fa_icon 'star fw'
%span.detailed-status__favorites= number_to_human status.favourites_count, strip_insignificant_zeros: true

View File

@ -19,7 +19,7 @@
.grid
.column-0
.activity-stream.activity-stream-headless.h-entry
.activity-stream.h-entry
= render partial: "stream_entries/#{@type}", locals: { @type.to_sym => @stream_entry.activity, include_threads: true }
.column-1
= render 'application/sidebar'