<p>&nbsp;</p>
<style>
        :root {
            --color-primary: #4CAF50;
            --color-secondary: rgb(84, 110, 122);
            --color-danger: #f44336;
            --color-white: #ffffff;
            --color-black: #000000;
            --color-gray: #f0f0f0;
            --color-light-gray: #ddd;
            --color-green: #4caf50;
            --color-hover: #d32f2f;
        }

        body {
            margin: 0;
            padding: 0;
            overflow: hidden;
            height: calc(var(--vh, 1vh) * 100);
            background-color: #f0f0f0;
            font-family: Arial, sans-serif;
            text-align: center;
            direction: rtl;
        }

        /* حالت عادی */
        .iframe-container.normal {
            position: relative;
            width: 100%;
            height: 100vh;
            overflow: hidden;
        }

        .iframe-container.normal iframe {
            width: 100%;
            height: 100%;
            border: none;
            display: none;
            position: relative;
            top: 0;
        }

        /* حالت تمام صفحه */
        .iframe-container.fullscreen {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: calc(var(--vh, 1vh) * 100);
            overflow: hidden;
            z-index: 1;
        }

        .iframe-container.fullscreen iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: none;
            display: block;
        }

        .loading {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            display: flex;
            flex-direction: column;
            align-items: center;
            z-index: 10000;
        }

        .loading-message {
            margin-bottom: 20px;
            font-size: 18px;
        }

        .progress {
            width: 80%;
            max-width: 400px;
            height: 20px;
            background-color: #ddd;
            border-radius: 5px;
            overflow: hidden;
        }

        .progress-bar {
            height: 100%;
            width: 0;
            background-color: #4caf50;
            transition: width 0.2s ease;
        }

        .error-message {
            display: none;
            color: red;
            margin-top: 20px;
            font-size: 16px;
            text-align: center;
        }

        #retryButton {
            display: none;
            margin-top: 10px;
            padding: 10px 20px;
            font-size: 16px;
            cursor: pointer;
            background-color: #4caf50;
            color: white;
            border: none;
            border-radius: 5px;
            transition: background-color 0.3s;
        }

        #retryButton:hover {
            background-color: #45a049;
        }

        /* دکمه‌ها */
        .button-container {
            position: fixed;
            top: 10px;
            left: 10px;
            display: flex;
            gap: 10px;
            z-index: 10001;
        }

        .download-button {
            position: fixed;
            top: 10px;
            right: 10px;
            color: white;
            text-align: center;
            border-radius: 5px;
            cursor: pointer;
            transition: background-color 0.3s;
            text-decoration: none;
            display: none; /* در ابتدا مخفی */
            align-items: center;
            justify-content: center;
            padding: 6px 10px;
            font-size: 11px;
            background-color: #4CAF50;
            width: 130px;
            z-index: 10001;
        }

        .translator-button {
            color: white;
            text-align: center;
            border-radius: 5px;
            cursor: pointer;
            transition: background-color 0.3s;
            text-decoration: none;
            display: none; /* در ابتدا مخفی */
            align-items: center;
            justify-content: center;
            padding: 6px 10px;
            font-size: 11px;
            background-color: rgb(84, 110, 122);
            width: 100px;
        }

        .download-button:hover, .translator-button:hover {
            filter: brightness(0.9);
        }

        /* اعلان */
        .notification {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: #ffffff;
            padding: 20px 30px;
            border-radius: 5px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            z-index: 10003;
            display: none;
            text-align: center;
            width: 90%;
            max-width: 600px;
            max-height: 80vh;
            overflow-y: auto;
        }

        .notification-buttons {
            display: flex;
            justify-content: center;
            margin-top: 20px;
            flex-wrap: wrap;
        }

        .notification-buttons button {
            background-color: #4CAF50;
            color: #ffffff;
            border: none;
            padding: 5px 10px;
            border-radius: 5px;
            cursor: pointer;
            margin: 5px;
        }

        .notification-buttons button:hover {
            background-color: #45a049;
        }

        /* استایل‌های مترجم */
        .translator-container {
            max-width: 600px;
            width: 100%;
            margin: 20px auto;
            text-align: center;
            position: relative; /* برای موقعیت‌دهی دکمه بستن */
        }

        .translator-container h2 {
            margin-bottom: 20px;
            color: #000;
        }

        /* استایل اسپینر */
        .spinner {
            border: 4px solid rgba(0, 0, 0, 0.1);
            border-top: 4px solid #3498db;
            border-radius: 50%;
            width: 20px;
            height: 20px;
            animation: spin 1s linear infinite;
            margin: 20px auto;
            display: none;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        /* نمایش نتیجه ترجمه */
        .result {
            margin-top: 20px;
            padding: 15px;
            border-radius: 8px;
            min-height: 50px;
            font-size: 16px;
            color: #000;
            white-space: pre-wrap;
            word-wrap: break-word;
            border: 1px solid #000;
        }

        /* دکمه کپی */
        .copy-button {
            margin-top: 10px;
            background-color: #3498db;
            border: none;
            color: #fff;
            padding: 10px 15px;
            border-radius: 5px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
            display: none; /* پیش‌فرض: نمایش نده */
        }

        .copy-button:hover {
            background-color: #2980b9;
        }

        /* استایل پیام موفقیت */
        .success-message {
            display: none;
            margin-top: 10px;
            color: #2ecc71;
            font-size: 16px;
            font-weight: bold;
        }

        /* استایل textarea */
        textarea {
            width: 100%;
            height: 120px;
            padding: 15px;
            margin-top: 20px;
            border-radius: 8px;
            border: 1px solid #000;
            resize: vertical;
            font-size: 16px;
            font-family: Arial, sans-serif;
            transition: border-color 0.3s;
        }

        textarea:focus {
            border-color: #76c7c0;
            outline: none;
        }

        /* استایل دکمه ذخیره و دانلود تصویر */
        .save-image-button {
            margin-top: 10px;
            background-color: #4CAF50;
            border: none;
            color: #fff;
            padding: 8px 12px;
            border-radius: 5px;
            cursor: pointer;
            font-size: 14px;
            transition: background-color 0.3s;
            display: inline-block;
        }

        .save-image-button:hover {
            background-color: #45a049;
        }

        /* استایل دکمه بستن اعلان مترجم */
        .close-notification {
            position: absolute;
            top: 10px;
            right: 10px;
            background: none;
            border: none;
            font-size: 20px;
            cursor: pointer;
        }
    </style>
<!-- دکمه‌ها -->
<div class="button-container"><a href="#" class="translator-button" id="translatorButton">مترجم</a></div>
<p><a href="#" class="download-button" id="downloadButton">دانلود تصویر 📥</a></p>
<!-- لودینگ و iframe -->
<div class="iframe-container normal">
<div class="loading" id="loadingContainer">
<div class="loading-message">لطفاً صبر کنید...</div>
<div class="progress">
<div class="progress-bar" id="progressBar"></div>
</div>
<div class="error-message" id="errorMessage">بارگیری زیاد طول کشید.<br />در صورت عدم بارگذاری، فیلترشکن خود را روشن کنید.</div>
<button id="retryButton">بارگذاری مجدد</button></div>
<!-- افزودن ویژگی‌های sandbox و allow به iframe --> <iframe id="myIframe" sandbox="allow-scripts allow-same-origin allow-forms allow-modals" allow="clipboard-read; clipboard-write"></iframe></div>
<!-- اعلان‌ها -->
<div class="notification" id="notificationContainer"></div>
<!-- مترجم سفارشی فارسی به انگلیسی -->
<div class="translator-container" id="translatorContent" style="display: none;"><button class="close-notification" id="translatorCloseButton">&times;</button>
<h2>مترجم فارسی به انگلیسی</h2>
<div class="spinner" id="spinner"></div>
<div class="result" id="resultText">ترجمه</div>
<button id="copyButton" class="copy-button">کپی متن انگلیسی</button>
<div class="success-message" id="successMessage">متن با موفقیت کپی شد!</div>
<textarea id="inputText" placeholder="متن خود را به فارسی وارد کنید..."></textarea></div>
<p>
<script>
        // تنظیم ارتفاع متغیر CSS --vh برای سازگاری با موبایل
        function setVhVariable() {
            let vh = window.innerHeight * 0.01;
            document.documentElement.style.setProperty('--vh', vh + 'px');
        }
        setVhVariable();
        window.addEventListener('resize', setVhVariable);

        const siteURL = 'https://amphion-naturalspeech3-facodec.hf.space/';
        const excludeUrls = new Set([
            'https://yanze-pulid.hf.space/--replicas/bwfqj/file=/tmp/gradio/7567beceda2541f726af7beb4c9aa857b4a96b77/liuyifei.png',
            'https://prodiazenafey-faceswap.hf.space/file=/tmp/gradio/44ce6237aa956835c13beb89ae4c83f8afea7edb/example3.jpg',
            'https://cohereforai-aya-expanse.hf.space/gradio_api/file=/tmp/gradio/195e9bc39ae67221fa523905a8a7f36b44bb03ebd3310192cf2ad0235b29fc1b/AyaExpanse.png'
        ]);

        const progressBar = document.getElementById('progressBar');
        const retryButton = document.getElementById('retryButton');
        const errorMessage = document.getElementById('errorMessage');
        const loadingContainer = document.getElementById('loadingContainer');
        const iframe = document.getElementById('myIframe');
        const downloadButton = document.getElementById('downloadButton');
        const translatorButton = document.getElementById('translatorButton');
        const notificationContainer = document.getElementById('notificationContainer');
        const translatorContent = document.getElementById('translatorContent');

        let iframeLoadedFlag = false;
        let mutationObserver = null;
        let debounceTimeout = null;
        let startTime = null;
        let progressInterval = null;

        function hideUnwantedElements() {
            try {
                const iframeDocument = iframe.contentDocument || iframe.contentWindow.document;

                if (!iframeDocument) return;

                // مخفی کردن تمام لینک‌ها
                const links = iframeDocument.querySelectorAll('a');
                links.forEach(link => {
                    link.style.display = 'none';
                });

        // متونی که باید جایگزین شوند
        const textsToReplace = {
            "Techenical report": "ezmary noori",
            "If PuLID is helpful, please help to ⭐ the . Thanks!": "اگر این ربات براتون خوشایند است  پنج ستاره بدید‌ .",
            "guozinan.1@bytedance.com": "ezmarynoori@gmail.com",
            "On mobile, the connection can break if this tab is unfocused or the device sleeps, losing your position in queue.": "در حال اجرای دستور کاربر برای تبدیل تصویر به مدل دلخواه با برنامه هوش مصنوعی",
            "Loading...": "...لطفاً صبر کنید",
            "Examples": "⬇️نمونه ها",
            "Generate": "🪄شروع ساخت",
            "Prompt": "متن(انگلیسی)بنویسید که تصویر به چه چیزی تبدیل بشه",
            "Negative Prompt": "چه چیزی اعمال نشه",
            "we provide some examples in the bottom, you can try these example prompts first": "ما برخی نمونه‌ها را در پایین ارائه می‌دهیم، می‌توانید ابتدا این مثال‌های متن را امتحان کنید.",
            "a single ID image is usually sufficient, you can also supplement with additional auxiliary images": "یک تصویر ID معمولاً کافی است، می‌توانید با تصاویر کمکی اضافی آن را تکمیل کنید.",
            "We offer two modes: fidelity mode and extremely style mode. In most cases, the default fidelity mode should suffice. If you find that the generated results are not stylized enough, you can choose the extremely style mode": "ما دو حالت ارائه می‌دهیم: حالت وفاداری و حالت استایل بسیار. در بیشتر موارد، حالت پیش‌فرض وفاداری کافی است. اگر متوجه شدید نتایج تولید شده به اندازه کافی استایل‌دار نیستند، می‌توانید حالت استایل بسیار را انتخاب کنید.",
            "turn this off)": "ترکیب شناسه (اگر می‌خواهید دو تصویر شناسه را ترکیب کنید، این گزینه را روشن کنید، در غیر این صورت خاموش کنید)",
            "fidelity": "وفاداری",
            "extremely style": "استایل بسیار",
            "ID scale": "مقیاس ID",
            "Width": "عرض",
            "Height": "ارتفاع",
            "Steps": "مراحل",
            "mode": "حالت",
            "Num samples": "تعداد نمونه‌ها",
            "Seed": "بذر",
            "ID image (main)": "تصویر شناسایی (اصلی)",
            "Additional ID image (auxiliary)": "تصویر شناسایی اضافی (کمک‌یار)",
            "Output": "خروجی",
            "Negative": "پرامپت که اعمال نشه",
            "Seed": "بذر",
            "Seed": "بذر",
            "Seed": "بذر",
            "You have exceeded your GPU quota": "محدودیت جی پی یو! انگار با ربات زیاد کار کردی. این محدودیت چند ساعت بعد برداشته میشه اما اگه میخوای الان مجدد تولید کنی حالت هواپیما گوشی رو روشن و خاموش کن این محدودیت برداشته میشه",
            "error": "محدودیت جی پی یو : تصاویر زیادی تولید کردی چند لحظه بعد بیا و یا  برای رفع این محدودیت حالت هواپیما گوشی رو یک یا دوبار روشن و خاموش کنید این محدودیت برداشته میشود",
            "Error": "محدودیت جی پی یو : تصاویر زیادی تولید کردی چند لحظه بعد بیا و یا  برای رفع این محدودیت حالت هواپیما گوشی رو یک یا دوبار روشن و خاموش کنید این محدودیت برداشته میشود"
        };

        // متونی که باید مخفی شوند
        const unwantedTexts = [
            "wuyanze123@gmail.com", // ایمیل مخفی شده
            "Gradio Demo", // مخفی شده
            "🤗", // مخفی شده
            "ArXiv", // مخفی شده
            "LICENSE file", // مخفی شده
            "PuLID", // مخفی شده
            "Use via API", // مخفی شده
            "Use via APIlogo" // مخفی شده
        ];

                unwantedTexts.forEach(unwanted => {
                    const textNodes = getTextNodesContaining(iframeDocument.body, unwanted);
                    textNodes.forEach(node => {
                        const parentElement = node.parentElement;
                        if (parentElement) {
                            parentElement.style.display = 'none';
                        }
                    });
                });

                Object.keys(textsToReplace).forEach(originalText => {
                    const newText = textsToReplace[originalText];
                    const textNodes = getTextNodesContaining(iframeDocument.body, originalText);
                    textNodes.forEach(node => {
                        node.textContent = node.textContent.replace(new RegExp(escapeRegExp(originalText), 'g'), newText);
                    });
                });

            } catch (error) {
                console.error("نمی‌توان به محتوای iframe دسترسی پیدا کرد: ", error);
            }
        }

        function getTextNodesContaining(node, text) {
            let textNodes = [];
            const walker = document.createTreeWalker(node, NodeFilter.SHOW_TEXT, {
                acceptNode: function(node) {
                    return node.nodeValue.includes(text) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
                }
            }, false);

            while(walker.nextNode()) {
                textNodes.push(walker.currentNode);
            }

            return textNodes;
        }

        function escapeRegExp(string) {
            return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
        }

        function iframeLoaded() {
            iframeLoadedFlag = true;
            clearInterval(progressInterval);
            // Animate progress bar to 100% over 4 seconds
            progressBar.style.transition = 'width 4s linear';
            progressBar.style.width = '100%';

            // After 4 seconds, hide loading and show iframe
            setTimeout(() => {
                hideLoadingAndShowIframe();
            }, 4000);
        }

        function iframeError() {
            clearInterval(progressInterval);
            errorMessage.style.display = 'block';
            retryButton.style.display = 'block';
            progressBar.style.width = '0%';
            progressBar.style.transition = 'none';
        }

        function setupElementHiding() {
            try {
                const iframeDocument = iframe.contentDocument || iframe.contentWindow.document;

                if (!iframeDocument) return;

                hideUnwantedElements();

                // استفاده از MutationObserver با تنظیمات بهینه
                if (mutationObserver) {
                    mutationObserver.disconnect();
                }

                mutationObserver = new MutationObserver(function(mutations) {
                    if (debounceTimeout) {
                        clearTimeout(debounceTimeout);
                    }
                    debounceTimeout = setTimeout(() => {
                        hideUnwantedElements();
                    }, 500); // تاخیر 500 میلی‌ثانیه
                });

                mutationObserver.observe(iframeDocument.body, {
                    childList: true,
                    subtree: true
                });

            } catch (error) {
                console.error("نمی‌توان به محتوای iframe دسترسی پیدا کرد: ", error);
            }
        }

        retryButton.addEventListener('click', function() {
            loadIframe();
        });

        // تابع ایجاد اعلان ساده
        function createNotification(contentHTML, buttonsArray) {
            // حذف اعلان‌های قبلی
            const existingNotifications = document.querySelectorAll('.notification');
            existingNotifications.forEach(notif => notif.remove());

            const notificationDiv = document.createElement('div');
            notificationDiv.classList.add('notification');
            notificationDiv.style.display = 'block';

            // محتوا
            notificationDiv.innerHTML = contentHTML;

            // دکمه‌ها
            if (buttonsArray.length > 0) {
                const buttonsDiv = document.createElement('div');
                buttonsDiv.classList.add('notification-buttons');

                buttonsArray.forEach((btn) => {
                    const button = document.createElement('button');
                    button.innerText = btn.text;
                    button.onclick = () => {
                        btn.onclick();
                        if (!btn.preventClose) {
                            notificationDiv.style.display = 'none';
                        }
                    };
                    buttonsDiv.appendChild(button);
                });

                notificationDiv.appendChild(buttonsDiv);
            }

            document.body.appendChild(notificationDiv);
            return notificationDiv;
        }

        function handleDownload(event) {
            event.preventDefault();
            const iframeDocument = iframe.contentDocument || iframe.contentWindow.document;

            try {
                const images = Array.from(iframeDocument.querySelectorAll('img'));
                if (images.length === 0) {
                    alert("هیچ تصویری برای دانلود یافت نشد.");
                    return;
                }

                // فیلتر کردن تصاویر با فرمت .png و حذف URL های مشخص شده
                const pngImages = images
                    .filter(img => img.src.endsWith('.png') && !excludeUrls.has(img.src));

                if (pngImages.length === 0) {
                    alert("هیچ تصویر ساخته شده‌ای یافت نشد.");
                    return;
                }

                // ایجاد محتوای اعلان با تصاویر و دکمه‌های ذخیره
                const notificationContent = pngImages.map((img, index) => `
                    <div class="image-container" style="margin-bottom: 20px;">
                        <img src="${img.src}" alt="Image ${index+1}" style="max-width:100%; height:auto;">
                        <button class="save-image-button" data-image-url="${img.src}">ذخیره و دانلود تصویر</button>
                    </div>
                `).join('');

                // نمایش اعلان
                const imageNotification = createNotification(
                    notificationContent,
                    [
                        {
                            text: 'بستن',
                            onclick: () => {}
                        }
                    ]
                );

                // افزودن رویداد کلیک به دکمه‌های ذخیره تصویر
                const saveButtons = imageNotification.querySelectorAll('.save-image-button');

                saveButtons.forEach(button => {
                    button.addEventListener('click', () => {
                        const imageUrl = button.getAttribute('data-image-url');
                        processImage(imageUrl);
                    });
                });

            } catch (error) {
                console.error("خطا در شناسایی تصاویر: ", error);
                alert("خطایی در شناسایی تصاویر رخ داد.");
            }
        }

        // تابع برای آپلود تصویر به سرور و دریافت لینک از دامنه خودتان
        function processImage(imageUrl) {
            // نمایش پیام ساخت لینک دانلود
            const buildingLinkNotification = createNotification('در حال ساخت لینک دانلود، لطفاً صبر کنید...', []);

            // دریافت تصویر به صورت blob
            fetch(imageUrl)
                .then(response => response.blob())
                .then(blob => {
                    // آماده‌سازی فرم دیتا
                    const formData = new FormData();
                    formData.append('image', blob, 'downloaded_image.png');

                    // ارسال تصویر به upload.php
                    return fetch('https://www.aisada.ir/hamed/upload.php', { // آدرس کامل upload.php در سرور خودتان
                        method: 'POST',
                        body: formData,
                        mode: 'cors'
                    });
                })
                .then(response => response.json())
                .then(data => {
                    buildingLinkNotification.style.display = 'none';
                    if (data.success) {
                        // نمایش اعلان با دکمه دانلود
                        createNotification(
                            'لینک دانلود تصویر آماده شد.',
                            [
                                {
                                    text: 'دانلود',
                                    onclick: () => {
                                        window.open(data.url, '_blank');
                                    }
                                },
                                {
                                    text: 'بستن',
                                    onclick: () => {}
                                }
                            ]
                        );
                    } else {
                        alert('خطا در آپلود تصویر: ' + data.message);
                    }
                })
                .catch(error => {
                    buildingLinkNotification.style.display = 'none';
                    console.error('خطا:', error);
                    alert('خطا در آپلود تصویر');
                });
        }

        downloadButton.addEventListener('click', handleDownload);

        // پنجره مترجم
        translatorButton.addEventListener('click', function(event) {
            event.preventDefault();
            showTranslator();
        });

        function showTranslator() {
            // ایجاد محتوای مترجم با دکمه بستن در بالای سمت راست
            const translatorHTML = `
                <div class="translator-container">
                    <button class="close-notification" id="translatorCloseButton">&times;</button>
                    <h2>مترجم فارسی به انگلیسی</h2>
                    <div class="spinner" id="translatorSpinner"></div>
                    <div class="result" id="translatorResultText">ترجمه</div>
                    <button id="translatorCopyButton" class="copy-button">کپی متن انگلیسی</button>
                    <div class="success-message" id="translatorSuccessMessage">متن با موفقیت کپی شد!</div>
                    <textarea id="translatorInputText" placeholder="متن خود را به فارسی وارد کنید..."></textarea>
                </div>
            `;

            // نمایش اعلان با محتوای مترجم و بدون دکمه‌های پایین
            const translatorNotification = createNotification(translatorHTML, []);

            // افزودن رویداد کلیک به دکمه بستن در بالای سمت راست
            const closeButton = translatorNotification.querySelector('#translatorCloseButton');
            if (closeButton) {
                closeButton.addEventListener('click', () => {
                    translatorNotification.style.display = 'none';
                });
            }

            // راه‌اندازی مترجم در اعلان
            initializeTranslator();
        }

        function initializeTranslator() {
            const inputText = document.getElementById('translatorInputText');
            const resultText = document.getElementById('translatorResultText');
            const spinner = document.getElementById('translatorSpinner');
            const copyButton = document.getElementById('translatorCopyButton');
            const successMessage = document.getElementById('translatorSuccessMessage');

            let timeout;

            inputText.addEventListener('input', function() {
                const text = inputText.value.trim();

                if (timeout) {
                    clearTimeout(timeout);
                }

                // اگر ورودی خالی شد، نتیجه را پاک کن و دکمه کپی را پنهان کن
                if (text === '') {
                    resultText.textContent = 'ترجمه.';
                    copyButton.style.display = 'none';
                    spinner.style.display = 'none';
                    return;
                }

                // اجرا با تأخیر برای جلوگیری از درخواست‌های زیاد به API
                timeout = setTimeout(() => translateText(text), 500);
            });

            async function translateText(text) {
                const endpoint = 'https://api.mymemory.translated.net/get';

                const params = new URLSearchParams({
                    q: text,
                    langpair: 'fa|en'
                });

                resultText.textContent = '';
                spinner.style.display = 'block';

                try {
                    const response = await fetch(`${endpoint}?${params.toString()}`);
                    
                    if (!response.ok) {
                        throw new Error('خطا در بارگیری');
                    }

                    const data = await response.json();

                    spinner.style.display = 'none';

                    if (data.responseData && data.responseData.translatedText) {
                        resultText.textContent = data.responseData.translatedText;
                        copyButton.style.display = 'inline-block'; // نمایش دکمه کپی
                    } else {
                        resultText.textContent = 'ترجمه یافت نشد.';
                        copyButton.style.display = 'none';
                    }
                } catch (error) {
                    spinner.style.display = 'none';
                    resultText.textContent = 'خطا در ترجمه.';
                    copyButton.style.display = 'none';
                }
            }

            // مدیریت دکمه کپی
            copyButton.addEventListener('click', function() {
                const translatedText = resultText.textContent.trim();

                if (translatedText === '' || translatedText === 'ترجمه.') {
                    alert('هیچ متنی برای کپی کردن وجود ندارد.');
                    return;
                }

                navigator.clipboard.writeText(translatedText).then(() => {
                    successMessage.style.display = 'block';

                    // مخفی کردن پیام بعد از 2 ثانیه
                    setTimeout(() => {
                        successMessage.style.display = 'none';
                    }, 2000);
                }).catch(err => {
                    alert('کپی متن موفقیت‌آمیز نبود.');
                });
            });
        }

        function hideLoadingAndShowIframe() {
            loadingContainer.style.display = 'none';
            const iframeContainer = document.querySelector('.iframe-container');
            iframeContainer.classList.remove('normal');
            iframeContainer.classList.add('fullscreen');
            iframe.style.display = 'block';

            hideUnwantedElements();
            setupElementHiding();

            // نمایش دکمه‌ها پس از بارگذاری iframe
            downloadButton.style.display = 'flex';
            translatorButton.style.display = 'flex';
        }

        function loadIframe() {
            clearInterval(progressInterval);
            progressBar.style.width = '0%';
            progressBar.style.transition = 'none';
            loadingContainer.style.display = 'flex';
            errorMessage.style.display = 'none';
            retryButton.style.display = 'none';
            iframe.style.display = 'none';
            iframeLoadedFlag = false;

            // Reset progress bar
            progressBar.style.width = '0%';
            progressBar.style.transition = 'width 0.2s ease';

            // Start simulated progress up to 90%
            let progress = 0;
            startTime = Date.now();
            progressInterval = setInterval(() => {
                if (progress < 90) {
                    progress += Math.random() * 5; // Increment by random value to simulate progress
                    if (progress > 90) progress = 90;
                    progressBar.style.width = progress + '%';
                }
            }, 200); // Update every 200ms

            // Load the iframe
            fetch(siteURL, { method: 'HEAD', mode: 'no-cors' })
                .then(() => {
                    iframe.src = siteURL;
                    iframe.onload = iframeLoaded;
                    iframe.onerror = iframeError;
                })
                .catch(() => {
                    iframeError();
                });
        }

        // شروع بارگذاری iframe
        loadIframe();
    </script>
</p> دکمه دانلود تصویر به دانلود صدا تغییر بده که فقط فایل های wav با این فرمت شناسایی کنه و داخل اعلان نشون بده پلیر برای هر صدا داخل اعلان باشه و زیر پلیر هم دکمه دانلود و ذخیره داشته باشه دیگه همچنین دکمه مترجم کامل حذف کن با تمام عملکردش و بجاش یک دکمه توضیحات قرار بده که فقط یک اعلان نشون بده وقتی کلیک میکنم این متن داخل اعلان نشون بده سلام و درود کد کامل یکجا درست کن بفرست