<?php

namespace App\Http\Controllers;

use App\Models\Kupon;
use Illuminate\Http\Request;

class KuponController extends Controller
{
    // 1. Menampilkan Halaman Utama Kupon
    public function index()
    {
        if (!session()->has('admin_logged')) {
            return redirect('/login');
        }
        $kupons = Kupon::latest()->get();
        return view('admin.kupon_index', compact('kupons'));
    }

    // 2. Menyimpan Kupon Baru yang Dirilis Admin
    public function store(Request $request)
    {
        $request->validate([
            'kode_kupon' => 'required|unique:kupons,kode_kupon',
            'jenis_potongan' => 'required|in:nominal,persen',
            'nominal_potongan' => 'required|numeric|min:0',
            'minimal_belanja' => 'required|numeric|min:0',
            'stok_kupon' => 'required|numeric|min:1',
        ]);

        Kupon::create([
            'kode_kupon' => strtoupper(str_replace(' ', '', $request->kode_kupon)), // Otomatis kapital & tanpa spasi
            'jenis_potongan' => $request->jenis_potongan,
            'nominal_potongan' => $request->nominal_potongan,
            'minimal_belanja' => $request->minimal_belanja,
            'stok_kupon' => $request->stok_kupon,
        ]);

        return redirect()->back()->with('success', 'Kupon promo baru berhasil diaktifkan ke sistem!');
    }

    // 3. Menghapus/Menarik Kupon dari Peredaran
    public function destroy($id)
    {
        $kupon = Kupon::findOrFail($id);
        $kupon->delete();

        return redirect()->back()->with('success', 'Kupon promo berhasil dihapus dari sistem.');
    }
}
