@extends('layouts.app') @section('title', 'Dashboard') @push('styles') @vite('resources/css/admin/dashboard.css') @endpush @section('content')
{{-- ===================================================== PAGE HEADER ====================================================== --}}
Dashboard

Dashboard

Pantau kondisi stok, transaksi, dan aktivitas toko secara keseluruhan.

{{-- ===================================================== SUMMARY CARDS ====================================================== --}}
Barang Aktif {{ number_format($totalItems, 0, ',', '.') }} Total barang yang digunakan
Stok Menipis {{ number_format($lowStockCount, 0, ',', '.') }} Barang mencapai batas minimum
Pengajuan Pending {{ number_format($pendingRestockCount, 0, ',', '.') }} Menunggu persetujuan admin
Transaksi Hari Ini {{ number_format($todayTransactionCount, 0, ',', '.') }} {{ $todayIncomingCount }} masuk · {{ $todayOutgoingCount }} keluar
{{-- ===================================================== TODAY STOCK MOVEMENT ====================================================== --}}
Barang Masuk Hari Ini {{ rtrim(rtrim(number_format($todayIncoming, 2, ',', '.'), '0'), ',') }} Total quantity barang masuk
Barang Keluar Hari Ini {{ rtrim(rtrim(number_format($todayOutgoing, 2, ',', '.'), '0'), ',') }} Total quantity barang keluar
{{-- ===================================================== CHARTS ====================================================== --}}

Aktivitas Transaksi

Pergerakan barang selama 7 hari terakhir.

Stok per Kategori

Total stok aktif berdasarkan kategori.

{{-- ===================================================== LOWER CONTENT ====================================================== --}}
{{-- LOW STOCK --}}

Stok Menipis

Barang yang sudah mencapai batas minimum.

Lihat Semua
@forelse($lowStockItems->take(6) as $item) @php $stock = (float) $item->stock; $stockMin = (float) $item->stock_min; $percentage = $stockMin > 0 ? min(($stock / $stockMin) * 100, 100) : 0; $formattedStock = rtrim(rtrim(number_format($stock, 2, ',', '.'), '0'), ','); $formattedStockMin = rtrim(rtrim(number_format($stockMin, 2, ',', '.'), '0'), ','); @endphp
{{ $item->name }} {{ $item->category?->name ?? 'Tanpa Kategori' }}
{{ $formattedStock }} / {{ $formattedStockMin }} {{ $item->unit?->name ?? '' }}
@empty
Semua stok aman

Belum ada barang yang mencapai batas minimum.

@endforelse
{{-- RESTOCK --}}

Pengajuan Restock

Pengajuan terbaru dari barista.

Lihat Semua
@forelse($recentRestockRequests as $request) @php $statusClass = match ($request->status) { 'pending' => 'status-pending', 'approved' => 'status-approved', 'rejected' => 'status-rejected', default => 'status-default', }; $statusLabel = match ($request->status) { 'pending' => 'Menunggu', 'approved' => 'Disetujui', 'rejected' => 'Ditolak', default => ucfirst($request->status), }; $statusIcon = match ($request->status) { 'pending' => 'bi-clock', 'approved' => 'bi-check-circle', 'rejected' => 'bi-x-circle', default => 'bi-info-circle', }; @endphp
{{ $request->item?->name ?? '-' }} {{ $request->user?->name ?? '-' }} · {{ $request->activity?->created_at?->format('d M Y H:i') ?? '-' }}
{{ rtrim(rtrim(number_format((float) $request->quantity, 2, ',', '.'), '0'), ',') }} {{ $request->item?->unit?->name ?? '' }} {{ $statusLabel }}
@empty
Belum ada pengajuan

Belum terdapat pengajuan restock.

@endforelse
{{-- ===================================================== RECENT TRANSACTIONS ====================================================== --}}

Transaksi Terbaru

Aktivitas transaksi stok terakhir.

Lihat Riwayat
@forelse($recentTransactions as $transaction) @php $isIncoming = $transaction->transaction_type === 'masuk'; $quantity = rtrim( rtrim(number_format((float) $transaction->quantity, 2, ',', '.'), '0'), ',', ); $stockAfter = rtrim( rtrim(number_format((float) $transaction->stock_after, 2, ',', '.'), '0'), ',', ); @endphp @empty @endforelse
Barang Jenis Jumlah Stok Setelah Dilakukan Oleh Waktu
{{ $transaction->item?->name ?? '-' }} {{ $transaction->item?->unit?->name ?? '-' }}
@if ($isIncoming) Masuk @else Keluar @endif {{ $quantity }} {{ $stockAfter }} {{ $transaction->item?->unit?->name ?? '' }} {{ $transaction->user?->name ?? '-' }}
{{ $transaction->activity?->created_at?->format('d M Y') ?? '-' }} {{ $transaction->activity?->created_at?->format('H:i') ?? '-' }}
Belum ada transaksi

Belum terdapat transaksi stok.

@endsection @push('scripts') @endpush