<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Pdf; // Facade Barryvdh\DomPDF\Facade\Pdf

class CertificateController extends Controller
{
    public function index()
{
    // Cukup kembalikan view index
    return view('certificate.index');
}
    // Fungsi pembantu untuk menyiapkan data sertifikat (agar tidak menulis ulang)
    private function getCertificateData()
    {
        return [
            'name' => 'Budi Setiawan, S.Kom',
            'course' => 'Mastering Laravel 12 & Modern Web Development',
            'date' => date('d F Y'),
            'certificate_id' => 'CERT/2026/07/' . rand(1000, 9999)
        ];
    }

    // 1. FUNGSI UNTUK PRATINJAU (VIEW) DI BROWSER
    public function preview()
    {
        $data = $this->getCertificateData();

        $pdf = Pdf::loadView('certificate.template', $data)
                  ->setPaper('a4', 'landscape');

        // Menggunakan stream() alih-alih download()
        // Parameter kedua 'Attachment' => false mencegah browser otomatis mengunduh
        return $pdf->stream('Sertifikat_' . str_replace(' ', '_', $data['name']) . '.pdf', [
            'Attachment' => false
        ]);
    }

    // 2. FUNGSI UNTUK UNDUH LANGSUNG
    public function download()
    {
        $data = $this->getCertificateData();

        $pdf = Pdf::loadView('certificate.template', $data)
                  ->setPaper('a4', 'landscape');

        return $pdf->download('Sertifikat_' . str_replace(' ', '_', $data['name']) . '.pdf');
    }
}