teal-youtube

byMr bit Ai

<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8"> <title>YouTube सर्च 🔍 | Premium</title> <style> :root { --primary-color: #ff0000; --premium-color: #ffd700; --bg-color: #f9f9f9; --dark-bg: #222; --text-color: #333; --dark-text: #fff; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; max-width: 900px; margin: 0 auto; padding: 20px; background-color: var(--bg-color); color: var(--text-color); transition: all 0.3s; } body.dark-mode { background-color: var(--dark-bg); color: var(--dark-text); } .search-container { display: flex; gap: 10px; margin-bottom: 20px; } #searchBox { flex: 1; padding: 12px; font-size: 16px; border: 1px solid #ddd; border-radius: 4px; } button { padding: 12px 20px; font-size: 16px; background-color: var(--primary-color); color: white; border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s; } button:hover { background-color: #cc0000; } .premium-btn { background-color: var(--premium-color); color: black; } .premium-btn:hover { background-color: #e6c200; } .premium-badge { background-color: var(--premium-color); color: black; padding: 5px 10px; border-radius: 20px; font-weight: bold; margin-left: 10px; } #results { display: grid; gap: 15px; } .video-card { display: flex; gap: 15px; padding: 15px; background: white; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); transition: transform 0.2s; } body.dark-mode .video-card { background: #333; } .video-card:hover { transform: translateY(-3px); } .video-thumbnail { width: 120px; height: 90px; background: #f0f0f0; border-radius: 4px; flex-shrink: 0; } .video-info h3 { margin: 0 0 5px 0; font-size: 16px; } .video-info p { margin: 0; color: #666; font-size: 14px; } body.dark-mode .video-info p { color: #aaa; } .loading { text-align: center; padding: 20px; } .spinner { border: 4px solid rgba(0, 0, 0, 0.1); border-radius: 50%; border-top: 4px solid var(--primary-color); width: 30px; height: 30px; animation: spin 1s linear infinite; margin: 0 auto; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .toggle-container { display: flex; justify-content: flex-end; margin-bottom: 20px; } .toggle-btn { background: #333; color: white; border: none; padding: 8px 15px; border-radius: 20px; cursor: pointer; } </style> </head> <body> <div class="toggle-container"> <button class="toggle-btn" onclick="toggleDarkMode()">🌓 Dark Mode</button> </div> <h1>YouTube सर्च 🔍</h1> <div class="search-container"> <input type="text" id="searchBox" placeholder="YouTube पर वीडियो, चैनल या प्लेलिस्ट सर्च करें..."> <button onclick="search()">सर्च</button> <button class="premium-btn" onclick="buyPremium()">Premium खरीदें 🚀</button> <span id="premiumStatus"></span> </div> <div id="results"></div> <script> let searchCount = 0; let isPremium = localStorage.getItem("premium") === "true"; let isDarkMode = localStorage.getItem("darkMode") === "true"; // Dark Mode टॉगल if (isDarkMode) { document.body.classList.add("dark-mode"); } function toggleDarkMode() { document.body.classList.toggle("dark-mode"); isDarkMode = !isDarkMode; localStorage.setItem("darkMode", isDarkMode); } // Premium स्टेटस दिखाओ if (isPremium) { document.getElementById("premiumStatus").innerHTML = "<span class='premium-badge'>PREMIUM 🎉</span>"; document.body.style.backgroundColor = isDarkMode ? "#222" : "#e6ffe6"; } async function search() { const query = document.getElementById('searchBox').value; if (!query) { alert("कृपया सर्च क्वेरी डालें!"); return; } // Free यूज़र्स के लिए लिमिट if (!isPremium && searchCount >= 3) { alert("फ्री लिमिट खत्म! Premium लेकर अनलिमिटेड सर्च करें 🚀"); return; } searchCount++; document.getElementById("results").innerHTML = ` <div class="loading"> <div class="spinner"></div> <p>सर्चिंग...</p> </div> `; try { const response = await fetch(`/search?query=${encodeURIComponent(query)}`); const data = await response.json(); let output = ""; if (data.length > 0) { data.forEach(item => { // YouTube थंबनेल URL जनरेट करें const videoId = item.video_url.split('v=')[1]; const thumbnailUrl = `https://img.youtube.com/vi/${videoId}/mqdefault.jpg`; output += ` <div class="video-card"> <img src="${thumbnailUrl}" alt="Thumbnail" class="video-thumbnail" onerror="this.src='https://via.placeholder.com/120x90?text=No+Thumbnail'"> <div class="video-info"> <h3><a href="${item.video_url}" target="_blank">${item.title}</a></h3> <p>${item.channel}</p> </div> </div> `; }); } else { output = `<p style="text-align: center; padding: 20px;">कोई रिजल्ट नहीं मिला! अलग कीवर्ड ट्राई करें.</p>`; } document.getElementById("results").innerHTML = output; } catch (error) { document.getElementById("results").innerHTML = ` <p style="text-align: center; color: red; padding: 20px;"> एरर: ${error.message}<br> कृपया बाद में ट्राई करें। </p> `; } } function buyPremium() { // रियल पेमेंट गेटवे के लिए यह कोड बदलें const confirmPurchase = confirm("क्या आप प्रीमियम खरीदना चाहते हैं? (डेमो में सिर्फ अलर्ट दिखेगा)"); if (confirmPurchase) { // यहाँ Razorpay/Stripe इंटीग्रेशन होगा alert("पेमेंट प्रोसेसिंग... (डेमो मोड)"); isPremium = true; localStorage.setItem("premium", "true"); document.getElementById("premiumStatus").innerHTML = "<span class='premium-badge'>PREMIUM 🎉</span>"; if (!isDarkMode) { document.body.style.backgroundColor = "#e6ffe6"; } alert("बधाई हो! अब आप प्रीमियम यूज़र हैं 🎉\nअनलिमिटेड सर्च और एक्सक्लूसिव फीचर्स का आनंद लें!"); } } </script> </body> </html>

HomeResultsLogin
Home

Comments (0)

No comments yet. Be the first!

Project Tasks

No tasks generated yet.

Tasks will appear here as requirements are defined.

Home design preview
Login: Sign In
Dashboard: View Analytics
Dashboard: Monitor Searches
Dashboard: Manage Subscriptions
Subscriptions: View Premium Users
Subscriptions: Revoke Access
Users: View User List
Users: Manage User
Dashboard: View Search Stats
Reports: Export Data