info_page.blade.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. @extends('layouts.app')
  2. @section('navbar')
  3. @stop
  4. @section('styles')
  5. @parent
  6. <link href="{{ asset('css/item_info_page.css') }}" rel="stylesheet">
  7. <link href="{{ asset('css/item_small_view.css') }}" rel="stylesheet">
  8. <link href="{{ asset('css/animated_modal_4.css') }}" rel="stylesheet">
  9. @endsection
  10. @section('content')
  11. {{--<link href="{{ asset('css/bootstrap.4.min.css') }}" rel="stylesheet">--}}
  12. {{--<script src="{{ asset('js/bootstrap.4.min.js') }}"></script>--}}
  13. <div id="item-info" class="wrapper">
  14. <div id="info-content" class="container card">
  15. <div class="info-header" id="{{ $item->id }}">
  16. <div class="info-caption">
  17. <h2>{{ $item->caption }}</h2>
  18. </div>
  19. <div class="info-date d-flex">
  20. <span class="date">
  21. @if ($item->created_at)
  22. <i class="fa fa-clock-o"></i>
  23. {{ date_format($item->created_at,'Y-m-d') }}
  24. @else
  25. <i class="fa fa-clock-o"></i> нет данных
  26. @endif
  27. </span>
  28. <span class="category">
  29. <a href="/category/{{ $item->category_id }}">{{ $item->category->title }}</a>
  30. </span>
  31. </div>
  32. </div>
  33. <div class="info-body">
  34. <div id="info-carousel" class="carousel slide" data-ride="carousel">
  35. <ul class="carousel-indicators">
  36. <li data-target="#info-carousel" data-slide-to="0" class="active"></li>
  37. <li data-target="#info-carousel" data-slide-to="1"></li>
  38. <li data-target="#info-carousel" data-slide-to="2"></li>
  39. </ul>
  40. <div class="carousel-inner d-flex">
  41. <div class="carousel-item active">
  42. @if (isset($item->picture[0]))
  43. <img src="/image/{{ $item->picture[0]->path }}" onclick="">
  44. @else
  45. <img src="/image/items/default" onclick="">
  46. @endif
  47. </div>
  48. @foreach($item->picture as $key => $picture)
  49. @continue($key===0)
  50. <div class="carousel-item">
  51. <img src="/image/{{ $picture->path ?: "/items/default" }}" onclick="">
  52. </div>
  53. @endforeach
  54. </div>
  55. <!-- Left and right controls -->
  56. <a class="left carousel-control" href="#info-carousel" data-slide="prev">
  57. <span class="glyphicon glyphicon-chevron-left"></span>
  58. <span class="sr-only">Previous</span>
  59. </a>
  60. <a class="right carousel-control" href="#info-carousel" data-slide="next">
  61. <span class="glyphicon glyphicon-chevron-right"></span>
  62. <span class="sr-only">Next</span>
  63. </a>
  64. </div>
  65. </div>
  66. <div class="info-footer">
  67. <h3>Описание</h3>
  68. <div class="info-description pt-2">{{ $item->description }}</div>
  69. </div>
  70. </div>
  71. <div id="info-comments" class="container card">
  72. <div class="card-header"><h3>Комментарии</h3></div>
  73. <div class="card-body">
  74. {{--@if ($messages)--}}
  75. {{--@endif--}}
  76. @if (\Illuminate\Support\Facades\Auth::id())
  77. <div id="leave-message" class="d-inline-block col-md-12">
  78. <form method="POST" href="#">
  79. {{ csrf_field() }}
  80. <input hidden name="item_id" value="{{ $item->id }}">
  81. <input hidden name="user_id" value="{{ \Illuminate\Support\Facades\Auth::id() }}">
  82. <textarea id="comment" name="comment"
  83. placeholder="Оставить свой комментарий..."
  84. rows="4" tabindex="4"></textarea>
  85. <input class="btn btn-outline-primary col-md-offset-9 col-md-3"
  86. {{--type="submit" --}}tabindex="5"
  87. value="коммент">
  88. </form>
  89. </div>
  90. @endif
  91. </div>
  92. </div>
  93. <div id="exchenger" style="margin-top:15px">
  94. @auth
  95. @if ($item->user_id === \Illuminate\Support\Facades\Auth::id())
  96. <a href="#" class="btn btn-secondary btn-lg btn-block" role="button">Редактировать</a>
  97. @else
  98. <button type="button" class="btn btn-primary btn-lg btn-block" onclick="userItemsList()"
  99. data-toggle="modal" data-target="#itemListModal">
  100. Предложить обмен
  101. </button>
  102. @endif
  103. @else
  104. <a href="{{ route('login') }}" class="btn btn-secondary btn-lg btn-block" role="button">Предложить
  105. обмен</a>
  106. @endauth
  107. </div>
  108. </div>
  109. <div class="modal fade" id="itemListModal" tabindex="-1" role="dialog" aria-labelledby="itemListModalLabel"
  110. aria-hidden="true">
  111. <div class="modal-dialog modal-dialog-slideout modal-lg" role="document">
  112. <div class="modal-content">
  113. <div class="modal-header">
  114. <h5 class="modal-title" id="itemListModalLabel">Выберите предмет для обмена</h5>
  115. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  116. <span aria-hidden="true">×</span>
  117. </button>
  118. </div>
  119. <div class="modal-body">
  120. <h4> У Вас нет предметов на обмен </h4>
  121. <br>
  122. <a href="{{ route('user.item.create') }}" class="btn btn-outline-primary btn-lg" role="button">Добавить
  123. предмет</a>
  124. </div>
  125. <div class="modal-footer">
  126. <form id="itemsExchangeForm" method="POST" role="form" hidden
  127. action="{{ route('item.exchange.store',['item'=>$item->id]) }}">
  128. {{ csrf_field() }}
  129. <input id="itemId" name="item_id" value="{{ $item->id }}" hidden>
  130. <input id="itemOfferId" name="item_offer_id" value="" hidden>
  131. <button type="submit" hidden>Предложить</button>
  132. </form>
  133. {{--<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>--}}
  134. {{--<button type="button" class="btn btn-primary">Save changes</button>--}}
  135. </div>
  136. </div>
  137. </div>
  138. </div>
  139. {{--{{ dump(session('status')) }}--}}
  140. @if (session('status.text'))
  141. <button data-toggle="modal" data-target="#alert">SHOW</button>
  142. <div id="alert" class="modal animate" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"
  143. data-backdrop="true">
  144. <div class="modal-dialog a-fadeUp" role="document">
  145. <div class="modal-content">
  146. <div class="modal-header alert-{{ session('status.class') }}">
  147. <h5 style="margin-bottom: 0">Статус отправки</h5>
  148. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  149. <span aria-hidden="true">×</span>
  150. </button>
  151. </div>
  152. <div class="modal-body text-center p-lg">
  153. <div class="alert alert-{{ session('status.class') }}" style="font-size: 1.2em">
  154. {{ session('status.text') }}
  155. </div>
  156. </div>
  157. </div>
  158. </div>
  159. </div>
  160. @endif
  161. @stop
  162. @section('scripts')
  163. @parent
  164. <script>
  165. function userItemsList($element) {
  166. $.ajax({
  167. headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
  168. url: '{{ route("user.items.ajax") }}',
  169. type: 'POST',
  170. data: ( '{ "user": ' + {{\Illuminate\Support\Facades\Auth::id()}} +' }' ),
  171. contentType: 'json',
  172. processData: false,
  173. success: function (response) {
  174. if (response.length !== 0) {
  175. $("#itemListModal .modal-body").html(response);
  176. }
  177. $('a[href="#sendOffer"]').bind("click", function () {
  178. let $id = $(this).data('item-id');
  179. if ($id) {
  180. $('form input#itemOfferId').val($id);
  181. $('#itemsExchangeForm button').click();
  182. }
  183. console.log($id);
  184. });
  185. }
  186. });
  187. }
  188. $(function () {
  189. // $('#alert[role=dialog]')
  190. // .find('[role=document]')
  191. // .removeClass()
  192. // .addClass('modal-dialog a-fadeUp')
  193. // .on('show.bs.modal', function (e) {
  194. // $(this)
  195. // .find('[role=document]')
  196. // .removeClass()
  197. // .addClass('modal-dialog a-fadeUp');
  198. // });
  199. if ($('button[data-target="alert"]')) {
  200. $('button[data-target="#alert"]').click();
  201. setTimeout(() => {
  202. // $('button[data-target="alert"]').remove()
  203. }, 3000);
  204. }
  205. });
  206. </script>
  207. @endsection