<?php

namespace App\Http\Controllers;

use App\Models\Preference;
use App\Models\UserPreference;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class PreferencesController extends Controller
{
    // Menampilkan form preferences
    public function showForm()
    {
        return view('preferences.form');
    }

    // Menyimpan preferensi
    // public function savePreferences(Request $request)
    // {
    //     $request->validate([
    //         'preferences' => 'required|array', // Memastikan preferences adalah array
    //     ]);

    //     // Simpan preferensi sebagai JSON
    //     UserPreference::updateOrCreate(
    //         ['user_id' => auth()->id()],
    //         ['preferences' => json_encode($request->preferences)]
    //     );

    //     return response()->json(['message' => 'Preferences saved successfully']);
    // }

    // Mendapatkan preferensi pengguna yang telah disimpan
    // public function getPreferences()
    // {
    //     $preferences = UserPreference::where('user_id', auth()->id())->first();
    //     return response()->json($preferences);
    // }


    public function storeOrUpdatePreferences(Request $request)
    {
        // Dapatkan user yang sedang login
        $user = Auth::user();


        // Validasi input
        $request->validate([
            'filters.*' => 'string|distinct',
            'bidang_sub_sektor_ekonomi_kreatif' => 'array|nullable',
            'kategori' => 'array|nullable',
            'batas_terima_tawaran' => 'date|nullable',
            'range_min' => 'numeric|nullable',
            'range_max' => 'numeric|nullable',
            'status' => 'array|nullable',
            'audiens' => 'string|nullable',
            'benefit' => 'string|nullable',
            'durasi_min' => 'integer|nullable',
            'durasi_max' => 'integer|nullable',
            'lokasi' => 'string|nullable',
            'metodologi' => 'string|nullable',
            'rincian_kebutuhan' => 'string|nullable',
            'penerima_manfaat' => 'string|nullable',
        ]);

        $batasTerimaTawaran = $request->batas_terima_tawaran
        ? date('Y-m-d', strtotime($request->batas_terima_tawaran))
        : null;

        // Buat atau perbarui preferences
        $preferences = Preference::updateOrCreate(
            ['user_id' => $user->id], // Kondisi pencarian berdasarkan user_id
            [
                'filters' => json_encode($request->filters),
                'bidang_sub_sektor_ekonomi_kreatif' => json_encode($request->bidang_sub_sektor_ekonomi_kreatif),
                'kategori' => json_encode($request->kategori),
                'batas_terima_tawaran' => $batasTerimaTawaran,
                'range_min' => $request->range_min,
                'range_max' => $request->range_max,
                'status' => json_encode($request->status),
                'audiens' => $request->audiens,
                'benefit' => $request->benefit,
                'durasi_min' => $request->durasi_min,
                'durasi_max' => $request->durasi_max,
                'lokasi' => $request->lokasi,
                'metodologi' => $request->metodologi,
                'rincian_kebutuhan' => $request->rincian_kebutuhan,
                'penerima_manfaat' => $request->penerima_manfaat,
            ]
        );

        // Kembali ke halaman sebelumnya dengan pesan sukses
        return redirect()->back()->with('success', 'Preferences updated successfully.');
    }

    // public function storeOrUpdatePreferences(Request $request)
    // {
    //     // Dapatkan user yang sedang login
    //     $user = Auth::user();

    //     // Validasi input
    //     $request->validate([
    //         'filters.*' => 'string|distinct',
    //         'bidang_sub_sektor_ekonomi_kreatif' => 'array|nullable',
    //         'kategori' => 'array|nullable',
    //         'batas_terima_tawaran' => 'date|nullable',
    //         'range_min' => 'numeric|nullable',
    //         'range_max' => 'numeric|nullable',
    //         'status' => 'array|nullable',
    //         'audiens' => 'string|nullable',
    //         'benefit' => 'string|nullable',
    //         'durasi_min' => 'integer|nullable',
    //         'durasi_max' => 'integer|nullable',
    //         'lokasi' => 'string|nullable',
    //         'metodologi' => 'string|nullable',
    //         'rincian_kebutuhan' => 'string|nullable',
    //         'penerima_manfaat' => 'string|nullable',
    //     ]);



    //     // Buat atau perbarui preferences
    //     $preferences = Preference::updateOrCreate(
    //         ['user_id' => $user->id], // Kondisi pencarian berdasarkan user_id
    //         [
    //             'filters' => json_encode($request->filters), // Menyimpan filters sebagai JSON
    //             'bidang_sub_sektor_ekonomi_kreatif' => json_encode($request->bidang_sub_sektor_ekonomi_kreatif),
    //             'kategori' => json_encode($request->kategori),
    //             'batas_terima_tawaran' => $request->batas_terima_tawaran,
    //             'range_min' => $request->range_min,
    //             'range_max' => $request->range_max,
    //             'status' => json_encode($request->status),
    //             'audiens' => $request->audiens,
    //             'benefit' => $request->benefit,
    //             'durasi_min' => $request->durasi_min,
    //             'durasi_max' => $request->durasi_max,
    //             'lokasi' => $request->lokasi,
    //             'metodologi' => $request->metodologi,
    //             'rincian_kebutuhan' => $request->rincian_kebutuhan,
    //             'penerima_manfaat' => $request->penerima_manfaat,
    //         ]
    //     );

    //     // Kembali ke halaman sebelumnya dengan pesan sukses
    //     return redirect()->back()->with('success', 'Preferences berhasil diperbarui!');
    // }


}
