<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Pro QR Generator & Downloader</title>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script>

    <style>

        body {

            font-family: 'Segoe UI', sans-serif;

            display: flex;

            justify-content: center;

            align-items: center;

            height: 100vh;

            margin: 0;

            background: #eef2f3;

        }

        .container {

            background: white;

            padding: 2.5rem;

            border-radius: 15px;

            box-shadow: 0 10px 30px rgba(0,0,0,0.1);

            text-align: center;

            width: 380px;

        }

        h2 { color: #2c3e50; margin-top: 0; }

        input {

            width: 100%;

            padding: 12px;

            margin: 15px 0;

            border: 2px solid #ddd;

            border-radius: 8px;

            box-sizing: border-box;

            outline: none;

            transition: border-color 0.3s;

        }

        input:focus { border-color: #3498db; }

        .btn-group { display: flex; gap: 10px; }

        button {

            flex: 1;

            padding: 12px;

            border: none;

            border-radius: 8px;

            cursor: pointer;

            font-weight: bold;

            transition: 0.3s;

        }

        .gen-btn { background: #3498db; color: white; }

        .gen-btn:hover { background: #2980b9; }

        .down-btn { background: #2ecc71; color: white; display: none; }

        .down-btn:hover { background: #27ae60; }

        #qrcode {

            margin-top: 25px;

            display: flex;

            justify-content: center;

        }

        canvas { border: 1px solid #eee; }

    </style>

</head>

<body>


<div class="container">

    <h2>QR Generator</h2>

    <input type="text" id="text-input" placeholder="Paste link or text...">

    

    <div class="btn-group">

        <button class="gen-btn" onclick="generateQR()">Generate</button>

        <button id="download-btn" class="down-btn" onclick="downloadQR()">Download PNG</button>

    </div>


    <div id="qrcode"></div>

</div>


<script>

    const qrContainer = document.getElementById("qrcode");

    const downloadBtn = document.getElementById("download-btn");

    

    const qrcode = new QRCode(qrContainer, {

        width: 250,

        height: 250,

        colorDark : "#000000",

        colorLight : "#ffffff",

        correctLevel : QRCode.CorrectLevel.H

    });


    function generateQR() {

        const input = document.getElementById("text-input").value;

        if (input.trim() === "") {

            alert("Please enter something!");

            return;

        }

        qrcode.makeCode(input);

        // إظهار زر التحميل بعد توليد الكود

        downloadBtn.style.display = "block";

    }


    function downloadQR() {

        // العثور على عنصر الصورة أو الـ Canvas الذي أنشأته المكتبة

        const img = qrContainer.querySelector("img");

        const canvas = qrContainer.querySelector("canvas");


        // استخراج الرابط (Data URL)

        const imageSrc = img ? img.src : canvas.toDataURL("image/png");


        // إنشاء رابط وهمي للتحميل

        const link = document.createElement("a");

        link.href = imageSrc;

        link.download = "my-qrcode.png";

        document.body.appendChild(link);

        link.click();

        document.body.removeChild(link);

    }

</script>


</body>

</html>