<?php

namespace App\Http\Controllers;

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

class ProizvodiController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function index()
    {
        return view('admin.proizvodi.lista');
    }

    /**
     * Show the form for creating a new resource.
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
        // Validacija podataka obrasca
/*         $request->validate([
            'naziv' => 'required|string',
            'cijena' => 'required|numeric',
            'kolicina' => 'integer',
            'slika' => 'image|mimes:jpeg,png,jpg,gif|max:2048', // Dodajte validaciju za sliku
        ]);
 */

        $stavka = new Proizvodi();
        // Spremanje slike
        if ($request->file('slika')) {
            $slika = $request->file('slika');
            $nazivSlike = time() . '.' . $slika->getClientOriginalExtension();
            $slika->move(public_path('images'), $nazivSlike);
            // Pohrana putanje do slike u bazu podataka
            $stavka->slika = 'images/' . $nazivSlike; // Ovdje prilagodite putanju prema vašoj strukturi direktorija
        }


        // Stvaranje nove stavke Proizvodi

        $stavka->naziv = $request->naziv;
        $stavka->cijena = $request->cijena;
        $stavka->kategorija = $request->kategorija;
        $stavka->kolicina = $request->kolicina;

        // Čuvanje stavke u bazi podataka
        $stavka->save();

        // Redirekcija na listu proizvoda
        return redirect('administracija/proizvodi');
    }


    /**
     * Display the specified resource.
     */
    public function show(string $id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit(string $id)
    {
        $stavka = Proizvodi::where('id', $id)->first();

        return view('admin.proizvodi.pregled', compact('stavka'));
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, string $id)
    {
        $stavka = Proizvodi::where('id', $id)->first();

        if ($request->hasFile('slika') && $request->file('slika')->isValid()) {
            $slika = $request->file('slika');
            $nazivSlike = time() . '.' . $slika->getClientOriginalExtension();
            $slika->move(public_path('images'), $nazivSlike);

            $stavka->slika = 'images/' . $nazivSlike;
        }

        $stavka->naziv = $request->naziv;
        $stavka->kategorija = $request->kategorija;
        $stavka->cijena = $request->cijena;
        $stavka->save();

        return redirect('/administracija/proizvodi');
    }


    /**
     * Remove the specified resource from storage.
     */
    public function destroy(string $id)
    {
        $stavka = Proizvodi::where('id', $id)->first();
        if ($stavka) {
            $stavka->delete();
            return redirect('administracija/proizvodi');
        } else {
            return redirect('administracija/proizvodi');
        }


    }
}