<?php

namespace App\Http\Controllers;

use App\Models\PengurusMasjid;
use Illuminate\Http\Request;
use App\Models\Pemasukan;
use App\Models\Pengeluaran;



class LandingPageController extends Controller
{
    public function index()
    {
        // Ambil data
        $pengurus = PengurusMasjid::first();
        $rekening = '1234567890 - BSI a.n. Masjid Al-Hikmah';
    
        // Ambil pemasukan yang sudah diterima dan semua pengeluaran
        $pemasukans = Pemasukan::all();
        $pengeluarans = Pengeluaran::all();
    
        // Gabungkan dan urutkan berdasarkan tanggal terbaru
        $data_kas = $pemasukans->concat($pengeluarans)->sortByDesc('tanggal')->values();
    
        // Hitung total pemasukan
        $total_pemasukan = $pemasukans->sum(function ($item) {
            return $item->kategori === 'barang'
                ? $item->quantity * $item->harga
                : $item->jumlah;
        });
    
        // Hitung total pengeluaran
        $total_pengeluaran = $pengeluarans->sum(function ($item) {
            return $item->kategori === 'barang'
                ? $item->quantity * $item->harga
                : $item->jumlah;
        });
    
        // Hitung saldo akhir
        $saldo_akhir = $total_pemasukan - $total_pengeluaran;
    
        // Kirim data ke view
        return view('landing', compact(
            'pengurus',
            'rekening',
            'data_kas',
            'total_pemasukan',
            'total_pengeluaran',
            'saldo_akhir'
        ));
    }
    
    

    public function storeSumbangan(Request $request)
{
    $request->validate([
        'tanggal' => 'required|date',
        'nama' => 'required|string|max:255',
        'email' => 'required|email|max:255',
        'kategori' => 'required|in:uang,barang',
        'nominal' => 'nullable|required_if:kategori,uang|numeric',
        'quantity' => 'nullable|required_if:kategori,barang|numeric',
        'harga' => 'nullable|required_if:kategori,barang|numeric',
        'subtotal' => 'nullable|required_if:kategori,barang|numeric',
        'keterangan' => 'nullable|string',
        'bukti' => 'required|image|mimes:jpeg,png,jpg|max:2048',
    ]);

    $data = [
        'tanggal' => $request->tanggal,
        'nama' => $request->nama,
        'email' => $request->email,
        'kategori' => $request->kategori,
        'keterangan' => $request->keterangan,
        'jumlah' => $request->kategori === 'uang' ? $request->nominal : $request->subtotal,
        'quantity' => $request->kategori === 'barang' ? $request->quantity : null,
        'harga' => $request->kategori === 'barang' ? $request->harga : null,
        'status' => 'menunggu',
    ];

    if ($request->hasFile('bukti')) {
        $data['bukti'] = $request->file('bukti')->store('bukti_sumbangan', 'public');
    }

    Pemasukan::create($data);

    return redirect()->to(url()->previous() . '#formSumbangan')
    ->with('success', 'Terima kasih! Sumbangan Anda telah berhasil dikirim. Kami akan menghubungi Anda setelah proses verifikasi selesai.');

}

}

