Gpsirdb / static /index.html
gopallikehack's picture
Create static/index.html
4ff7b17 verified
Raw History Blame Contribute Delete
3.14 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>IPTV Player — by Gopal Parmar</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/static/style.css" />
<script src="https://cdn.jsdelivr.net/npm/hls.js@1.5.13/dist/hls.min.js"></script>
</head>
<body>
<div class="bg-orbs">
<span class="orb orb-1"></span>
<span class="orb orb-2"></span>
<span class="orb orb-3"></span>
</div>
<header class="topbar">
<div class="brand">
<div class="logo">
<span class="logo-dot"></span>
<h1>IPTV<span class="accent">Player</span></h1>
</div>
<div class="credit-top">
by <strong>Gopal Parmar</strong> · <a href="https://t.me/GpSirEra" target="_blank" rel="noopener">@GpSirEra</a>
</div>
</div>
<form id="load-form" class="load-form">
<div class="input-wrap">
<svg class="input-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/>
<path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/>
</svg>
<input id="m3u-url" type="text" placeholder="Paste M3U / M3U8 playlist URL…" required autocomplete="off" />
</div>
<button type="submit" class="btn-primary">
<span>Load</span>
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
<path d="M5 12h14M13 5l7 7-7 7"/>
</svg>
</button>
</form>
<div id="status" class="status"></div>
</header>
<main class="layout">
<aside class="sidebar">
<div class="search-wrap">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/>
</svg>
<input id="search" type="text" placeholder="Search channel…" autocomplete="off" />
</div>
<ul id="channel-list" class="channel-list"></ul>
</aside>
<section class="player-wrap">
<div class="video-shell">
<video id="video" controls autoplay playsinline></video>
<div id="video-overlay" class="video-overlay">
<div class="overlay-content">
<div class="pulse-ring"></div>
<p>Paste a playlist URL above and pick a channel</p>
</div>
</div>
</div>
<div id="now-playing" class="now-playing">
<span class="dot"></span>
<span class="np-text">No channel selected.</span>
</div>
</section>
</main>
<footer class="footer">
<div class="footer-inner">
<span>Developed with <span class="heart">❤️</span> by <strong>Gopal Parmar</strong></span>
<span class="sep">·</span>
<span>Contact: <a href="https://t.me/GpSirEra" target="_blank" rel="noopener">@GpSirEra</a></span>
</div>
</footer>
<script src="/static/app.js"></script>
</body>
</html>