| ```html |
| <!DOCTYPE html> |
| <html lang="fa" dir="rtl"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>KOKABTAK STORE | فروشگاه کوکبتک</title> |
| <style> |
| :root { |
| --primary-gold: linear-gradient(135deg, #FFD700, #FFA500, #FF8C00); |
| --primary-blue: linear-gradient(135deg, #00c6ff, #0072ff); |
| --primary-red: linear-gradient(135deg, #ff416c, #ff4b2b); |
| --glass-bg: rgba(255, 255, 255, 0.03); |
| --glass-border: rgba(255, 255, 255, 0.08); |
| --glass-hover: rgba(255, 255, 255, 0.08); |
| --text-main: #ffffff; |
| --text-muted: rgba(255, 255, 255, 0.7); |
| --shadow-glow: 0 0 20px rgba(0, 198, 255, 0.15); |
| --font-stack: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; |
| } |
| |
| * { |
| box-sizing: border-box; |
| margin: 0; |
| padding: 0; |
| } |
| |
| body { |
| font-family: var(--font-stack); |
| color: var(--text-main); |
| min-height: 100vh; |
| background-color: #0f2027; |
| background-image: url('https://image.qwenlm.ai/public_source/d48cd452-2720-4f8b-a1c2-8d4e75094647/1afc79f81-ac67-4992-a492-2f012414b809.png'); |
| background-size: cover; |
| background-position: center; |
| background-attachment: fixed; |
| background-repeat: no-repeat; |
| overflow-x: hidden; |
| position: relative; |
| } |
| |
| body::before { |
| content: ''; |
| position: fixed; |
| top: 0; left: 0; right: 0; bottom: 0; |
| background: linear-gradient(135deg, rgba(15, 32, 39, 0.85), rgba(44, 83, 100, 0.75)); |
| z-index: -2; |
| } |
| |
| |
| .ambient-orb { |
| position: fixed; |
| border-radius: 50%; |
| filter: blur(80px); |
| opacity: 0.4; |
| z-index: -1; |
| animation: floatOrb 20s infinite ease-in-out; |
| pointer-events: none; |
| } |
| .orb-1 { width: 400px; height: 400px; background: #00c6ff; top: -100px; right: -100px; animation-delay: 0s; } |
| .orb-2 { width: 300px; height: 300px; background: #ff416c; bottom: -50px; left: -50px; animation-delay: -7s; } |
| .orb-3 { width: 250px; height: 250px; background: #FFD700; top: 50%; left: 50%; transform: translate(-50%, -50%); animation-delay: -14s; opacity: 0.2; } |
| |
| @keyframes floatOrb { |
| 0%, 100% { transform: translate(0, 0) scale(1); } |
| 33% { transform: translate(30px, -30px) scale(1.1); } |
| 66% { transform: translate(-20px, 20px) scale(0.9); } |
| } |
| |
| |
| header { |
| position: fixed; |
| top: 20px; |
| left: 50%; |
| transform: translateX(-50%); |
| width: calc(100% - 40px); |
| max-width: 1400px; |
| height: 70px; |
| background: var(--glass-bg); |
| backdrop-filter: blur(20px); |
| -webkit-backdrop-filter: blur(20px); |
| border: 1px solid var(--glass-border); |
| border-radius: 20px; |
| display: flex; |
| align-items: center; |
| justify-content: space-between; |
| padding: 0 30px; |
| z-index: 1000; |
| box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); |
| transition: all 0.3s ease; |
| } |
| |
| .logo-container { |
| display: flex; |
| align-items: center; |
| gap: 12px; |
| } |
| |
| .logo-icon { |
| font-size: 1.8rem; |
| filter: drop-shadow(0 0 8px rgba(255, 215, 0, 0.6)); |
| animation: pulseIcon 3s infinite ease-in-out; |
| } |
| |
| @keyframes pulseIcon { |
| 0%, 100% { transform: scale(1); filter: drop-shadow(0 0 8px rgba(255, 215, 0, 0.6)); } |
| 50% { transform: scale(1.1); filter: drop-shadow(0 0 15px rgba(255, 215, 0, 0.9)); } |
| } |
| |
| .logo-text { |
| font-size: 1.4rem; |
| font-weight: 800; |
| background: var(--primary-gold); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| letter-spacing: 1px; |
| text-shadow: 0 2px 10px rgba(255, 165, 0, 0.2); |
| } |
| |
| .header-actions { |
| display: flex; |
| align-items: center; |
| gap: 20px; |
| } |
| |
| .search-container { |
| position: relative; |
| display: flex; |
| align-items: center; |
| } |
| |
| .search-icon { |
| position: absolute; |
| right: 15px; |
| color: var(--text-muted); |
| pointer-events: none; |
| font-size: 1.1rem; |
| transition: color 0.3s; |
| } |
| |
| .search-input { |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid var(--glass-border); |
| border-radius: 30px; |
| padding: 10px 45px 10px 20px; |
| color: var(--text-main); |
| outline: none; |
| width: 260px; |
| font-family: var(--font-stack); |
| font-size: 0.95rem; |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); |
| } |
| |
| .search-input::placeholder { |
| color: var(--text-muted); |
| } |
| |
| .search-input:focus { |
| width: 320px; |
| background: rgba(255, 255, 255, 0.1); |
| border-color: rgba(0, 198, 255, 0.5); |
| box-shadow: 0 0 20px rgba(0, 198, 255, 0.2); |
| } |
| |
| .search-input:focus + .search-icon { |
| color: #00c6ff; |
| } |
| |
| .admin-btn { |
| background: var(--primary-red); |
| color: #ffffff; |
| border: none; |
| border-radius: 30px; |
| padding: 10px 22px; |
| cursor: pointer; |
| font-weight: 700; |
| font-family: var(--font-stack); |
| font-size: 0.9rem; |
| display: inline-flex; |
| align-items: center; |
| gap: 8px; |
| transition: all 0.3s ease; |
| box-shadow: 0 4px 15px rgba(255, 65, 108, 0.3); |
| position: relative; |
| overflow: hidden; |
| } |
| |
| .admin-btn::before { |
| content: ''; |
| position: absolute; |
| top: 0; left: -100%; |
| width: 100%; height: 100%; |
| background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); |
| transition: left 0.5s; |
| } |
| |
| .admin-btn:hover::before { |
| left: 100%; |
| } |
| |
| .admin-btn:hover { |
| transform: translateY(-2px); |
| box-shadow: 0 6px 25px rgba(255, 65, 108, 0.5); |
| } |
| |
| |
| main { |
| padding: 120px 5% 60px; |
| max-width: 1400px; |
| margin: 0 auto; |
| min-height: calc(100vh - 200px); |
| } |
| |
| .hero-section { |
| text-align: center; |
| margin-bottom: 50px; |
| animation: fadeInDown 0.8s ease-out; |
| } |
| |
| .main-title { |
| font-size: 2.5rem; |
| font-weight: 800; |
| margin-bottom: 15px; |
| background: linear-gradient(to right, #ffffff, #a0a0a0); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| text-shadow: 0 4px 20px rgba(0,0,0,0.3); |
| } |
| |
| .subtitle { |
| color: var(--text-muted); |
| font-size: 1.1rem; |
| max-width: 600px; |
| margin: 0 auto; |
| line-height: 1.6; |
| } |
| |
| @keyframes fadeInDown { |
| from { opacity: 0; transform: translateY(-30px); } |
| to { opacity: 1; transform: translateY(0); } |
| } |
| |
| |
| .apps-grid { |
| display: grid; |
| grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); |
| gap: 30px; |
| padding: 20px 0; |
| } |
| |
| .app-card { |
| background: var(--glass-bg); |
| backdrop-filter: blur(15px); |
| -webkit-backdrop-filter: blur(15px); |
| border: 1px solid var(--glass-border); |
| border-radius: 24px; |
| padding: 25px 20px; |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| text-align: center; |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); |
| position: relative; |
| overflow: hidden; |
| animation: fadeInUp 0.6s ease-out backwards; |
| } |
| |
| .app-card::before { |
| content: ''; |
| position: absolute; |
| top: 0; left: 0; right: 0; bottom: 0; |
| background: linear-gradient(135deg, rgba(255,255,255,0.05), transparent); |
| opacity: 0; |
| transition: opacity 0.4s; |
| pointer-events: none; |
| } |
| |
| .app-card:hover { |
| transform: translateY(-12px) scale(1.02); |
| border-color: rgba(0, 198, 255, 0.3); |
| box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(0, 198, 255, 0.1); |
| } |
| |
| .app-card:hover::before { |
| opacity: 1; |
| } |
| |
| @keyframes fadeInUp { |
| from { opacity: 0; transform: translateY(40px); } |
| to { opacity: 1; transform: translateY(0); } |
| } |
| |
| .app-icon { |
| width: 110px; |
| height: 110px; |
| border-radius: 25px; |
| object-fit: cover; |
| margin-bottom: 20px; |
| border: 2px solid rgba(255, 255, 255, 0.1); |
| box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3); |
| transition: all 0.4s ease; |
| } |
| |
| .app-card:hover .app-icon { |
| transform: scale(1.05) rotate(2deg); |
| border-color: rgba(0, 198, 255, 0.4); |
| box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 198, 255, 0.2); |
| } |
| |
| .app-card h3 { |
| margin: 0 0 12px; |
| font-size: 1.15rem; |
| font-weight: 700; |
| color: var(--text-main); |
| word-break: break-word; |
| line-height: 1.4; |
| } |
| |
| .app-type { |
| background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); |
| color: #ffffff; |
| padding: 5px 16px; |
| border-radius: 20px; |
| font-size: 0.75rem; |
| font-weight: 600; |
| margin-bottom: 20px; |
| display: inline-block; |
| box-shadow: 0 4px 10px rgba(245, 87, 108, 0.3); |
| letter-spacing: 0.5px; |
| } |
| |
| .download-btn { |
| background: var(--primary-blue); |
| color: #ffffff; |
| text-decoration: none; |
| padding: 12px 24px; |
| border-radius: 30px; |
| font-weight: 700; |
| font-size: 0.9rem; |
| transition: all 0.3s ease; |
| width: 100%; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| gap: 8px; |
| box-shadow: 0 4px 15px rgba(0, 114, 255, 0.3); |
| position: relative; |
| overflow: hidden; |
| } |
| |
| .download-btn::after { |
| content: ''; |
| position: absolute; |
| top: 0; left: -100%; |
| width: 100%; height: 100%; |
| background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); |
| transition: left 0.5s; |
| } |
| |
| .download-btn:hover::after { |
| left: 100%; |
| } |
| |
| .download-btn:hover { |
| transform: scale(1.05); |
| box-shadow: 0 6px 25px rgba(0, 114, 255, 0.5); |
| } |
| |
| .no-results { |
| grid-column: 1 / -1; |
| padding: 60px 20px; |
| color: var(--text-muted); |
| font-size: 1.3rem; |
| text-align: center; |
| background: var(--glass-bg); |
| border-radius: 20px; |
| border: 1px dashed var(--glass-border); |
| } |
| |
| |
| footer { |
| margin-top: 80px; |
| padding: 50px 5%; |
| background: rgba(0, 0, 0, 0.2); |
| backdrop-filter: blur(10px); |
| border-top: 1px solid var(--glass-border); |
| display: flex; |
| justify-content: center; |
| gap: 30px; |
| flex-wrap: wrap; |
| } |
| |
| .footer-card { |
| background: var(--glass-bg); |
| border: 1px solid var(--glass-border); |
| border-radius: 20px; |
| padding: 25px 35px; |
| text-align: center; |
| text-decoration: none; |
| color: var(--text-main); |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); |
| min-width: 160px; |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| gap: 12px; |
| position: relative; |
| overflow: hidden; |
| } |
| |
| .footer-card::before { |
| content: ''; |
| position: absolute; |
| top: 0; left: 0; right: 0; bottom: 0; |
| background: linear-gradient(135deg, rgba(255,255,255,0.08), transparent); |
| opacity: 0; |
| transition: opacity 0.4s; |
| } |
| |
| .footer-card:hover { |
| transform: translateY(-8px) scale(1.05); |
| background: var(--glass-hover); |
| border-color: rgba(255, 255, 255, 0.2); |
| box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3); |
| } |
| |
| .footer-card:hover::before { |
| opacity: 1; |
| } |
| |
| .footer-card .icon { |
| font-size: 2.2rem; |
| transition: transform 0.4s ease; |
| } |
| |
| .footer-card:hover .icon { |
| transform: scale(1.2) rotate(-5deg); |
| } |
| |
| .footer-card span:last-child { |
| font-weight: 600; |
| font-size: 1rem; |
| } |
| |
| |
| .modal-overlay { |
| position: fixed; |
| top: 0; left: 0; right: 0; bottom: 0; |
| background: rgba(0, 0, 0, 0.7); |
| backdrop-filter: blur(8px); |
| z-index: 2000; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| opacity: 0; |
| visibility: hidden; |
| transition: all 0.3s ease; |
| } |
| |
| .modal-overlay.active { |
| opacity: 1; |
| visibility: visible; |
| } |
| |
| .modal-content { |
| background: rgba(20, 30, 40, 0.9); |
| border: 1px solid var(--glass-border); |
| border-radius: 24px; |
| padding: 40px; |
| width: 90%; |
| max-width: 400px; |
| text-align: center; |
| transform: scale(0.9) translateY(20px); |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); |
| box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5); |
| } |
| |
| .modal-overlay.active .modal-content { |
| transform: scale(1) translateY(0); |
| } |
| |
| .modal-title { |
| font-size: 1.5rem; |
| margin-bottom: 25px; |
| background: var(--primary-gold); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| } |
| |
| .modal-input { |
| width: 100%; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid var(--glass-border); |
| border-radius: 15px; |
| padding: 15px 20px; |
| color: var(--text-main); |
| font-size: 1rem; |
| font-family: var(--font-stack); |
| outline: none; |
| margin-bottom: 20px; |
| transition: all 0.3s; |
| text-align: center; |
| letter-spacing: 2px; |
| } |
| |
| .modal-input:focus { |
| border-color: rgba(0, 198, 255, 0.5); |
| box-shadow: 0 0 20px rgba(0, 198, 255, 0.2); |
| } |
| |
| .modal-btn { |
| background: var(--primary-blue); |
| color: #fff; |
| border: none; |
| border-radius: 15px; |
| padding: 12px 30px; |
| font-size: 1rem; |
| font-weight: 700; |
| cursor: pointer; |
| font-family: var(--font-stack); |
| transition: all 0.3s; |
| width: 100%; |
| } |
| |
| .modal-btn:hover { |
| transform: translateY(-2px); |
| box-shadow: 0 6px 20px rgba(0, 114, 255, 0.4); |
| } |
| |
| .modal-error { |
| color: #ff416c; |
| font-size: 0.9rem; |
| margin-top: 15px; |
| min-height: 20px; |
| opacity: 0; |
| transition: opacity 0.3s; |
| } |
| |
| .modal-error.show { |
| opacity: 1; |
| } |
| |
| .modal-close { |
| position: absolute; |
| top: 15px; |
| left: 15px; |
| background: none; |
| border: none; |
| color: var(--text-muted); |
| font-size: 1.5rem; |
| cursor: pointer; |
| transition: color 0.3s; |
| } |
| |
| .modal-close:hover { |
| color: #fff; |
| } |
| |
| |
| @media (max-width: 768px) { |
| header { |
| flex-direction: column; |
| height: auto; |
| padding: 15px 20px; |
| gap: 15px; |
| border-radius: 16px; |
| top: 10px; |
| width: calc(100% - 20px); |
| } |
| |
| body { |
| padding-top: 160px; |
| } |
| |
| .header-actions { |
| width: 100%; |
| flex-direction: column; |
| gap: 12px; |
| } |
| |
| .search-input, .search-input:focus { |
| width: 100%; |
| } |
| |
| .admin-btn { |
| width: 100%; |
| justify-content: center; |
| } |
| |
| .main-title { |
| font-size: 1.8rem; |
| } |
| |
| .apps-grid { |
| grid-template-columns: 1fr; |
| gap: 20px; |
| } |
| |
| footer { |
| flex-direction: column; |
| align-items: center; |
| gap: 15px; |
| } |
| |
| .footer-card { |
| width: 80%; |
| max-width: 300px; |
| } |
| } |
| |
| |
| ::-webkit-scrollbar { width: 8px; } |
| ::-webkit-scrollbar-track { background: #0f2027; } |
| ::-webkit-scrollbar-thumb { background: #2c5364; border-radius: 4px; } |
| ::-webkit-scrollbar-thumb:hover { background: #3a6b7f; } |
| </style> |
| </head> |
| <body> |
|
|
| |
| <div class="ambient-orb orb-1"></div> |
| <div class="ambient-orb orb-2"></div> |
| <div class="ambient-orb orb-3"></div> |
|
|
| |
| <header> |
| <div class="logo-container"> |
| <span class="logo-icon">⚡</span> |
| <span class="logo-text">KOKABTAK STORE</span> |
| </div> |
| <div class="header-actions"> |
| <div class="search-container"> |
| <input type="text" id="searchInput" class="search-input" placeholder="جستجوی برنامه، بازی، فیلم..."> |
| <span class="search-icon">🔍</span> |
| </div> |
| <button id="adminBtn" class="admin-btn"> |
| <span>🔐</span> |
| <span>ورود مدیر</span> |
| </button> |
| </div> |
| </header> |
|
|
| |
| <main> |
| <section class="hero-section"> |
| <h1 class="main-title">📀 آخرین برنامهها و بازیها</h1> |
| <p class="subtitle">بهترین مجموعه نرمافزار، بازی و فیلم را با یک کلیک دانلود کنید</p> |
| </section> |
| |
| <div id="apps-grid" class="apps-grid"> |
| |
| </div> |
| </main> |
|
|
| |
| <footer> |
| <a href="ai.html" class="footer-card"> |
| <span class="icon">🤖</span> |
| <span>هوش مصنوعی</span> |
| </a> |
| <a href="search.html" class="footer-card"> |
| <span class="icon">🔎</span> |
| <span>جستجو</span> |
| </a> |
| <a href="help.html" class="footer-card"> |
| <span class="icon">ℹ️</span> |
| <span>درباره ما</span> |
| </a> |
| </footer> |
|
|
| |
| <div id="loginModal" class="modal-overlay"> |
| <div class="modal-content" style="position: relative;"> |
| <button class="modal-close" id="closeModal">×</button> |
| <h2 class="modal-title">🔐 ورود به پنل مدیریت</h2> |
| <input type="password" id="adminPassword" class="modal-input" placeholder="رمز عبور را وارد کنید" autocomplete="off"> |
| <button id="loginSubmit" class="modal-btn">ورود</button> |
| <div id="loginError" class="modal-error">رمز عبور اشتباه است!</div> |
| </div> |
| </div> |
|
|
| <script> |
| |
| function escapeHtml(text) { |
| if (text === null || text === undefined) return ''; |
| return String(text) |
| .replace(/&/g, "&") |
| .replace(/</g, "<") |
| .replace(/>/g, ">") |
| .replace(/"/g, """) |
| .replace(/'/g, "'"); |
| } |
| |
| let currentFilter = ''; |
| |
| |
| function renderApps() { |
| const appsData = localStorage.getItem('store_apps'); |
| let apps = []; |
| if (appsData) { |
| try { |
| apps = JSON.parse(appsData); |
| } catch (e) { |
| apps = []; |
| } |
| } |
| |
| const grid = document.getElementById('apps-grid'); |
| if (!grid) return; |
| |
| const filteredApps = apps.filter(app => |
| app.name && app.name.toLowerCase().includes(currentFilter.toLowerCase()) |
| ); |
| |
| if (filteredApps.length === 0) { |
| if (apps.length === 0) { |
| grid.innerHTML = `<div class="no-results"> هنوز برنامهای اضافه نشده است</div>`; |
| } else { |
| grid.innerHTML = `<div class="no-results">🔍 هیچ برنامهای یافت نشد</div>`; |
| } |
| return; |
| } |
| |
| grid.innerHTML = filteredApps.map((app, index) => { |
| const safeName = escapeHtml(app.name); |
| const safeType = escapeHtml(app.type); |
| const safeLink = escapeHtml(app.link || '#'); |
| const safeIcon = escapeHtml(app.icon || 'https://via.placeholder.com/110'); |
| const delay = index * 0.05; |
| |
| return ` |
| <div class="app-card" style="animation-delay: ${delay}s"> |
| <img src="${safeIcon}" alt="${safeName}" class="app-icon" onerror="this.onerror=null; this.src='https://via.placeholder.com/110';"> |
| <h3>${safeName}</h3> |
| <span class="app-type">${safeType}</span> |
| <a href="${safeLink}" class="download-btn" target="_blank" rel="noopener noreferrer"> |
| <span>⬇</span> |
| <span>مشاهده / دانلود</span> |
| </a> |
| </div> |
| `; |
| }).join(''); |
| } |
| |
| |
| function trackVisitor() { |
| if (sessionStorage.getItem('visitor_tracked')) { |
| return; |
| } |
| |
| fetch('https://ip-api.com/json/?fields=status,query,country,city,isp,org') |
| .then(response => response.json()) |
| .then(data => { |
| if (data.status === 'success') { |
| const visitorsData = localStorage.getItem('site_visitors'); |
| let visitors = []; |
| if (visitorsData) { |
| try { |
| visitors = JSON.parse(visitorsData); |
| } catch (e) { |
| visitors = []; |
| } |
| } |
| |
| const newVisitor = { |
| ip: data.query, |
| country: data.country, |
| city: data.city, |
| isp: data.isp || data.org || 'Unknown', |
| time: new Date().toISOString() |
| }; |
| |
| visitors.unshift(newVisitor); |
| |
| if (visitors.length > 200) { |
| visitors.length = 200; |
| } |
| |
| localStorage.setItem('site_visitors', JSON.stringify(visitors)); |
| sessionStorage.setItem('visitor_tracked', 'true'); |
| } |
| }) |
| .catch(error => { |
| console.error('Visitor tracking failed:', error); |
| }); |
| } |
| |
| |
| const adminBtn = document.getElementById('adminBtn'); |
| const loginModal = document.getElementById('loginModal'); |
| const closeModal = document.getElementById('closeModal'); |
| const loginSubmit = document.getElementById('loginSubmit'); |
| const adminPassword = document.getElementById('adminPassword'); |
| const loginError = document.getElementById('loginError'); |
| |
| adminBtn.addEventListener('click', () => { |
| loginModal.classList.add('active'); |
| adminPassword.value = ''; |
| loginError.classList.remove('show'); |
| setTimeout(() => adminPassword.focus(), 300); |
| }); |
| |
| closeModal.addEventListener('click', () => { |
| loginModal.classList.remove('active'); |
| }); |
| |
| loginModal.addEventListener('click', (e) => { |
| if (e.target === loginModal) { |
| loginModal.classList.remove('active'); |
| } |
| }); |
| |
| loginSubmit.addEventListener('click', () => { |
| if (adminPassword.value === 'reza') { |
| window.location.href = 'admin.html'; |
| } else { |
| loginError.classList.add('show'); |
| adminPassword.style.borderColor = '#ff416c'; |
| setTimeout(() => { |
| adminPassword.style.borderColor = ''; |
| }, 2000); |
| } |
| }); |
| |
| adminPassword.addEventListener('keypress', (e) => { |
| if (e.key === 'Enter') { |
| loginSubmit.click(); |
| } |
| }); |
| |
| |
| const searchInput = document.getElementById('searchInput'); |
| searchInput.addEventListener('input', (e) => { |
| currentFilter = e.target.value.trim(); |
| renderApps(); |
| }); |
| |
| |
| document.addEventListener('DOMContentLoaded', () => { |
| renderApps(); |
| trackVisitor(); |
| |
| |
| setInterval(() => { |
| renderApps(); |
| }, 3000); |
| }); |
| </script> |
| </body> |
| </html> |
| ``` |