فهرست منبع

Update admin reports views

Daniel Supernault 4 سال پیش
والد
کامیت
52a120c0db
2فایلهای تغییر یافته به همراه182 افزوده شده و 256 حذف شده
  1. 83 101
      resources/views/admin/reports/home.blade.php
  2. 99 155
      resources/views/admin/reports/show.blade.php

+ 83 - 101
resources/views/admin/reports/home.blade.php

@@ -1,108 +1,90 @@
 @extends('admin.partial.template-full')
 
 @section('section')
-<div class="title mb-3">
-  <h3 class="font-weight-bold d-inline-block">Reports</h3>
-  <span class="float-right">
-    <a class="btn btn-{{request()->input('filter')=='all'||request()->input('filter')==null?'primary':'light'}} btn-sm font-weight-bold" href="{{route('admin.reports')}}">
-      ALL
-    </a>
-    <a class="btn btn-{{request()->input('filter')=='open'?'primary':'light'}} btn-sm font-weight-bold" href="{{route('admin.reports',['filter'=>'open', 'page' => request()->input('page') ?? 1])}}">
-      OPEN
-    </a>
-    <a class="btn btn-{{request()->input('filter')=='closed'?'primary':'light'}} btn-sm mr-3 font-weight-bold" href="{{route('admin.reports',['filter'=>'closed', 'page' => request()->input('page') ?? 1])}}">
-      CLOSED
-    </a>
-  </span>
-</div>
-@php($ai = App\AccountInterstitial::whereNotNull('appeal_requested_at')->whereNull('appeal_handled_at')->count())
-@php($spam = App\AccountInterstitial::whereType('post.autospam')->whereNull('appeal_handled_at')->count())
-@if($ai || $spam)
-<div class="mb-4">
-  <a class="btn btn-outline-primary px-5 py-3 mr-3" href="/i/admin/reports/appeals">
-    <p class="font-weight-bold h4 mb-0">{{$ai}}</p>
-    Appeal {{$ai == 1 ? 'Request' : 'Requests'}}
-  </a>
-  <a class="btn btn-outline-primary px-5 py-3" href="/i/admin/reports/autospam">
-    <p class="font-weight-bold h4 mb-0">{{$spam}}</p>
-    Flagged {{$ai == 1 ? 'Post' : 'Posts'}}
-  </a>
-</div>
-@endif
-  @if($reports->count())
-  <div class="card shadow-none border">
-    <div class="list-group list-group-flush">
-      @foreach($reports as $report)
-      <div class="list-group-item {{$report->admin_seen ? 'bg-light' : 'bg-white'}}">
-        <div class="p-4">
-          <div class="media d-flex align-items-center">
-            <div class="mr-3 border rounded d-flex justify-content-center align-items-center media-avatar">
-              <span class="text-lighter lead"><i class="fas fa-camera"></i></span>
-            </div>
-            <div class="media-body">
-              <p class="mb-1 small"><span class="font-weight-bold text-uppercase">{{$report->type}}</span></p>
-              @if($report->reporter && $report->status)
-              <p class="mb-0 lead"><a class="font-weight-bold text-dark" href="{{$report->reporter->url()}}">{{$report->reporter->username}}</a> reported this <a href="{{$report->status->url()}}" class="font-weight-bold text-dark">post</a></p>
-              @else
-              <p class="mb-0 lead">
-                @if(!$report->reporter)
-                <span class="font-weight-bold text-dark">Deleted user</span>
-                @else
-                <a class="font-weight-bold text-dark" href="{{$report->reporter->url()}}">{{$report->reporter->username}}</a> 
-                @endif
-                 reported this 
-                 @if(!$report->status)
-                 <span class="font-weight-bold text-muted">deleted post</span>
-                 @else
-                 <a href="{{$report->status->url()}}" class="font-weight-bold text-dark">post</a> 
-                 @endif
+	<div class="title mb-3 d-flex justify-content-between align-items-center">
+		<h3 class="font-weight-bold d-inline-block">Reports</h3>
+		<div class="float-right">
+			@if(request()->has('filter') && request()->filter == 'closed')
+			<a class="mr-3 font-weight-light small text-muted" href="{{route('admin.reports')}}">
+				View Open Reports
+			</a>
+			@else
+			<a class="mr-3 font-weight-light small text-muted" href="{{route('admin.reports',['filter'=>'closed'])}}">
+				View Closed Reports
+			</a>
+			@endif
+		</div>
+	</div>
+	@php($ai = App\AccountInterstitial::whereNotNull('appeal_requested_at')->whereNull('appeal_handled_at')->count())
+	@php($spam = App\AccountInterstitial::whereType('post.autospam')->whereNull('appeal_handled_at')->count())
+	@if($ai || $spam)
+	<div class="mb-4">
+		<a class="btn btn-outline-primary px-5 py-3 mr-3" href="/i/admin/reports/appeals">
+			<p class="font-weight-bold h4 mb-0">{{$ai}}</p>
+			Appeal {{$ai == 1 ? 'Request' : 'Requests'}}
+		</a>
+		<a class="btn btn-outline-primary px-5 py-3" href="/i/admin/reports/autospam">
+			<p class="font-weight-bold h4 mb-0">{{$spam}}</p>
+			Flagged {{$ai == 1 ? 'Post' : 'Posts'}}
+		</a>
+	</div>
+	@endif
+	@if($reports->count())
+	<div class="col-12 col-md-8 offset-md-2">
+		<div class="card shadow-none border">
+			<div class="list-group list-group-flush">
+				@foreach($reports as $report)
+				<div class="list-group-item p-1 {{$report->admin_seen ? 'bg-light' : 'bg-white'}}">
+					<div class="p-0">
+						<div class="media d-flex align-items-center">
+							<a class="text-decoration-none" href="{{$report->url()}}">
+								<img src="{{$report->status->media->count() ? $report->status->thumb(true) : '/storage/no-preview.png'}}" width="64" height="64" class="rounded border shadow mr-3" style="object-fit: cover">
+							</a>
+							<div class="media-body">
+								<p class="mb-1 small"><span class="font-weight-bold text-uppercase text-danger">{{$report->type}}</span></p>
+								@if($report->reporter && $report->status)
+								<p class="mb-0"><a class="font-weight-bold text-dark" href="{{$report->reporter->url()}}">{{$report->reporter->username}}</a> reported this <a href="{{$report->status->url()}}" class="font-weight-bold text-dark">post</a></p>
+								@else
+								<p class="mb-0 lead">
+									@if(!$report->reporter)
+									<span class="font-weight-bold text-dark">Deleted user</span>
+									@else
+									<a class="font-weight-bold text-dark" href="{{$report->reporter->url()}}">{{$report->reporter->username}}</a> 
+									@endif
+									reported this 
+									@if(!$report->status)
+									<span class="font-weight-bold text-muted">deleted post</span>
+									@else
+									<a href="{{$report->status->url()}}" class="font-weight-bold text-dark">post</a> 
+									@endif
 
