@extends('layouts.app') @section('title', 'My Rating History') @section('content')

My Rating History

All reviews you've submitted

Back to Orders

{{ $stats['total'] }}

Total Ratings

{{ $stats['average'] }}/5

Average Rating

{{ $stats['recent'] }}

Last 30 Days

All Reviews
{{ $reviews->total() }} reviews
@if($reviews->count() > 0) @foreach($reviews as $review)
{{ $review->menu->name ?? 'Menu Item' }} @if($review->order) Order #{{ $review->order->order_number }} @endif
@for($i = 1; $i <= 5; $i++) @if($i <= $review->rating) @else @endif @endfor {{ $review->rating }}/5
{{ $review->created_at->format('M d, Y') }}
{{ $review->is_approved ? 'Approved' : 'Pending' }}
@if($review->comment)

{{ $review->comment }}

@endif
Ordered: {{ $review->order->created_at->format('M d, Y') ?? 'N/A' }} Rp {{ number_format($review->order->final_amount ?? 0, 0, ',', '.') }}
Order Details
@if($review->order)

Status: @php $statusColors = [ 'pending' => 'warning', 'processing' => 'info', 'preparing' => 'primary', 'ready' => 'success', 'on_delivery' => 'info', 'completed' => 'success', 'cancelled' => 'danger', ]; $status = $review->order->status; $statusColor = $statusColors[$status] ?? 'secondary'; @endphp {{ ucfirst($status) }}

Type: {{ ucfirst($review->order->order_type) }}

Items: {{ $review->order->items->count() ?? 0 }}

@else

Order details not available

@endif
View Order @if($review->menu) View Menu @endif
@endforeach @if($reviews->hasPages())
{{ $reviews->links() }}
@endif @else

No Reviews Yet

You haven't rated any orders yet. After completing an order, you can rate it to help us improve our service.

View My Orders
@endif
@if($reviews->count() > 0)
Rating Distribution
@php $ratingCounts = [ 5 => 0, 4 => 0, 3 => 0, 2 => 0, 1 => 0 ]; foreach($reviews as $review) { if(isset($ratingCounts[$review->rating])) { $ratingCounts[$review->rating]++; } } $maxCount = max($ratingCounts); @endphp @for($i = 5; $i >= 1; $i--)
@for($j = 1; $j <= 5; $j++) @if($j <= $i) @else @endif @endfor {{ $i }} Star{{ $i > 1 ? 's' : '' }}
{{ $ratingCounts[$i] }}
@php $percentage = $maxCount > 0 ? ($ratingCounts[$i] / $maxCount) * 100 : 0; $colorClass = match($i) { 5 => 'bg-success', 4 => 'bg-info', 3 => 'bg-primary', 2 => 'bg-warning', 1 => 'bg-danger', default => 'bg-secondary' }; @endphp
@endfor
Recent Activity
@php $recentReviews = $reviews->take(5); @endphp @if($recentReviews->count() > 0)
@foreach($recentReviews as $recent)
{{ $recent->menu->name ?? 'Menu Item' }}
@for($i = 1; $i <= 5; $i++) @if($i <= $recent->rating) @else @endif @endfor
{{ $recent->created_at->diffForHumans() }}
@if($recent->comment)

"{{ Str::limit($recent->comment, 50) }}"

@endif
@endforeach
@else

No recent activity

@endif
@endif
@push('styles') @endpush @endsection