From 0554cac113555b948cdad3d9f14ec6f548c93c01 Mon Sep 17 00:00:00 2001
From: Vivian Lim <vivlim@pm.me>
Date: Wed, 27 Jun 2018 22:43:22 -0700
Subject: Add click-to-show content warnings on posts

---
 src/components/status/status.vue | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

(limited to 'src/components/status/status.vue')

diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index f88c810d..cffa8e26 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -73,7 +73,16 @@
 
           <div :class="{'tall-status': hideTallStatus}" class="status-content-wrapper">
             <a class="tall-status-hider" :class="{ 'tall-status-hider_focused': isFocused }" v-if="hideTallStatus" href="#" @click.prevent="toggleShowTall">Show more</a>
-            <div @click.prevent="linkClicked" class="status-content media-body" v-html="status.statusnet_html"></div>
+            <div v-if="status.summary" @click.prevent="linkClicked" class="status-content media-body">
+              <div class="contentWarningLabel">
+                <span v-html="status.summary"></span>
+                <button v-if="showingContentWarningContent" @click.prevent="toggleContentWarningContent">Hide</button>
+                <button v-else @click.prevent="toggleContentWarningContent">Show</button>
+              </div>
+              <div v-if="showingContentWarningContent" v-html="status.content" class="contentWarnedContent"></div>
+              <div v-else class="hiddenContent" @click.prevent="toggleContentWarningContent">Click to view this post.</div>
+            </div>
+            <div v-else @click.prevent="linkClicked" class="status-content media-body" v-html="status.statusnet_html"></div>
             <a v-if="showingTall" href="#" class="tall-status-unhider" @click.prevent="toggleShowTall">Show less</a>
           </div>
 
@@ -488,4 +497,15 @@ a.unmute {
   }
 }
 
+.hiddenContent {
+  margin: 8px;
+  padding: 32px;
+    background: var(--lightBg, $fallback--lightBg);
+  color: #CCCCCC;
+    border-radius: var(--panelRadius, $fallback--panelRadius);
+}
+.contentWarnedContent {
+  margin: 8px;
+}
+
 </style>
-- 
cgit v1.2.3-70-g09d2


From b3e122d31f95c5a130ce7c41970984502798903c Mon Sep 17 00:00:00 2001
From: Vivian Lim <vivlim@pm.me>
Date: Wed, 27 Jun 2018 23:55:29 -0700
Subject: Carry forward content warnings in replies

---
 src/components/post_status_form/post_status_form.js | 6 ++++--
 src/components/status/status.vue                    | 8 +++++++-
 2 files changed, 11 insertions(+), 3 deletions(-)

(limited to 'src/components/status/status.vue')

diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js
index 4f4c6aca..4f6cee9c 100644
--- a/src/components/post_status_form/post_status_form.js
+++ b/src/components/post_status_form/post_status_form.js
@@ -24,7 +24,8 @@ const PostStatusForm = {
     'replyTo',
     'repliedUser',
     'attentions',
-    'messageScope'
+    'messageScope',
+    'parentSpoilerText'
   ],
   components: {
     MediaUpload
@@ -50,7 +51,8 @@ const PostStatusForm = {
       newStatus: {
         status: statusText,
         files: [],
-        visibility: this.messageScope || 'public'
+        visibility: this.messageScope || 'public',
+        spoilerText: this.parentSpoilerText || null
       },
       caret: 0
     }
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index cffa8e26..09e6b54d 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -105,7 +105,13 @@
       </div>
       <div class="container" v-if="replying">
         <div class="reply-left"/>
-        <post-status-form class="reply-body" :reply-to="status.id" :attentions="status.attentions" :repliedUser="status.user" :message-scope="status.visibility" v-on:posted="toggleReplying"/>
+        <post-status-form class="reply-body"
+          :reply-to="status.id"
+          :attentions="status.attentions" 
+          :repliedUser="status.user" 
+          :message-scope="status.visibility" 
+          :parentSpoilerText="status.summary"
+          v-on:posted="toggleReplying"/>
       </div>
     </template>
   </div>
-- 
cgit v1.2.3-70-g09d2


From 65edcaf4b95964f94abbd9420fd11fc36490dbb1 Mon Sep 17 00:00:00 2001
From: Vivian Lim <vivlim@pm.me>
Date: Wed, 27 Jun 2018 23:55:57 -0700
Subject: Differentiate content warning block if it is on lightbg

---
 src/components/status/status.vue | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

(limited to 'src/components/status/status.vue')

diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 09e6b54d..5f6b987a 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -506,9 +506,11 @@ a.unmute {
 .hiddenContent {
   margin: 8px;
   padding: 32px;
-    background: var(--lightBg, $fallback--lightBg);
-  color: #CCCCCC;
-    border-radius: var(--panelRadius, $fallback--panelRadius);
+  background: var(--lightBg, $fallback--lightBg);
+  border-radius: var(--panelRadius, $fallback--panelRadius);
+}
+.status-el_focused * .hiddenContent {
+  background: var(--bg, $fallback--bg);
 }
 .contentWarnedContent {
   margin: 8px;
-- 
cgit v1.2.3-70-g09d2


From ab86e87e85afa3db390503821165cece64c39a3a Mon Sep 17 00:00:00 2001
From: Vivian Lim <vivlim@pm.me>
Date: Thu, 28 Jun 2018 20:29:39 -0700
Subject: Also hide attachments behind clickthrough.

---
 src/components/status/status.vue | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'src/components/status/status.vue')

diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 5f6b987a..77a7904e 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -80,13 +80,13 @@
                 <button v-else @click.prevent="toggleContentWarningContent">Show</button>
               </div>
               <div v-if="showingContentWarningContent" v-html="status.content" class="contentWarnedContent"></div>
-              <div v-else class="hiddenContent" @click.prevent="toggleContentWarningContent">Click to view this post.</div>
+              <div v-else class="hiddenContent" @click.prevent="toggleContentWarningContent">Click to view this post.<span v-if="status.attachments && status.attachments.length > 0"> (has attachments)</span></div>
             </div>
             <div v-else @click.prevent="linkClicked" class="status-content media-body" v-html="status.statusnet_html"></div>
             <a v-if="showingTall" href="#" class="tall-status-unhider" @click.prevent="toggleShowTall">Show less</a>
           </div>
 
-          <div v-if='status.attachments' class='attachments media-body'>
+          <div v-if='status.attachments && (!status.summary || showingContentWarningContent)' class='attachments media-body'>
             <attachment :size="attachmentSize" :status-id="status.id" :nsfw="status.nsfw" :attachment="attachment" v-for="attachment in status.attachments" :key="attachment.id">
             </attachment>
           </div>
-- 
cgit v1.2.3-70-g09d2


From b0cf050797702d6a7cc921c71b27cecb5ce234c6 Mon Sep 17 00:00:00 2001
From: Vivian Lim <vivlim@pm.me>
Date: Thu, 28 Jun 2018 21:39:25 -0700
Subject: Add configuration option to enable click-through content warnings

---
 src/components/status/status.js  |  7 +++++--
 src/components/status/status.vue | 10 ++++++----
 src/main.js                      |  4 +++-
 static/config.json               |  3 ++-
 4 files changed, 16 insertions(+), 8 deletions(-)

(limited to 'src/components/status/status.vue')

diff --git a/src/components/status/status.js b/src/components/status/status.js
index 9f88d38c..4e242701 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -29,7 +29,7 @@ const Status = {
     preview: null,
     showPreview: false,
     showingTall: false,
-    showingContentWarningContent: false
+    showingContentWarningContent: false 
   }),
   computed: {
     muteWords () {
@@ -93,7 +93,10 @@ const Status = {
         return 'small'
       }
       return 'normal'
-    }
+    },
+    clickThroughContentWarningsEnabled () {
+      return this.$store.state.config.clickThroughContentWarningsEnabled
+    },
   },
   components: {
     Attachment,
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 77a7904e..2e33999a 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -76,17 +76,19 @@
             <div v-if="status.summary" @click.prevent="linkClicked" class="status-content media-body">
               <div class="contentWarningLabel">
                 <span v-html="status.summary"></span>
-                <button v-if="showingContentWarningContent" @click.prevent="toggleContentWarningContent">Hide</button>
-                <button v-else @click.prevent="toggleContentWarningContent">Show</button>
+                <span v-if="clickThroughContentWarningsEnabled">
+                  <button v-if="showingContentWarningContent" @click.prevent="toggleContentWarningContent">Hide</button>
+                  <button v-else @click.prevent="toggleContentWarningContent">Show</button>
+                </span>
               </div>
-              <div v-if="showingContentWarningContent" v-html="status.content" class="contentWarnedContent"></div>
+              <div v-if="showingContentWarningContent || !clickThroughContentWarningsEnabled" v-html="status.content" class="contentWarnedContent"></div>
               <div v-else class="hiddenContent" @click.prevent="toggleContentWarningContent">Click to view this post.<span v-if="status.attachments && status.attachments.length > 0"> (has attachments)</span></div>
             </div>
             <div v-else @click.prevent="linkClicked" class="status-content media-body" v-html="status.statusnet_html"></div>
             <a v-if="showingTall" href="#" class="tall-status-unhider" @click.prevent="toggleShowTall">Show less</a>
           </div>
 
-          <div v-if='status.attachments && (!status.summary || showingContentWarningContent)' class='attachments media-body'>
+          <div v-if='status.attachments && (!status.summary || showingContentWarningContent || !clickThroughContentWarningsEnabled)' class='attachments media-body'>
             <attachment :size="attachmentSize" :status-id="status.id" :nsfw="status.nsfw" :attachment="attachment" v-for="attachment in status.attachments" :key="attachment.id">
             </attachment>
           </div>
diff --git a/src/main.js b/src/main.js
index bacd7f6d..01ee7f75 100644
--- a/src/main.js
+++ b/src/main.js
@@ -89,7 +89,7 @@ window.fetch('/api/statusnet/config.json')
 window.fetch('/static/config.json')
   .then((res) => res.json())
   .then((data) => {
-    const {theme, background, logo, showWhoToFollowPanel, whoToFollowProvider, whoToFollowLink, showInstanceSpecificPanel, scopeOptionsEnabled} = data
+    const {theme, background, logo, showWhoToFollowPanel, whoToFollowProvider, whoToFollowLink, showInstanceSpecificPanel, scopeOptionsEnabled, clickThroughContentWarningsEnabled} = data
     store.dispatch('setOption', { name: 'theme', value: theme })
     store.dispatch('setOption', { name: 'background', value: background })
     store.dispatch('setOption', { name: 'logo', value: logo })
@@ -98,6 +98,8 @@ window.fetch('/static/config.json')
     store.dispatch('setOption', { name: 'whoToFollowLink', value: whoToFollowLink })
     store.dispatch('setOption', { name: 'showInstanceSpecificPanel', value: showInstanceSpecificPanel })
     store.dispatch('setOption', { name: 'scopeOptionsEnabled', value: scopeOptionsEnabled })
+    store.dispatch('setOption', { name: 'clickThroughContentWarningsEnabled', value: clickThroughContentWarningsEnabled })
+
     if (data['chatDisabled']) {
       store.dispatch('disableChat')
     }
diff --git a/static/config.json b/static/config.json
index 4dacfebe..4fdddf29 100644
--- a/static/config.json
+++ b/static/config.json
@@ -11,5 +11,6 @@
   "whoToFollowLink": "https://vinayaka.distsn.org/?{{host}}+{{user}}",
   "whoToFollowLinkDummy2": "https://followlink.osa-p.net/recommend.html",
   "showInstanceSpecificPanel": false,
-  "scopeOptionsEnabled": false
+  "scopeOptionsEnabled": true,
+  "clickThroughContentWarningsEnabled": true
 }
-- 
cgit v1.2.3-70-g09d2


From 17f6eb18e73a46c0268d9c7bc46f755ac5da1b6f Mon Sep 17 00:00:00 2001
From: lambda <pleromagit@rogerbraun.net>
Date: Thu, 12 Jul 2018 07:20:39 +0000
Subject: Revert "Merge branch 'cw-clickthrough' into 'develop'"

This reverts merge request !291
---
 .../post_status_form/post_status_form.js           |  6 ++--
 src/components/status/status.js                    |  9 +-----
 src/components/status/status.vue                   | 36 ++--------------------
 src/main.js                                        |  4 +--
 static/config.json                                 |  3 +-
 5 files changed, 8 insertions(+), 50 deletions(-)

(limited to 'src/components/status/status.vue')

diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js
index 4f6cee9c..4f4c6aca 100644
--- a/src/components/post_status_form/post_status_form.js
+++ b/src/components/post_status_form/post_status_form.js
@@ -24,8 +24,7 @@ const PostStatusForm = {
     'replyTo',
     'repliedUser',
     'attentions',
-    'messageScope',
-    'parentSpoilerText'
+    'messageScope'
   ],
   components: {
     MediaUpload
@@ -51,8 +50,7 @@ const PostStatusForm = {
       newStatus: {
         status: statusText,
         files: [],
-        visibility: this.messageScope || 'public',
-        spoilerText: this.parentSpoilerText || null
+        visibility: this.messageScope || 'public'
       },
       caret: 0
     }
diff --git a/src/components/status/status.js b/src/components/status/status.js
index 40786d94..87ef90d8 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -28,8 +28,7 @@ const Status = {
     userExpanded: false,
     preview: null,
     showPreview: false,
-    showingTall: false,
-    showingContentWarningContent: false
+    showingTall: false
   }),
   computed: {
     muteWords () {
@@ -93,9 +92,6 @@ const Status = {
         return 'small'
       }
       return 'normal'
-    },
-    clickThroughContentWarningsEnabled () {
-      return this.$store.state.config.clickThroughContentWarningsEnabled
     }
   },
   components: {
@@ -149,9 +145,6 @@ const Status = {
     toggleShowTall () {
       this.showingTall = !this.showingTall
     },
-    toggleContentWarningContent () {
-      this.showingContentWarningContent = !this.showingContentWarningContent
-    },
     replyEnter (id, event) {
       this.showPreview = true
       const targetId = Number(id)
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 2e33999a..f88c810d 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -73,22 +73,11 @@
 
           <div :class="{'tall-status': hideTallStatus}" class="status-content-wrapper">
             <a class="tall-status-hider" :class="{ 'tall-status-hider_focused': isFocused }" v-if="hideTallStatus" href="#" @click.prevent="toggleShowTall">Show more</a>
-            <div v-if="status.summary" @click.prevent="linkClicked" class="status-content media-body">
-              <div class="contentWarningLabel">
-                <span v-html="status.summary"></span>
-                <span v-if="clickThroughContentWarningsEnabled">
-                  <button v-if="showingContentWarningContent" @click.prevent="toggleContentWarningContent">Hide</button>
-                  <button v-else @click.prevent="toggleContentWarningContent">Show</button>
-                </span>
-              </div>
-              <div v-if="showingContentWarningContent || !clickThroughContentWarningsEnabled" v-html="status.content" class="contentWarnedContent"></div>
-              <div v-else class="hiddenContent" @click.prevent="toggleContentWarningContent">Click to view this post.<span v-if="status.attachments && status.attachments.length > 0"> (has attachments)</span></div>
-            </div>
-            <div v-else @click.prevent="linkClicked" class="status-content media-body" v-html="status.statusnet_html"></div>
+            <div @click.prevent="linkClicked" class="status-content media-body" v-html="status.statusnet_html"></div>
             <a v-if="showingTall" href="#" class="tall-status-unhider" @click.prevent="toggleShowTall">Show less</a>
           </div>
 
-          <div v-if='status.attachments && (!status.summary || showingContentWarningContent || !clickThroughContentWarningsEnabled)' class='attachments media-body'>
+          <div v-if='status.attachments' class='attachments media-body'>
             <attachment :size="attachmentSize" :status-id="status.id" :nsfw="status.nsfw" :attachment="attachment" v-for="attachment in status.attachments" :key="attachment.id">
             </attachment>
           </div>
@@ -107,13 +96,7 @@
       </div>
       <div class="container" v-if="replying">
         <div class="reply-left"/>
-        <post-status-form class="reply-body"
-          :reply-to="status.id"
-          :attentions="status.attentions" 
-          :repliedUser="status.user" 
-          :message-scope="status.visibility" 
-          :parentSpoilerText="status.summary"
-          v-on:posted="toggleReplying"/>
+        <post-status-form class="reply-body" :reply-to="status.id" :attentions="status.attentions" :repliedUser="status.user" :message-scope="status.visibility" v-on:posted="toggleReplying"/>
       </div>
     </template>
   </div>
@@ -505,17 +488,4 @@ a.unmute {
   }
 }
 
-.hiddenContent {
-  margin: 8px;
-  padding: 32px;
-  background: var(--lightBg, $fallback--lightBg);
-  border-radius: var(--panelRadius, $fallback--panelRadius);
-}
-.status-el_focused * .hiddenContent {
-  background: var(--bg, $fallback--bg);
-}
-.contentWarnedContent {
-  margin: 8px;
-}
-
 </style>
diff --git a/src/main.js b/src/main.js
index 01ee7f75..bacd7f6d 100644
--- a/src/main.js
+++ b/src/main.js
@@ -89,7 +89,7 @@ window.fetch('/api/statusnet/config.json')
 window.fetch('/static/config.json')
   .then((res) => res.json())
   .then((data) => {
-    const {theme, background, logo, showWhoToFollowPanel, whoToFollowProvider, whoToFollowLink, showInstanceSpecificPanel, scopeOptionsEnabled, clickThroughContentWarningsEnabled} = data
+    const {theme, background, logo, showWhoToFollowPanel, whoToFollowProvider, whoToFollowLink, showInstanceSpecificPanel, scopeOptionsEnabled} = data
     store.dispatch('setOption', { name: 'theme', value: theme })
     store.dispatch('setOption', { name: 'background', value: background })
     store.dispatch('setOption', { name: 'logo', value: logo })
@@ -98,8 +98,6 @@ window.fetch('/static/config.json')
     store.dispatch('setOption', { name: 'whoToFollowLink', value: whoToFollowLink })
     store.dispatch('setOption', { name: 'showInstanceSpecificPanel', value: showInstanceSpecificPanel })
     store.dispatch('setOption', { name: 'scopeOptionsEnabled', value: scopeOptionsEnabled })
-    store.dispatch('setOption', { name: 'clickThroughContentWarningsEnabled', value: clickThroughContentWarningsEnabled })
-
     if (data['chatDisabled']) {
       store.dispatch('disableChat')
     }
diff --git a/static/config.json b/static/config.json
index 4fdddf29..4dacfebe 100644
--- a/static/config.json
+++ b/static/config.json
@@ -11,6 +11,5 @@
   "whoToFollowLink": "https://vinayaka.distsn.org/?{{host}}+{{user}}",
   "whoToFollowLinkDummy2": "https://followlink.osa-p.net/recommend.html",
   "showInstanceSpecificPanel": false,
-  "scopeOptionsEnabled": true,
-  "clickThroughContentWarningsEnabled": true
+  "scopeOptionsEnabled": false
 }
-- 
cgit v1.2.3-70-g09d2


From da36cd11e8e7b5a1cefafb71e622ebbeb494d8ae Mon Sep 17 00:00:00 2001
From: dtluna <dtluna@waifu.club>
Date: Mon, 6 Aug 2018 11:57:27 +0300
Subject: Hide all status actions if not logged in

---
 src/components/status/status.vue | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'src/components/status/status.vue')

diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index f88c810d..13fb9b7d 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -82,8 +82,8 @@
             </attachment>
           </div>
 
-          <div v-if="!noHeading && !noReplyLinks" class='status-actions media-body'>
-            <div v-if="loggedIn">
+          <div v-if="loggedIn && !noHeading && !noReplyLinks" class='status-actions media-body'>
+            <div>
               <a href="#" v-on:click.prevent="toggleReplying">
                 <i class="icon-reply" :class="{'icon-reply-active': replying}"></i>
               </a>
-- 
cgit v1.2.3-70-g09d2


From 5cfc247c6b7f5dcdf7ef7e552d85f31615129eab Mon Sep 17 00:00:00 2001
From: dtluna <dtluna@waifu.club>
Date: Mon, 6 Aug 2018 09:08:50 +0000
Subject: Revert "Merge branch
 'feature/hide-all-status-actions-if-not-logged-in' into 'develop'"

This reverts merge request !301
---
 src/components/status/status.vue | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'src/components/status/status.vue')

diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 13fb9b7d..f88c810d 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -82,8 +82,8 @@
             </attachment>
           </div>
 
-          <div v-if="loggedIn && !noHeading && !noReplyLinks" class='status-actions media-body'>
-            <div>
+          <div v-if="!noHeading && !noReplyLinks" class='status-actions media-body'>
+            <div v-if="loggedIn">
               <a href="#" v-on:click.prevent="toggleReplying">
                 <i class="icon-reply" :class="{'icon-reply-active': replying}"></i>
               </a>
-- 
cgit v1.2.3-70-g09d2


From e60fde233b50ee1b2ed273f49f3fc5831508143c Mon Sep 17 00:00:00 2001
From: Toromino <d.buchholz@toromino.de>
Date: Wed, 8 Aug 2018 14:39:22 +0000
Subject: Update status.vue

---
 src/components/status/status.vue | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src/components/status/status.vue')

diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index f88c810d..11865d0f 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -88,7 +88,7 @@
                 <i class="icon-reply" :class="{'icon-reply-active': replying}"></i>
               </a>
             </div>
-            <retweet-button :loggedIn='loggedIn' :status='status'></retweet-button>
+            <retweet-button v-if="status.visibility !== 'private' && status.visibility !== 'direct'" :loggedIn='loggedIn' :status='status'></retweet-button>
             <favorite-button :loggedIn='loggedIn' :status='status'></favorite-button>
             <delete-button :status='status'></delete-button>
           </div>
-- 
cgit v1.2.3-70-g09d2


From 876f7633fe34039c6f25831fa63ecc55d99081ff Mon Sep 17 00:00:00 2001
From: eal <eal@waifu.club>
Date: Thu, 9 Aug 2018 12:52:34 +0300
Subject: Use serverside html rendering in usernames and bios if available.

---
 src/components/notification/notification.vue           |  3 ++-
 src/components/status/status.js                        |  1 +
 src/components/status/status.vue                       |  6 ++++--
 src/components/user_card/user_card.vue                 | 10 ++++++++--
 src/components/user_card_content/user_card_content.vue |  6 ++++--
 5 files changed, 19 insertions(+), 7 deletions(-)

(limited to 'src/components/status/status.vue')

diff --git a/src/components/notification/notification.vue b/src/components/notification/notification.vue
index eed598a8..208e389c 100644
--- a/src/components/notification/notification.vue
+++ b/src/components/notification/notification.vue
@@ -10,7 +10,8 @@
       </div>
       <span class="notification-details">
         <div class="name-and-action">
-          <span class="username" :title="'@'+notification.action.user.screen_name">{{ notification.action.user.name }}</span>
+          <span class="username" v-if="!!notification.action.user.name_html" :title="'@'+notification.action.user.screen_name" v-html="notification.action.user.name_html"></span>
+          <span class="username" v-else :title="'@'+notification.action.user.screen_name">{{ notification.action.user.name }}</span>
           <span v-if="notification.type === 'favorite'">
             <i class="fa icon-star lit"></i>
             <small>{{$t('notifications.favorited_you')}}</small>
diff --git a/src/components/status/status.js b/src/components/status/status.js
index 87ef90d8..eb7d24d6 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -40,6 +40,7 @@ const Status = {
     },
     retweet () { return !!this.statusoid.retweeted_status },
     retweeter () { return this.statusoid.user.name },
+    retweeterHtml () { return this.statusoid.user.name_html },
     status () {
       if (this.retweet) {
         return this.statusoid.retweeted_status
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index f88c810d..e49958aa 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -11,7 +11,8 @@
       <div v-if="retweet && !noHeading" class="media container retweet-info">
         <StillImage v-if="retweet" class='avatar' :src="statusoid.user.profile_image_url_original"/>
         <div class="media-body faint">
-          <a :href="statusoid.user.statusnet_profile_url" style="font-weight: bold;" :title="'@'+statusoid.user.screen_name">{{retweeter}}</a>
+          <a v-if="retweeterHtml" :href="statusoid.user.statusnet_profile_url" style="font-weight: bold;" :title="'@'+statusoid.user.screen_name" v-html="retweeterHtml"></a>
+          <a v-else :href="statusoid.user.statusnet_profile_url" style="font-weight: bold;" :title="'@'+statusoid.user.screen_name">{{retweeter}}</a>
           <i class='fa icon-retweet retweeted'></i>
           {{$t('timeline.repeated')}}
         </div>
@@ -30,7 +31,8 @@
           <div v-if="!noHeading" class="media-body container media-heading">
             <div class="media-heading-left">
               <div class="name-and-links">
-                <h4 class="user-name">{{status.user.name}}</h4>
+                <h4 class="user-name" v-if="status.user.name_html" v-html="status.user.name_html"></h4>
+                <h4 class="user-name" v-else>{{status.user.name}}</h4>
                 <span class="links">
                   <router-link :to="{ name: 'user-profile', params: { id: status.user.id } }">{{status.user.screen_name}}</router-link>
                   <span v-if="status.in_reply_to_screen_name" class="faint reply-info">
diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue
index 6478a65f..7e3e0afe 100644
--- a/src/components/user_card/user_card.vue
+++ b/src/components/user_card/user_card.vue
@@ -7,10 +7,16 @@
       <user-card-content :user="user" :switcher="false"></user-card-content>
     </div>
     <div class="name-and-screen-name" v-else>
-      <div :title="user.name" class="user-name">
+      <div :title="user.name" v-if="user.name_html" class="user-name">
+        <span v-html="user.name_html"></span>
+        <span class="follows-you" v-if="!userExpanded && showFollows && user.follows_you">
+          {{ $t('user_card.follows_you') }}
+        </span>
+      </div>
+      <div :title="user.name" v-else class="user-name">
         {{ user.name }}
         <span class="follows-you" v-if="!userExpanded && showFollows && user.follows_you">
-            {{ $t('user_card.follows_you') }}
+          {{ $t('user_card.follows_you') }}
         </span>
       </div>
       <a :href="user.statusnet_profile_url" target="blank"><div class="user-screen-name">@{{ user.screen_name }}</div></a>
diff --git a/src/components/user_card_content/user_card_content.vue b/src/components/user_card_content/user_card_content.vue
index 09e91271..96923786 100644
--- a/src/components/user_card_content/user_card_content.vue
+++ b/src/components/user_card_content/user_card_content.vue
@@ -13,7 +13,8 @@
             <StillImage class="avatar" :src="user.profile_image_url_original"/>
           </router-link>
           <div class="name-and-screen-name">
-            <div :title="user.name" class='user-name'>{{user.name}}</div>
+            <div :title="user.name" class='user-name' v-if="user.name_html" v-html="user.name_html"></div>
+            <div :title="user.name" class='user-name' v-else>{{user.name}}</div>
             <router-link class='user-screen-name':to="{ name: 'user-profile', params: { id: user.id } }">
               <span>@{{user.screen_name}}</span><span v-if="user.locked"><i class="icon icon-lock"></i></span>
               <span class="dailyAvg">{{dailyAvg}} {{ $t('user_card.per_day') }}</span>
@@ -88,7 +89,8 @@
           <span>{{user.followers_count}}</span>
         </div>
       </div>
-      <p v-if="!hideBio">{{user.description}}</p>
+      <p v-if="!hideBio && user.description_html" v-html="user.description_html"></p>
+      <p v-else-if="!hideBio">{{ user.description }}</p>
     </div>
   </div>
 </template>
-- 
cgit v1.2.3-70-g09d2


From 895ef525d2f0121d69f2267f72a4420009fb95ec Mon Sep 17 00:00:00 2001
From: Toromino <d.buchholz@toromino.de>
Date: Thu, 9 Aug 2018 16:47:08 +0000
Subject: Update status.vue

---
 src/components/status/status.vue | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src/components/status/status.vue')

diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 11865d0f..7fff9fd7 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -88,7 +88,7 @@
                 <i class="icon-reply" :class="{'icon-reply-active': replying}"></i>
               </a>
             </div>
-            <retweet-button v-if="status.visibility !== 'private' && status.visibility !== 'direct'" :loggedIn='loggedIn' :status='status'></retweet-button>
+            <retweet-button :visibility='status.visibility' :loggedIn='loggedIn' :status='status'></retweet-button>
             <favorite-button :loggedIn='loggedIn' :status='status'></favorite-button>
             <delete-button :status='status'></delete-button>
           </div>
-- 
cgit v1.2.3-70-g09d2