-               </p>
+								</p>
 
-              @endif
-            </div>
-            <div class="float-right">
-              {{-- @if($report->admin_seen == null)
-              <a class="btn btn-outline-primary btn-sm font-weight-bold py-1 px-2 mr-2" href="{{$report->url()}}/action"><i class="fas fa-check"></i></a>
-              @endif
-              <a class="btn btn-outline-primary btn-sm font-weight-bold py-1 px-2 mr-2" href="{{$report->url()}}/action"><i class="fas fa-cog"></i></a> --}}
-              @if($report->status)
-              <a class="btn btn-primary btn-sm font-weight-bold py-1 px-3" href="{{$report->url()}}">VIEW</a>
-              @endif
-            </div>
-          </div>
-        </div>
-      </div>
-      @endforeach
-    </div>
-  </div>
-  @else
-  <div class="card shadow-none border">
-    <div class="card-body">
-      <p class="mb-0 p-5 text-center font-weight-bold lead">No reports found</p>
-    </div>
-  </div>
-  @endif
+								@endif
+							</div>
+							<div class="float-right">
+								@if($report->status)
+								<a class="text-lighter p-2 text-decoration-none" href="{{$report->url()}}">
+									View <i class="fas fa-chevron-right ml-2"></i>
+								</a>
+								@endif
+							</div>
+						</div>
+					</div>
+				</div>
+				@endforeach
+			</div>
+		</div>
+	</div>
+	@else
+	<div class="card shadow-none border">
+		<div class="card-body">
+			<p class="mb-0 p-5 text-center font-weight-bold lead">No reports found</p>
+		</div>
+	</div>
+	@endif
 
