浏览代码

Update PostComponent, mark caption sensitive if post is and use util.emoji

Daniel Supernault 5 年之前
父节点
当前提交
35d51215a6
共有 1 个文件被更改,包括 18 次插入18 次删除
  1. 18 18
      resources/assets/js/components/PostComponent.vue

+ 18 - 18
resources/assets/js/components/PostComponent.vue

@@ -117,10 +117,21 @@
             <div class="d-flex flex-md-column flex-column-reverse h-100" style="overflow-y: auto;">
             <div class="d-flex flex-md-column flex-column-reverse h-100" style="overflow-y: auto;">
               <div class="card-body status-comments pb-5">
               <div class="card-body status-comments pb-5">
                 <div class="status-comment">
                 <div class="status-comment">
-                  <p :class="[status.content.length > 620 ? 'mb-1 read-more' : 'mb-1']" style="overflow: hidden;">
-                    <a class="font-weight-bold pr-1 text-dark text-decoration-none" :href="statusProfileUrl">{{statusUsername}}</a>
-                    <span class="comment-text" :id="status.id + '-status-readmore'" v-html="status.content"></span>
-                  </p>
+                  <div v-if="showCaption != true">
+                    <span class="py-3">
+                      <a class="text-dark font-weight-bold mr-1" :href="status.account.url" v-bind:title="status.account.username">{{truncate(status.account.username,15)}}</a>
+                      <span class="text-break">
+                        <span class="font-italic text-muted">This comment may contain sensitive material</span>
+                        <span class="text-primary cursor-pointer pl-1" @click="showCaption = true">Show</span>
+                      </span>
+                    </span>
+                  </div>
+                  <div v-else>
+                    <p :class="[status.content.length > 620 ? 'mb-1 read-more' : 'mb-1']" style="overflow: hidden;">
+                      <a class="font-weight-bold pr-1 text-dark text-decoration-none" :href="statusProfileUrl">{{statusUsername}}</a>
+                      <span class="comment-text" :id="status.id + '-status-readmore'" v-html="status.content"></span>
+                    </p>
+                  </div>
 
 
                   <div v-if="showComments">
                   <div v-if="showComments">
                     <hr>
                     <hr>
@@ -214,19 +225,6 @@
             </div>
             </div>
             <div v-if="showComments && user.length !== 0" class="card-footer bg-white px-2 py-0">
             <div v-if="showComments && user.length !== 0" class="card-footer bg-white px-2 py-0">
               <ul class="nav align-items-center emoji-reactions" style="overflow-x: scroll;flex-wrap: unset;">
               <ul class="nav align-items-center emoji-reactions" style="overflow-x: scroll;flex-wrap: unset;">
-                <li class="nav-item" v-on:click="emojiReaction">😂</li>
-                <li class="nav-item" v-on:click="emojiReaction">💯</li>
-                <li class="nav-item" v-on:click="emojiReaction">❤️</li>
-                <li class="nav-item" v-on:click="emojiReaction">🙌</li>
-                <li class="nav-item" v-on:click="emojiReaction">👏</li>
-                <li class="nav-item" v-on:click="emojiReaction">👌</li>
-                <li class="nav-item" v-on:click="emojiReaction">😍</li>
-                <li class="nav-item" v-on:click="emojiReaction">😯</li>
-                <li class="nav-item" v-on:click="emojiReaction">😢</li>
-                <li class="nav-item" v-on:click="emojiReaction">😅</li>
-                <li class="nav-item" v-on:click="emojiReaction">😁</li>
-                <li class="nav-item" v-on:click="emojiReaction">🙂</li>
-                <li class="nav-item" v-on:click="emojiReaction">😎</li>
                 <li class="nav-item" v-on:click="emojiReaction" v-for="e in emoji">{{e}}</li>
                 <li class="nav-item" v-on:click="emojiReaction" v-for="e in emoji">{{e}}</li>
               </ul>
               </ul>
             </div>
             </div>
@@ -595,8 +593,9 @@ export default {
             loading: null,
             loading: null,
             replyingToId: this.statusId,
             replyingToId: this.statusId,
             replyToIndex: 0,
             replyToIndex: 0,
-            emoji: ['😀','🤣','😃','😄','😆','😉','😊','😋','😘','😗','😙','😚','🤗','🤩','🤔','🤨','😐','😑','😶','🙄','😏','😣','😥','😮','🤐','😪','😫','😴','😌','😛','😜','😝','🤤','😒','😓','😔','😕','🙃','🤑','😲','🙁','😖','😞','😟','😤','😭','😦','😧','😨','😩','🤯','😬','😰','😱','😳','🤪','😵','😡','😠','🤬','😷','🤒','🤕','🤢','🤮','🤧','😇','🤠','🤡','🤥','🤫','🤭','🧐','🤓','😈','👿','👹','👺','💀','👻','👽','🤖','💩','😺','😸','😹','😻','😼','😽','🙀','😿','😾','🤲','👐','🤝','👍','👎','👊','✊','🤛','🤜','🤞','✌️','🤟','🤘','👈','👉','👆','👇','☝️','✋','🤚','🖐','🖖','👋','🤙','💪','🖕','✍️','🙏','💍','💄','💋','👄','👅','👂','👃','👣','👁','👀','🧠','🗣','👤','👥'],
+            emoji: window.App.util.emoji,
             showReadMore: true,
             showReadMore: true,
+            showCaption: true,
           }
           }
     },
     },
 
 
@@ -663,6 +662,7 @@ export default {
                 self.likesPage = 2;
                 self.likesPage = 2;
                 self.sharesPage = 2;
                 self.sharesPage = 2;
                 this.showMuteBlock();
                 this.showMuteBlock();
+                self.showCaption = !response.data.status.sensitive;
                 if(self.status.comments_disabled == false) {
                 if(self.status.comments_disabled == false) {
                   self.showComments = true;
                   self.showComments = true;
                   this.fetchComments();
                   this.fetchComments();