<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Mpdf\Mpdf;
use Mpdf\QrCode\Output;
use Mpdf\QrCode\QrCode;

class PalletController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function index()
    {
        //
    }

    public function downloadReprintQrPdf($palletNo)
    {
        $qrCode = new QrCode($palletNo);
        $output = new Output\Png();
        $qrBinary = $output->output($qrCode, 100);
        $qrBase64 = base64_encode($qrBinary);

           return  '
        <html>
        <head>
             <style>
            body { margin: 0; padding: 0; width: 60mm; height: auto; font-size: 10pt; font-family: DejaVu Sans, sans-serif; }
            .sticker-table { width: 60mm; height: 14mm; border-collapse: collapse; page-break-after: always; }
            .qr-cell { width: 14mm; text-align: right; vertical-align: bottom; padding-left: 0mm; padding-top: 0mm; }
            .text-cell { text-align: left; vertical-align: middle; font-size: 20pt; padding-left: 1mm; padding-top: 2mm; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: bold; }
            img.qr { width: 19mm; height: 19mm; display: block; }
        </style>
        </head>
        <body>
            <table class="sticker-table">
                <tr>
                    <td class="qr-cell">
                        <img class="qr" src="data:image/png;base64,' . $qrBase64 . '" alt="QR" />
                    </td>
                    <td class="text-cell">
                        ' . htmlspecialchars($palletNo) . '
                    </td>
                </tr>
            </table>
            <script>
                window.onload = function () {
                    window.print();
                    setTimeout(function () {
                        window.close();
                    }, 500); // Wait 0.5 seconds before closing
                };
                </script>
        </body>
        </html>
        ';

        // $mpdf = new Mpdf([
        //     'mode' => 'utf-8',
        //     'format' => [60, 14],
        //     'margin_left' => 0,
        //     'margin_right' => 0,
        //     'margin_top' => 0,
        //     'margin_bottom' => 0,
        //    // 'tempDir' => '/var/www/storage/mpdf-tmp',
        // ]);

        // $mpdf->WriteHTML($html);
        // // Output PDF to browser for printing
        // $mpdf->Output('qr-label.pdf', 'I');
    }

    public function downloadQrPdf($palletNo)
    {
        $qrCode = new QrCode($palletNo);
        $output = new Output\Png();
        $qrBinary = $output->output($qrCode, 100);
        $qrBase64 = base64_encode($qrBinary);

           $htmlBlock = '
        <table class="sticker-table">
            <tr>
                <td class="qr-cell">
                    <img class="qr" src="data:image/png;base64,' . $qrBase64 . '" alt="QR" />
                </td>
                <td class="text-cell">
                    ' . htmlspecialchars($palletNo) . '
                </td>
            </tr>
        </table>';

    return  '
    <html>
    <head>
        <style>
            body { margin: 0; padding: 0; width: 60mm; height: auto; font-size: 10pt; font-family: DejaVu Sans, sans-serif; }
            .sticker-table { width: 60mm; height: 14mm; border-collapse: collapse; page-break-after: always; }
            .qr-cell { width: 14mm; text-align: right; vertical-align: bottom; padding-left: -8mm; padding-top: 0mm; }
            .text-cell { text-align: left; vertical-align: middle; font-size: 22pt; padding-left: 1mm; padding-top: 2mm; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: bold; }
            img.qr { width: 19mm; height: 19mm; display: block; }
        </style>
    </head>
    <body>
        ' . $htmlBlock . $htmlBlock . '
        <script>
            window.onload = function () {
                window.print();
                setTimeout(function () {
                    window.close();
                }, 1000); // Wait 1 second before closing
            };
        </script>
    </body>
    </html>';

        // $mpdf = new Mpdf([
        //     'mode' => 'utf-8',
        //     'format' => [60, 14],
        //     'margin_left' => 0,
        //     'margin_right' => 0,
        //     'margin_top' => 0,
        //     'margin_bottom' => 0,
        //    // 'tempDir' => '/var/www/storage/mpdf-tmp',
        // ]);

        // $mpdf->WriteHTML($html);
        // // Output PDF to browser for printing
        // $mpdf->Output('qr-label.pdf', 'I');
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
        //
    }

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

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, string $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(string $id)
    {
        //
    }
}