-  <div class="d-flex justify-content-center mt-5 small">
-    {{$reports->appends(['layout'=>request()->layout, 'filter' => request()->filter])->links()}}
-  </div>
+	<div class="d-flex justify-content-center mt-5 small">
+		{{$reports->appends(['layout'=>request()->layout, 'filter' => request()->filter])->links()}}
+	</div>
 @endsection
-
-@push('styles')
-<style type="text/css">
-  .custom-control-label:after, .custom-control-label:before {
-    top: auto;
-    bottom: auto;
-  }
-  .media-avatar {
-    width:64px;
-    height:64px;
-    background:#e9ecef;
-  }
-</style>
-@endpush
-
-@push('scripts')
-
-@endpush

+ 99 - 155
resources/views/admin/reports/show.blade.php

@@ -1,167 +1,111 @@
 @extends('admin.partial.template-full')
 
 @section('section')
-  <div class="title">
-    <h3 class="font-weight-bold">Report #<span class="reportid" data-id="{{$report->id}}">{{$report->id}}</span> - <span class="badge badge-danger">{{ucfirst($report->type)}}</span></h3>
-  </div>
+	<div class="d-flex justify-content-between title mb-3">
+		<div>
+			<p class="font-weight-bold h3">
+				Report #{{$report->id}} - 
+				<span class="text-danger">{{ucfirst($report->type)}}</span>
+			</p>
+			<p class="text-muted mb-0 lead">
+				Reported <span class="font-weight-bold">{{$report->created_at->diffForHumans()}}</span> by <a href="{{$report->reporter->url()}}" class="text-muted font-weight-bold">&commat;{{$report->reporter->username}}</a>.
+			</p>
+		</div>
+	</div>
 
-  <div class="card">
-    <div class="card-body">
-      <h5 class="card-title">Reported: <a href="{{$report->reported()->url()}}">{{$report->reported()->url()}}</a></h5>
-      <h6 class="card-subtitle mb-2 text-muted">Reported by: <a href="{{$report->reporter->url()}}">{{$report->reporter->username}}</a></h6>
-      <p class="card-text text-muted">
-        <span class="font-weight-bold text-dark">Message: </span>
-        {{$report->message ?? 'No message provided.'}}
-      </p>
+	<div class="row">
+		<div class="col-12 col-md-8 mt-3">
+			<div class="card shadow-none border">
+				@if($report->status->media()->count())
+				<img class="card-img-top border-bottom" src="{{$report->status->thumb(true)}}">
+				@endif
+				<div class="card-body">
+					<div class="mt-2 p-3">
+						@if($report->status->caption)
+						<p class="text-break">
+							{{$report->status->media()->count() ? 'Caption' : 'Comment'}}: <span class="font-weight-bold">{{$report->status->caption}}</span>
+						</p>
+						@endif
+						<p class="mb-0">
+							Like Count: <span class="font-weight-bold">{{$report->status->likes_count}}</span>
+						</p>
+						<p class="mb-0">
+							Share Count: <span class="font-weight-bold">{{$report->status->reblogs_count}}</span>
+						</p>
+						<p class="mb-0">
+							Timestamp: <span class="font-weight-bold">{{now()->parse($report->status->created_at)->format('r')}}</span>
+						</p>
+						<p class="" style="word-break: break-all !important;">
+							URL: <span class="font-weight-bold text-primary"><a href="{{$report->status->url()}}">{{$report->status->url()}}</a></span>
+						</p>
+					</div>
+				</div>
+			</div>
+		</div>
+		<div class="col-12 col-md-4 mt-3">
+			<button type="button" class="btn btn-primary btn-block font-weight-bold mb-3 report-action-btn" data-action="cw">Apply Content Warning</button>
+			<button type="button" class="btn btn-primary btn-block font-weight-bold mb-3 report-action-btn" data-action="unlist">Unlist Post</button>
+			<button type="button" class="btn btn-light border btn-block font-weight-bold mb-3 report-action-btn" data-action="ignore">Ignore</button>
 
