<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Carbon\Carbon;

class ScanController extends Controller
{
    public function index()
    {
        abort_if(session('login_role') !== 'tu', 403);
        return view('tu.scan');
    }

    public function verify(Request $request)
    {
        abort_if(session('login_role') !== 'tu', 403);

        $request->validate([
            'qr_code' => 'required|string'
        ]);

        // ❌ Cegah scan ulang
        if (session('qr_hadir_valid')) {
            return response()->json([
                'success' => false,
                'message' => 'Sudah Scan QR',
            ], 409);
        }

        $qrCode = trim($request->qr_code);

        // 🔐 QR resmi
        $qrValid = 'QR_HADIR_SEKOLAH_2026';

        if ($qrCode !== $qrValid) {
            return response()->json([
                'success' => false,
                'message' => 'QR Tidak Valid'
            ], 422);
        }

        // ✅ SIMPAN SESSION QR
        session([
            'qr_hadir_valid' => true,
            'qr_hadir_time'  => now()->toDateTimeString(),
        ]);

        return response()->json([
            'success'  => true,
            'message'  => 'QR Valid',
            'redirect' => route('tu.Dashboard')
        ]);
    }
}
