about summary refs log tree commit diff
path: root/app/views/remote_unfollows
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2018-04-08 13:40:22 +0200
committerEugen Rochko <eugen@zeonfederated.com>2018-04-08 13:40:22 +0200
commit1364e9e4ae1fb12a1c970795f1d0afd651c7cfe2 (patch)
tree0c835286de94b4a1dc8a5ba973c80922d226a9ee /app/views/remote_unfollows
parent1ed1014546bcfef0d2441702673deab586f6bca0 (diff)
Fix follow/unfollow buttons on public profile (fixes #7036) (#7040)
* Fix follow/unfollow buttons on public profile

- Present non-logged users with web+mastodon:// URLs for remote accounts
- Present logged-in users with appropriate links (authorize_follows and
  remote_unfollows) for remote accounts

* Do not cache rendered cards if user is logged in
Diffstat (limited to 'app/views/remote_unfollows')
-rw-r--r--app/views/remote_unfollows/_card.html.haml13
-rw-r--r--app/views/remote_unfollows/_post_follow_actions.html.haml4
-rw-r--r--app/views/remote_unfollows/error.html.haml3
-rw-r--r--app/views/remote_unfollows/success.html.haml10
4 files changed, 30 insertions, 0 deletions
diff --git a/app/views/remote_unfollows/_card.html.haml b/app/views/remote_unfollows/_card.html.haml
new file mode 100644
index 000000000..e81e292ba
--- /dev/null
+++ b/app/views/remote_unfollows/_card.html.haml
@@ -0,0 +1,13 @@
+.account-card
+  .detailed-status__display-name
+    %div
+      = image_tag account.avatar.url(:original), alt: '', width: 48, height: 48, class: 'avatar'
+
+    %span.display-name
+      - account_url = local_assigns[:admin] ? admin_account_path(account.id) : TagManager.instance.url_for(account)
+      = link_to account_url, class: 'detailed-status__display-name p-author h-card', target: '_blank', rel: 'noopener' do
+        %strong.emojify= display_name(account)
+        %span @#{account.acct}
+
+  - if account.note?
+    .account__header__content.emojify= Formatter.instance.simplified_format(account)
diff --git a/app/views/remote_unfollows/_post_follow_actions.html.haml b/app/views/remote_unfollows/_post_follow_actions.html.haml
new file mode 100644
index 000000000..2a9c062e9
--- /dev/null
+++ b/app/views/remote_unfollows/_post_follow_actions.html.haml
@@ -0,0 +1,4 @@
+.post-follow-actions
+  %div= link_to t('authorize_follow.post_follow.web'), web_url("accounts/#{@account.id}"), class: 'button button--block'
+  %div= link_to t('authorize_follow.post_follow.return'), TagManager.instance.url_for(@account), class: 'button button--block'
+  %div= t('authorize_follow.post_follow.close')
diff --git a/app/views/remote_unfollows/error.html.haml b/app/views/remote_unfollows/error.html.haml
new file mode 100644
index 000000000..cb63f02be
--- /dev/null
+++ b/app/views/remote_unfollows/error.html.haml
@@ -0,0 +1,3 @@
+.form-container
+  .flash-message#error_explanation
+    = t('remote_unfollow.error')
diff --git a/app/views/remote_unfollows/success.html.haml b/app/views/remote_unfollows/success.html.haml
new file mode 100644
index 000000000..aa3c838a0
--- /dev/null
+++ b/app/views/remote_unfollows/success.html.haml
@@ -0,0 +1,10 @@
+- content_for :page_title do
+  = t('remote_unfollow.title', acct: @account.acct)
+
+.form-container
+  .follow-prompt
+    %h2= t('remote_unfollow.unfollowed')
+
+    = render 'card', account: @account
+
+  = render 'post_follow_actions'