<?php

namespace App\Http\Controllers\Petani;

use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use App\Models\Produk;
use App\Models\DetailTransaksi;

class DashboardController extends Controller
{
    public function index()
    {
        $petaniId = Auth::guard('petani')->id();

        // 1. Hitung Total Produk Aktif
        $totalProduk = Produk::where('petani_id', $petaniId)->count();

        // 2. Hitung Pesanan Baru (Yang statusnya 'dibayar' / perlu diproses)
        $pesananBaru = DetailTransaksi::whereHas('produk', function($q) use ($petaniId) {
            $q->where('petani_id', $petaniId);
        })->whereHas('transaksi', function($q) {
            $q->where('status', 'dibayar'); 
        })->count();

        // 3. Hitung TOTAL SEMUA PEMESANAN (Valid)
        // Menghitung semua transaksi masuk (Dibayar, Dikirim, Selesai) kecuali yang Batal
        $totalPemesanan = DetailTransaksi::whereHas('produk', function($q) use ($petaniId) {
            $q->where('petani_id', $petaniId);
        })->whereHas('transaksi', function($q) {
            $q->where('status', '!=', 'batal'); // Ambil semua kecuali yang batal
        })->count();

        // 4. Hitung Total Pendapatan (Hanya yang status 'selesai')
        $totalPendapatan = DetailTransaksi::whereHas('produk', function($q) use ($petaniId) {
            $q->where('petani_id', $petaniId);
        })->whereHas('transaksi', function($q) {
            $q->where('status', 'selesai');
        })->sum('subtotal');

        return view('petani.dashboard', compact('totalProduk', 'pesananBaru', 'totalPemesanan', 'totalPendapatan'));
    }
}