<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Models\DataLatih;
use App\Models\UjiData;
use App\Models\Prediksi;
use App\Models\User;
use App\Models\Kabupaten;


class AdminController extends Controller
{
    // Menambahkan middleware auth agar hanya bisa diakses oleh user yang sudah login
    public function __construct()
    {
        $this->middleware('auth');
    }

    public function dashboard()
    {
        $data = [
            'merokok' => [/* data perilaku merokok */],
            'rumah' => [/* data kondisi rumah */],
            'imunisasi' => [/* data status imunisasi */]
        ];

        // Data untuk peta
        $locations = [
            'rawan' => ['kecamatan' => 'A', 'color' => 'red'],
            'berhati_hati' => ['kecamatan' => 'B', 'color' => 'blue']
        ];

        return view('admin.dashboard', compact('data', 'locations'));
    }
    public function dataLatih()
    {
        $dataLatih = DataLatih::all(); // Ambil semua data latih dari database
        return view('admin.data-latih', compact('dataLatih')); // Tampilkan ke view
    }
//     public function ujiData()
// {
//     // Gunakan nilai sementara agar tidak error
//     $probabilitas = 0.75; 
//     $mean = 12.5; 
//     $stdDeviasi = 3.2; 
//     $akurasi = 85.6; 

//     return view('admin.uji-data', compact('probabilitas', 'mean', 'stdDeviasi', 'akurasi'));
// }
public function prediksi()
{
    $data_prediksi = Prediksi::all(); // Ambil semua data prediksi dari database
    return view('admin.prediksi', compact('data_prediksi'));
}
public function hapusPrediksi($id)
{
    $prediksi = Prediksi::find($id);
    if ($prediksi) {
        $prediksi->delete();
    }
    return redirect()->route('prediksi')->with('success', 'Data berhasil dihapus');
}
public function users() {
    $users = User::all(); // Pastikan model `User` di-import
    return view('admin.users', compact('users'));
}

public function store(Request $request)
{
    $request->validate([
        'name' => 'required|string|max:255',
        'email' => 'required|email|unique:users',
        'password' => 'required|min:6',
    ]);

    User::create([
        'name' => $request->name,
        'email' => $request->email,
        'password' => bcrypt($request->password),
    ]);

    return redirect()->route('admin.users')->with('success', 'User berhasil ditambahkan.');
}
public function logout(Request $request)
{
    Auth::guard('admin')->logout();
    $request->session()->invalidate();
    $request->session()->regenerateToken();
    return redirect('/admin/login'); // Sesuaikan dengan halaman login Anda
}
public function edit($id)
{
    $user = User::findOrFail($id); // Ambil data user berdasarkan ID
    return view('admin.users.edit', compact('user'));
}
public function update(Request $request, $id)
{
    $request->validate([
        'name' => 'required|string|max:255',
        'email' => 'required|email|unique:users,email,' . $id,
    ]);

    $user = User::findOrFail($id);
    $user->update($request->all());

    return redirect()->route('admin.users.index')->with('success', 'Data user berhasil diperbarui.');
}
public function kabupaten()
{
    $kabupatens = Kabupaten::all();  // Ambil semua data kabupaten
    return view('admin.kabupaten.index', compact('kabupatens'));  // Kirim data ke view
}

public function createKabupaten()
{
    return view('admin.kabupaten.create'); // Menunjukkan view create dari kabupaten
}

}