-      @if(!$report->admin_seen)
-      <a href="#" class="card-link report-action-btn font-weight-bold" data-action="ignore">Ignore</a>
-      {{-- <a href="#" class="card-link font-weight-bold">Request Mod Feedback</a> --}}
-      <a href="#" class="card-link report-action-btn font-weight-bold" data-action="cw">Add CW</a>
-      <a href="#" class="card-link report-action-btn font-weight-bold" data-action="unlist">Unlist/Hide</a>
-{{--       <a href="#" class="card-link report-action-btn font-weight-bold text-danger" data-action="delete">Delete</a>
-      <a href="#" class="card-link report-action-btn font-weight-bold text-danger" data-action="shadowban">Shadowban User</a>
-      <a href="#" class="card-link report-action-btn font-weight-bold text-danger" data-action="ban">Ban User</a> --}}
-      @else
-      <p class="font-weight-bold mb-0">Resolved {{$report->admin_seen->diffForHumans()}}</p>
-      @endif
-    </div>
-  </div>
+			<div class="card shadow-none border mt-5">
+				<div class="card-header text-center font-weight-bold bg-light">
+					&commat;{{$report->reportedUser->username}} stats
+				</div>
+				<div class="card-body">
+					<p>
+						Total Reports: <span class="font-weight-bold text-danger">{{App\Report::whereReportedProfileId($report->reportedUser->id)->count()}}</span>
+					</p>
+					<p>
+						Total Warnings: <span class="font-weight-bold text-danger">{{App\AccountInterstitial::whereUserId($report->reportedUser->user_id)->count()}}</span>
+					</p>
+					<p class="">
+						Status Count: <span class="font-weight-bold">{{$report->reportedUser->status_count}}</span>
+					</p>
+					<p class="">
+						Follower Count: <span class="font-weight-bold">{{$report->reportedUser->followers_count}}</span>
+					</p>
+					<p class="mb-0">
+						Joined: <span class="font-weight-bold">{{$report->reportedUser->created_at->diffForHumans(null, null, false)}}</span>
+					</p>
+				</div>
+			</div>
 
-  <div class="accordion mt-3" id="accordianBackground">
-    <div class="card">
-      <div class="card-header bg-white" id="headingOne">
-        <h5 class="mb-0">
-          <button class="btn btn-link font-weight-bold text-dark" type="button" data-toggle="collapse" data-target="#background" aria-expanded="true" aria-controls="background">
-            Background
-          </button>
-        </h5>
-      </div>
-      <div id="background" class="collapse show" aria-labelledby="headingOne">
-        <div class="card-body">
-          <div class="row">
-            <div class="col-12 col-md-6">
-              <div class="card">
-                <div class="card-header bg-white font-weight-bold">
-                  Reporter
-                </div>
-                <ul class="list-group list-group-flush">
-                  <li class="list-group-item">Joined <span class="font-weight-bold">{{$report->reporter->created_at->diffForHumans()}}</span></li>
-                  <li class="list-group-item">Total Reports: <span class="font-weight-bold">{{App\Report::whereProfileId($report->reporter->id)->count()}}</span></li>
-                  <li class="list-group-item">Total Reported: <span class="font-weight-bold">{{App\Report::whereReportedProfileId($report->reporter->id)->count()}}</span></li>
-                </ul>
-              </div>
-            </div>
-            <div class="col-12 col-md-6">
-              <div class="card">
-                <div class="card-header bg-white font-weight-bold">
-                  Reported
-                </div>
-                <ul class="list-group list-group-flush">
-                  <li class="list-group-item">Joined <span class="font-weight-bold">{{$report->reportedUser->created_at->diffForHumans()}}</span></li>
-                  <li class="list-group-item">Total Reports: <span class="font-weight-bold">{{App\Report::whereProfileId($report->reportedUser->id)->count()}}</span></li>
-                  <li class="list-group-item">Total Reported: <span class="font-weight-bold">{{App\Report::whereReportedProfileId($report->reportedUser->id)->count()}}</span></li>
-                </ul>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
-  </div>
+			<div class="card shadow-none border mt-5">
+				<div class="card-header text-center font-weight-bold bg-light">
+					&commat;{{$report->reporter->username}} stats
+				</div>
+				<div class="card-body">
+					<p class="">
+						Status Count: <span class="font-weight-bold">{{$report->reporter->status_count}}</span>
+					</p>
+					<p class="">
+						Follower Count: <span class="font-weight-bold">{{$report->reporter->followers_count}}</span>
+					</p>
+					<p class="mb-0">
+						Joined: <span class="font-weight-bold">{{$report->reporter->created_at->diffForHumans(null, null, false)}}</span>
+					</p>
+				</div>
+			</div>
 
