<?php

namespace App\Http\Controllers;

use App\Models\Novosti;
use App\Models\Proizvodi;
use App\Models\QrCodes;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;

class FrontendController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function index()
    {
        $proizvodi = Proizvodi::orderBy('kategorija', 'asc')->get();
        $novosti = Novosti::latest()->take(3)->get();
        return view('frontend.home', compact('proizvodi', 'novosti'));
    }
    public function skeniranje()
    {

        // Provjeri da li je korisnik prijavljen
        if (Auth::check()) {
            return view('frontend.skeniranje');
        } else {
            return redirect()->route('korisnici.prijava'); // Preusmjeri na rutu za prijavu korisnika
        }
    }

    public function profil()
    {
        return view('frontend.profil');
    }


    public function prijava()
    {

        $activeClass = $this->isActivePage('skeniranje');

        if (Auth::check()) {
            return redirect(route('naslovna'));
        }

        return view('frontend.auth.prijava', compact('activeClass'));
    }

    public function skeniraj(Request $request)
    {

        // Dobijte podatke iz zahtjeva
        $qrcode = $request->input('qrcode');
        $br_bodova = $request->input('br_bodova');
        $id_korisnik = $request->input('id_korisnik');

        if ($request->tip == 'nargila_qr') {


            // Pronađite odgovarajuću narudžbu
            $qrcodes = QrCodes::where('qrcode', $qrcode)->first();

            if ($qrcodes && !$qrcodes->id_korisnik) {

                $qrcodes->id_korisnik = $id_korisnik;
                $qrcodes->save();
                return response()->json(['success' => true, 'message' => 'Uspješno ste spremili QR Code']);

            } else {
                return response()->json(['success' => false, 'greska' => 'nije_pronadeno', 'message' => 'Narudžba nije pronađena'], 200);
            }

        }

        if ($request->tip == 'racun_qr') {

            // Pronađite odgovarajuću narudžbu
            $qrcodes = new QrCodes();
            $qrcodes->qrcode = $qrcode;
            $qrcodes->br_bodova = $br_bodova;
            $qrcodes->id_korisnik = $id_korisnik;
            $qrcodes->save();
            return response()->json(['success' => true, 'message' => 'Uspješno ste spremili QR Code']);

        }

    }

    public function getUserName($id)
    {
        $korisnik = User::find($id);

        // Provjerite postoji li korisnik s navedenim id-jem
        if ($korisnik) {
            return $korisnik->name;
        } else {
            return null; // ili neka druga vrijednost koju želite vratiti ako korisnik ne postoji
        }
    }



    public function rangLista()
    {

        $rezultati = QrCodes::select('id_korisnik', DB::raw('SUM(br_bodova) as ukupno_bodova'))
            ->groupBy('id_korisnik')
            ->get();

        foreach ($rezultati as $rezultat) {
            $rezultat->username = $this->getUserName($rezultat->id_korisnik);
        }

        return view('frontend.rang-lista', compact('rezultati'));

    }

    public function novostiShow(string $id)
    {

        $stavke = Novosti::where('id', $id)->first();
        return view('frontend.novost', compact('stavke'));

    }




}