<?php
// Fungsi untuk menghasilkan kode QR dan menampilkannya sebagai data URL
function generateQRCodeDataURL($text, $size = 256) {
    ob_start(); // Start output buffering
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <title>QR Code</title>
        <style>
            /* Styling untuk gambar QR code */
            #qrcode img {
                display: block;
                -webkit-user-select: none;
                margin: auto;
                background-color: hsl(0, 0%, 90%);
                transition: background-color 300ms;
            }
        </style>
    </head>
    <body>

    <div id="qrcode" style="width: <?php echo $size; ?>px; height: <?php echo $size; ?>px;"></div>

    <!-- Library QRCodeJS -->
    <script src="https://cdn.jsdelivr.net/npm/qrcodejs/qrcode.min.js"></script>
    <script>
        // Generate QR Code
        new QRCode(document.getElementById("qrcode"), "<?php echo $text; ?>");

        // Optional: Convert canvas to data URL (jika Anda ingin menggunakan data URL)
        const canvas = document.querySelector('#qrcode canvas');
        if (canvas) {
            const dataURL = canvas.toDataURL("image/png");
            console.log(dataURL); // Data URL bisa digunakan untuk keperluan lain
        }
    </script>

    </body>
    </html>
    <?php
    $output = ob_get_clean(); // Get the buffered output
    return $output;
}

// Ambil teks dari parameter URL
$text = isset($_GET['text']) ? $_GET['text'] : '';

// Generate dan tampilkan kode QR
if (!empty($text)) {
    echo generateQRCodeDataURL($text);
} else {
    echo "Teks tidak boleh kosong.";
}
?>