-{{--   <div class="accordion mt-3" id="accordianLog">
-    <div class="card">
-      <div class="card-header bg-white" id="headingTwo">
-        <h5 class="mb-0">
-          <button class="btn btn-link font-weight-bold text-dark" type="button" data-toggle="collapse" data-target="#log" aria-expanded="true" aria-controls="log">
-            Activity Log
-          </button>
-        </h5>
-      </div>
-      <div id="log" class="collapse show" aria-labelledby="headingTwo">
-        <div class="card-body" style="max-height: 200px;overflow-y: scroll;">
-            <div class="my-3 border-left-primary">
-              <p class="pl-2"><a href="#">admin</a> ignored this report. <span class="float-right pl-2 small font-weight-bold">2m</span></p>
-            </div>
-            <div class="my-3 border-left-primary">
-              <p class="pl-2"><a href="#">admin</a> ignored this report. <span class="float-right pl-2 small font-weight-bold">2m</span></p>
-            </div>
-            <div class="my-3 border-left-primary">
-              <p class="pl-2"><a href="#">admin</a> ignored this report. <span class="float-right pl-2 small font-weight-bold">2m</span></p>
-            </div>
-        </div>
-      </div>
-    </div>
-  </div> --}}
-
-
-{{--   <div class="accordion mt-3" id="accordianComments">
-    <div class="card">
-      <div class="card-header bg-white" id="headingThree">
-        <h5 class="mb-0">
-          <button class="btn btn-link font-weight-bold text-dark" type="button" data-toggle="collapse" data-target="#comments" aria-expanded="true" aria-controls="comments">
-            Comments
-          </button>
-        </h5>
-      </div>
-      <div id="comments" class="collapse show" aria-labelledby="headingThree">
-        <div class="card-body"  style="max-height: 400px; overflow-y: scroll;">
-          <div class="report-comment-wrapper">
-            <div class="my-3 report-comment">
-              <div class="card bg-primary text-white">
-                <div class="card-body">
-                  <a href="#" class="text-white font-weight-bold">[username]</a>: {{str_limit('Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.', 150)}} <span class="float-right small p-2">2m</span>
-                </div>
-              </div>
-            </div>
-            <div class="my-3 report-comment">
-              <div class="card bg-light">
-                <div class="card-body">
-                  <a href="#" class="font-weight-bold">me</a>: {{str_limit('Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.', 150)}} <span class="float-right small p-2">2m</span>
-                </div>
-              </div>
-            </div>
-            <div class="my-3 report-comment">
-              <div class="card bg-light">
-                <div class="card-body">
-                  <a href="#" class="font-weight-bold">me</a>: {{str_limit('Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.', 150)}} <span class="float-right small p-2">2m</span>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div class="card-footer">
-          <form>
-             @csrf
-             <input type="hidden" name="report_id" value="{{$report->id}}">
-             <input type="text" class="form-control" name="comment" placeholder="Add a comment here" autocomplete="off">
-          </form>
-        </div>
-      </div>
-    </div>
-  </div> --}}
+		</div>
+	</div>
 @endsection
-  
+
 @push('scripts')
 <script type="text/javascript">
-  
-  $(document).on('click', '.report-action-btn', function(e) {
-    e.preventDefault();
-    let el = $(this);
-    let action = el.data('action');
-    console.log(action);
-
-    axios.post(window.location.href, {
-      'action': action
-    })
-    .then(function(res) {
-      swal('Success', 'Issue updated successfully!', 'success');
-      window.location.href = window.location.href;
-    }).catch(function(res) {
-      swal('Error', res.data.msg, 'error');
-    });
-  })
-
+	$(document).on('click', '.report-action-btn', function(e) {
+		e.preventDefault();
+		let el = $(this);
+		let action = el.data('action');
+		axios.post(window.location.href, {
+			'action': action
+		})
+		.then(function(res) {
+			swal('Success', 'Issue updated successfully!', 'success');
+			window.location.href = '/i/admin/reports';
+		}).catch(function(res) {
+			swal('Error', res.data.msg, 'error');
+		});
+	})
 </script>
 @endpush