reply.blade.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. @extends('layouts.app')
  2. @section('content')
  3. <div class="container reply-container">
  4. <div class="col-12 col-md-8 offset-md-2 mt-4">
  5. <div class="card shadow-none border">
  6. @if($status->parent()->parent())
  7. <div class="card-body p-0 m-0 bg-light border-bottom">
  8. <div class="d-flex p-0 m-0 align-items-center">
  9. @if($status->parent()->parent()->media()->count())
  10. <img src="{{$status->parent()->parent()->thumb()}}" width="150px" height="150px" class="post-thumbnail">
  11. @endif
  12. <div class="p-4 w-100">
  13. <div class="">
  14. <div class="media">
  15. <img src="{{$status->parent()->parent()->profile->avatarUrl()}}" class="rounded-circle img-thumbnail mb-1 mr-3" width="30px">
  16. <div class="media-body">
  17. <span class="font-weight-bold" v-pre>{{$status->parent()->parent()->profile->username}}</span>
  18. <div class="">
  19. <p class="w-100 text-break" v-pre>{!!$status->parent()->parent()->rendered!!}</p>
  20. </div>
  21. <div class="mb-0 small">
  22. <a href="{{$status->parent()->parent()->url()}}" class="text-muted">
  23. {{$status->parent()->parent()->created_at->diffForHumans()}}
  24. </a>
  25. </div>
  26. </div>
  27. <a class="float-right" href="{{$status->parent()->parent()->url()}}"><i class="far fa-share-square"></i></a>
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. </div>
  33. @endif
  34. <div class="card-body p-0 m-0 bg-light border-bottom">
  35. <div class="d-flex p-0 m-0 align-items-center">
  36. @if($status->parent()->media()->count())
  37. <img src="{{$status->parent()->thumb()}}" width="150px" height="150px" class="post-thumbnail">
  38. @endif
  39. <div class="p-4 w-100">
  40. <div class="">
  41. <div class="media">
  42. <img src="{{$status->parent()->profile->avatarUrl()}}" class="rounded-circle img-thumbnail mb-1 mr-3" width="30px">
  43. <div class="media-body">
  44. <span class="font-weight-bold" v-pre>{{$status->parent()->profile->username}}</span>
  45. <div class="">
  46. <p class="w-100 text-break" v-pre>{!!$status->parent()->rendered!!}</p>
  47. </div>
  48. <div class="mb-0 small">
  49. <a href="{{$status->parent()->url()}}" class="text-muted">
  50. {{$status->parent()->created_at->diffForHumans()}}
  51. </a>
  52. </div>
  53. </div>
  54. <a class="float-right" href="{{$status->parent()->url()}}"><i class="far fa-share-square"></i></a>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. <div class="card-body border-bottom">
  61. @if($status->is_nsfw)
  62. <details class="cw">
  63. <summary class="px-3 px-md-5">
  64. <p class="py-5 mb-0 text-center">This comment may contain sensitive content. <span class="float-right font-weight-bold text-primary">Show</span></p>
  65. </summary>
  66. <div class="media py-5">
  67. <img class="mr-3 rounded-circle img-thumbnail" src="{{$status->profile->avatarUrl()}}" width="60px">
  68. <div class="media-body">
  69. <h5 class="mt-0 font-weight-bold" v-pre>{{$status->profile->username}}</h5>
  70. <p class="" v-pre>{!! $status->rendered !!}</p>
  71. <div class="mb-0 small">
  72. <a href="{{$status->url()}}" class="text-muted">
  73. {{$status->created_at->diffForHumans()}}
  74. </a>
  75. </div>
  76. </div>
  77. </div>
  78. </details>
  79. @else
  80. <div class="media py-5">
  81. <img class="mr-3 rounded-circle img-thumbnail" src="{{$status->profile->avatarUrl()}}" width="60px">
  82. <div class="media-body">
  83. <h5 class="mt-0 font-weight-bold" v-pre>{{$status->profile->username}}</h5>
  84. <p class="" v-pre>{!! $status->rendered !!}</p>
  85. <div class="mb-0 small">
  86. <a href="{{$status->url()}}" class="text-muted">
  87. {{$status->created_at->diffForHumans()}}
  88. </a>
  89. @if(Auth::check() && $status->profile_id == Auth::user()->profile->id)
  90. <form class="float-right" method="POST" action="/i/delete">
  91. @csrf
  92. <input type="hidden" name="item" value="{{$status->id}}">
  93. <input type="hidden" name="type" value="status">
  94. <button class="btn btn-outline-danger small font-weight-bold btn-sm py-1">Delete</button>
  95. </form>
  96. @endif
  97. </div>
  98. </div>
  99. </div>
  100. @endif
  101. </div>
  102. @if($status->comments->count())
  103. <div class="card-body p-0 m-0 bg-light border-bottom">
  104. <div class="d-flex p-0 m-0 align-items-center">
  105. @if($status->comments()->first()->media()->count())
  106. <img src="{{$status->comments()->first()->thumb()}}" width="150px" height="150px" class="post-thumbnail">
  107. @endif
  108. <div class="p-4 w-100">
  109. <div class="">
  110. <div class="media">
  111. <img src="{{$status->comments()->first()->profile->avatarUrl()}}" class="rounded-circle img-thumbnail mb-1 mr-3" width="30px">
  112. <div class="media-body">
  113. <span class="font-weight-bold" v-pre>{{$status->comments()->first()->profile->username}}</span>
  114. <div class="">
  115. <p class="w-100 text-break" v-pre>{!!$status->comments()->first()->rendered!!}</p>
  116. </div>
  117. <div class="mb-0 small">
  118. <a href="{{$status->comments()->first()->url()}}" class="text-muted">
  119. {{$status->comments()->first()->created_at->diffForHumans()}}
  120. </a>
  121. </div>
  122. </div>
  123. <a class="float-right" href="{{$status->comments()->first()->url()}}"><i class="far fa-share-square"></i></a>
  124. </div>
  125. </div>
  126. </div>
  127. </div>
  128. </div>
  129. @endif
  130. </div>
  131. </div>
  132. </div>
  133. @endsection
  134. @push('styles')
  135. <style type="text/css">
  136. @keyframes fadeInDown {
  137. 0% {
  138. opacity: 0;
  139. transform: translateY(-1.25em);
  140. }
  141. 100% {
  142. opacity: 1;
  143. transform: translateY(0);
  144. }
  145. }
  146. .cw[open] {
  147. animation-name: fadeInDown;
  148. animation-duration: 0.5s;
  149. }
  150. .cw>summary {
  151. display: flex;
  152. flex-flow: column;
  153. justify-content: center;
  154. border: 0;
  155. background-color: #fff;
  156. padding-top: 50px;
  157. padding-bottom: 50px;
  158. text-align: center;
  159. }
  160. .cw[open] > summary {
  161. display: none!important;
  162. }
  163. </style>
  164. @endpush
  165. @push('scripts')
  166. <script type="text/javascript">
  167. $(document).ready(function() {
  168. $('.reactions').hide();
  169. $('.more-comments').hide();
  170. $('.card-footer').hide();
  171. new Vue({
  172. el: '#content'
  173. });
  174. });
  175. </script>
  176. @endpush