import React, { useState, useEffect, useRef } from 'react'; import { createRoot } from 'react-dom/client'; declare global { interface Window { gapi: any; } } const App = () => { // ================================================================== // == إعدادات القالب - قم بالتعديل هنا == // ================================================================== // ١. ضع معرف قناة يوتيوب الخاصة بك هنا const YOUR_YOUTUBE_CHANNEL_ID = 'UC_x5XG1OV2P6uZZ5FSM9Ttw'; // مثال // ٢. ضع رابط التحميل الخاص بك هنا const YOUR_DOWNLOAD_URL = 'https://example.com/your-file.zip'; // مثال // ================================================================== const [isLocked, setIsLocked] = useState(true); const subscribeButtonContainerRef = useRef(null); // Effect to render the YouTube subscribe button useEffect(() => { const container = subscribeButtonContainerRef.current; if (!container) return; const renderButton = () => { container.innerHTML = ''; // Clear previous button if (YOUR_YOUTUBE_CHANNEL_ID) { try { window.gapi.ytsubscribe.render(container, { 'channelid': YOUR_YOUTUBE_CHANNEL_ID, 'layout': 'full', 'count': 'default' }); } catch (error) { console.error("Error rendering YouTube button:", error); container.innerHTML = '
حدث خطأ أثناء تحميل زر الاشتراك.
'; } } }; // Check if the gapi script is loaded before rendering const checkGapi = () => { if (window.gapi && window.gapi.ytsubscribe) { renderButton(); } else { setTimeout(checkGapi, 100); // Poll every 100ms } }; checkGapi(); }, [YOUR_YOUTUBE_CHANNEL_ID]); const handleUnlock = () => { setIsLocked(false); }; const handleDownload = () => { if (!isLocked && YOUR_DOWNLOAD_URL) { window.open(YOUR_DOWNLOAD_URL, '_blank', 'noopener,noreferrer'); } }; return (

المحتوى محمي

للوصول إلى رابط التحميل، يرجى إكمال الخطوات أدناه.

الخطوة 1: اشترك في القناة

اضغط على الزر أدناه للاشتراك في قناتنا على يوتيوب.

جاري تحميل زر الاشتراك...
الخطوة 2: اضغط لفتح التحميل

بعد الاشتراك، انقر على الزر أدناه لإظهار رابط التحميل.

); }; const root = createRoot(document.getElementById('root')!); root.render();