index.blade.php 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. @extends('seller.layouts.app')
  2. @section('panel_content')
  3. <div class="aiz-titlebar text-left mt-2 mb-3">
  4. <div class="row align-items-center">
  5. <div class="col-md-6">
  6. <h1 class="h3">{{translate('All uploaded files')}}</h1>
  7. </div>
  8. <div class="col-md-6 text-md-right">
  9. <a href="{{ route('seller.uploads.create') }}" class="btn btn-primary">
  10. <span>{{translate('Upload New File')}}</span>
  11. </a>
  12. </div>
  13. </div>
  14. </div>
  15. <div class="card">
  16. <form id="sort_uploads" action="">
  17. <div class="card-header row gutters-5">
  18. <div class="col-md-3">
  19. <h5 class="mb-0 h6">{{translate('All files')}}</h5>
  20. </div>
  21. <div class="col-md-3 ml-auto mr-0">
  22. <select class="form-control form-control-xs aiz-selectpicker" name="sort" onchange="sort_uploads()">
  23. <option value="newest" @if($sort_by == 'newest') selected="" @endif>{{ translate('Sort by newest') }}</option>
  24. <option value="oldest" @if($sort_by == 'oldest') selected="" @endif>{{ translate('Sort by oldest') }}</option>
  25. <option value="smallest" @if($sort_by == 'smallest') selected="" @endif>{{ translate('Sort by smallest') }}</option>
  26. <option value="largest" @if($sort_by == 'largest') selected="" @endif>{{ translate('Sort by largest') }}</option>
  27. </select>
  28. </div>
  29. <div class="col-md-3">
  30. <input type="text" class="form-control form-control-xs" name="search" placeholder="{{ translate('Search your files') }}" value="{{ $search }}">
  31. </div>
  32. <div class="col-auto">
  33. <button type="submit" class="btn btn-primary">{{ translate('Search') }}</button>
  34. </div>
  35. </div>
  36. </form>
  37. <div class="card-body">
  38. <div class="row gutters-5">
  39. @foreach($all_uploads as $key => $file)
  40. @php
  41. if($file->file_original_name == null){
  42. $file_name = translate('Unknown');
  43. }else{
  44. $file_name = $file->file_original_name;
  45. }
  46. @endphp
  47. <div class="col-auto w-140px w-lg-220px">
  48. <div class="aiz-file-box">
  49. <div class="dropdown-file" >
  50. <a class="dropdown-link" data-toggle="dropdown">
  51. <i class="la la-ellipsis-v"></i>
  52. </a>
  53. <div class="dropdown-menu dropdown-menu-right">
  54. <a href="javascript:void(0)" class="dropdown-item" onclick="detailsInfo(this)" data-id="{{ $file->id }}">
  55. <i class="las la-info-circle mr-2"></i>
  56. <span>{{ translate('Details Info') }}</span>
  57. </a>
  58. <a href="{{ my_asset($file->file_name) }}" target="_blank" download="{{ $file_name }}.{{ $file->extension }}" class="dropdown-item">
  59. <i class="la la-download mr-2"></i>
  60. <span>{{ translate('Download') }}</span>
  61. </a>
  62. <a href="javascript:void(0)" class="dropdown-item" onclick="copyUrl(this)" data-url="{{ my_asset($file->file_name) }}">
  63. <i class="las la-clipboard mr-2"></i>
  64. <span>{{ translate('Copy Link') }}</span>
  65. </a>
  66. <a href="javascript:void(0)" class="dropdown-item confirm-alert" data-href="{{ route('seller.my_uploads.destroy', $file->id ) }}" data-target="#delete-modal">
  67. <i class="las la-trash mr-2"></i>
  68. <span>{{ translate('Delete') }}</span>
  69. </a>
  70. </div>
  71. </div>
  72. <div class="card card-file aiz-uploader-select c-default" title="{{ $file_name }}.{{ $file->extension }}">
  73. <div class="card-file-thumb">
  74. @if($file->type == 'image')
  75. <img src="{{ my_asset($file->file_name) }}" class="img-fit">
  76. @elseif($file->type == 'video')
  77. <i class="las la-file-video"></i>
  78. @else
  79. <i class="las la-file"></i>
  80. @endif
  81. </div>
  82. <div class="card-body">
  83. <h6 class="d-flex">
  84. <span class="text-truncate title">{{ $file_name }}</span>
  85. <span class="ext">.{{ $file->extension }}</span>
  86. </h6>
  87. <p>{{ formatBytes($file->file_size) }}</p>
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. @endforeach
  93. </div>
  94. <div class="aiz-pagination mt-3">
  95. {{ $all_uploads->appends(request()->input())->links() }}
  96. </div>
  97. </div>
  98. </div>
  99. @endsection
  100. @section('modal')
  101. <div id="delete-modal" class="modal fade">
  102. <div class="modal-dialog modal-sm modal-dialog-centered">
  103. <div class="modal-content">
  104. <div class="modal-header">
  105. <h4 class="modal-title h6">{{ translate('Delete Confirmation') }}</h4>
  106. <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
  107. </div>
  108. <div class="modal-body text-center">
  109. <p class="mt-1">{{ translate('Are you sure to delete this file?') }}</p>
  110. <button type="button" class="btn btn-link mt-2" data-dismiss="modal">{{ translate('Cancel') }}</button>
  111. <a href="" class="btn btn-primary mt-2 comfirm-link">{{ translate('Delete') }}</a>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. <div id="info-modal" class="modal fade">
  117. <div class="modal-dialog modal-dialog-right">
  118. <div class="modal-content">
  119. <div class="modal-header">
  120. <h5 class="modal-title h6">{{ translate('File Info') }}</h5>
  121. <button type="button" class="close" data-dismiss="modal">
  122. </button>
  123. </div>
  124. <div class="modal-body c-scrollbar-light position-relative" id="info-modal-content">
  125. <div class="c-preloader text-center absolute-center">
  126. <i class="las la-spinner la-spin la-3x opacity-70"></i>
  127. </div>
  128. </div>
  129. </div>
  130. </div>
  131. </div>
  132. @endsection
  133. @section('script')
  134. <script type="text/javascript">
  135. function detailsInfo(e){
  136. $('#info-modal-content').html('<div class="c-preloader text-center absolute-center"><i class="las la-spinner la-spin la-3x opacity-70"></i></div>');
  137. var id = $(e).data('id')
  138. $('#info-modal').modal('show');
  139. $.post('{{ route('seller.my_uploads.info') }}', {_token: AIZ.data.csrf, id:id}, function(data){
  140. $('#info-modal-content').html(data);
  141. // console.log(data);
  142. });
  143. }
  144. function copyUrl(e) {
  145. var url = $(e).data('url');
  146. var $temp = $("<input>");
  147. $("body").append($temp);
  148. $temp.val(url).select();
  149. try {
  150. document.execCommand("copy");
  151. AIZ.plugins.notify('success', '{{ translate('Link copied to clipboard') }}');
  152. } catch (err) {
  153. AIZ.plugins.notify('danger', '{{ translate('Oops, unable to copy') }}');
  154. }
  155. $temp.remove();
  156. }
  157. function sort_uploads(el){
  158. $('#sort_uploads').submit();
  159. }
  160. </script>
  161. @endsection