Spaces:
Running
Create a fully responsive, modern movie streaming website using HTML, CSS (or TailwindCSS), and JavaScript (or React/Vue).
Browse filesThe website should fetch and stream movies using vidsrc.me and the vidsrc.me API.
π Requirements:
1. Design & Theme
β’ Dark background with purple (#8a2be2) and cyan (#00ffff) neon glow effects.
β’ Modern, clean UI with smooth hover animations and glassmorphism cards.
β’ Use Google Fonts (e.g., Poppins or Inter) for modern typography.
β’ Sticky neon glowing header with site logo + navigation.
2. Pages/Sections
β’ Home Page: Trending movies, featured carousel, search bar.
β’ Movie Detail Page: Fetch details from vidsrc.me/api/ β Show poster, title, rating, description, and watch button that embeds player.
β’ Video Player Page: Use the vidsrc.me/embed/ link to stream the movie.
β’ Optional: Categories (Popular, Top Rated, Upcoming).
3. API Integration
β’ Use https://vidsrc.me/api/ to fetch movie metadata (title, year, poster, etc.).
β’ Implement search function that queries API and returns results in neon-styled grid.
β’ On movie click β go to detail page with player embed.
4. UI/UX Features
β’ Search bar with neon glow focus.
β’ Movie cards with hover effect (scale + glow border).
β’ Responsive grid (3-5 columns desktop, 2 tablet, 1 mobile).
β’ Loading animations (skeleton screens).
5. Technical
β’ Framework option: Vanilla JS / React / Vue (you decide).
β’ Ensure itβs mobile-friendly and looks great on all screens.
β’ Keep code modular and easy to expand.
π¨ Example Styling Notes
β’ Background: #0a0a0f (deep black).
β’ Neon Glow Purple: #8a2be2 (for buttons, active states).
β’ Neon Glow Cyan: #00ffff (for highlights, borders).
β’ Use CSS shadows like:
box-shadow: 0 0 10px #8a2be2, 0 0 20px #00ffff;
β’ Buttons: Glassmorphism with glowing borders - Initial Deployment
- README.md +7 -5
- index.html +319 -18
- movie.html +200 -0
- player.html +148 -0
- prompts.txt +39 -0
|
@@ -1,10 +1,12 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
-
emoji:
|
| 4 |
-
colorFrom:
|
| 5 |
-
colorTo:
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
| 1 |
---
|
| 2 |
+
title: test
|
| 3 |
+
emoji: π³
|
| 4 |
+
colorFrom: yellow
|
| 5 |
+
colorTo: blue
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
| 8 |
+
tags:
|
| 9 |
+
- deepsite
|
| 10 |
---
|
| 11 |
|
| 12 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
@@ -1,19 +1,320 @@
|
|
| 1 |
-
<!
|
| 2 |
-
<html>
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
</html>
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>NeonFlix - Modern Movie Streaming</title>
|
| 7 |
+
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
|
| 8 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 9 |
+
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
|
| 10 |
+
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
|
| 11 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 12 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 13 |
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
| 14 |
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
| 15 |
+
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
| 16 |
+
<style>
|
| 17 |
+
:root {
|
| 18 |
+
--bg-dark: #0a0a0f;
|
| 19 |
+
--neon-purple: #8a2be2;
|
| 20 |
+
--neon-cyan: #00ffff;
|
| 21 |
+
--text-light: #ffffff;
|
| 22 |
+
--text-muted: #a0a0a0;
|
| 23 |
+
--glass-bg: rgba(255, 255, 255, 0.05);
|
| 24 |
+
}
|
| 25 |
+
|
| 26 |
+
body {
|
| 27 |
+
font-family: 'Poppins', sans-serif;
|
| 28 |
+
background-color: var(--bg-dark);
|
| 29 |
+
color: var(--text-light);
|
| 30 |
+
overflow-x: hidden;
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
.neon-glow-purple {
|
| 34 |
+
box-shadow: 0 0 10px var(--neon-purple), 0 0 20px var(--neon-purple);
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
.neon-glow-cyan {
|
| 38 |
+
box-shadow: 0 0 10px var(--neon-cyan), 0 0 20px var(--neon-cyan);
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
.neon-border-purple {
|
| 42 |
+
border: 1px solid var(--neon-purple);
|
| 43 |
+
box-shadow: 0 0 5px var(--neon-purple), inset 0 0 5px var(--neon-purple);
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
.neon-border-cyan {
|
| 47 |
+
border: 1px solid var(--neon-cyan);
|
| 48 |
+
box-shadow: 0 0 5px var(--neon-cyan), inset 0 0 5px var(--neon-cyan);
|
| 49 |
+
}
|
| 50 |
+
|
| 51 |
+
.glass-card {
|
| 52 |
+
background: var(--glass-bg);
|
| 53 |
+
backdrop-filter: blur(10px);
|
| 54 |
+
-webkit-backdrop-filter: blur(10px);
|
| 55 |
+
border-radius: 12px;
|
| 56 |
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
.search-input {
|
| 60 |
+
background: rgba(0, 0, 0, 0.3);
|
| 61 |
+
border: 1px solid rgba(138, 43, 226, 0.3);
|
| 62 |
+
transition: all 0.3s ease;
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
+
.search-input:focus {
|
| 66 |
+
border-color: var(--neon-purple);
|
| 67 |
+
box-shadow: 0 0 10px var(--neon-purple), 0 0 20px var(--neon-purple);
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
.movie-card {
|
| 71 |
+
transition: all 0.3s ease;
|
| 72 |
+
transform: translateY(0);
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
.movie-card:hover {
|
| 76 |
+
transform: translateY(-10px) scale(1.03);
|
| 77 |
+
border-color: var(--neon-cyan);
|
| 78 |
+
box-shadow: 0 0 15px var(--neon-purple), 0 0 30px var(--neon-cyan);
|
| 79 |
+
}
|
| 80 |
+
|
| 81 |
+
.skeleton {
|
| 82 |
+
background: linear-gradient(90deg, #1a1a2e 25%, #16213e 50%, #1a1a2e 75%);
|
| 83 |
+
background-size: 200% 100%;
|
| 84 |
+
animation: loading 1.5s infinite;
|
| 85 |
+
}
|
| 86 |
+
|
| 87 |
+
@keyframes loading {
|
| 88 |
+
0% { background-position: 200% 0; }
|
| 89 |
+
100% { background-position: -200% 0; }
|
| 90 |
+
}
|
| 91 |
+
|
| 92 |
+
.sticky-header {
|
| 93 |
+
position: sticky;
|
| 94 |
+
top: 0;
|
| 95 |
+
z-index: 50;
|
| 96 |
+
backdrop-filter: blur(10px);
|
| 97 |
+
-webkit-backdrop-filter: blur(10px);
|
| 98 |
+
background: rgba(10, 10, 15, 0.8);
|
| 99 |
+
}
|
| 100 |
+
|
| 101 |
+
.carousel-item {
|
| 102 |
+
transition: opacity 0.5s ease-in-out;
|
| 103 |
+
}
|
| 104 |
+
|
| 105 |
+
.player-container {
|
| 106 |
+
position: relative;
|
| 107 |
+
padding-top: 56.25%; /* 16:9 Aspect Ratio */
|
| 108 |
+
}
|
| 109 |
+
|
| 110 |
+
.player-iframe {
|
| 111 |
+
position: absolute;
|
| 112 |
+
top: 0;
|
| 113 |
+
left: 0;
|
| 114 |
+
width: 100%;
|
| 115 |
+
height: 100%;
|
| 116 |
+
border: none;
|
| 117 |
+
}
|
| 118 |
+
</style>
|
| 119 |
+
</head>
|
| 120 |
+
<body class="min-h-screen">
|
| 121 |
+
<!-- Sticky Header -->
|
| 122 |
+
<header class="sticky-header border-b border-gray-800 neon-glow-purple">
|
| 123 |
+
<div class="container mx-auto px-4 py-3 flex justify-between items-center">
|
| 124 |
+
<div class="flex items-center space-x-2">
|
| 125 |
+
<i data-feather="film" class="text-purple-500"></i>
|
| 126 |
+
<span class="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-purple-500 to-cyan-500">NeonFlix</span>
|
| 127 |
+
</div>
|
| 128 |
+
|
| 129 |
+
<nav class="hidden md:flex space-x-6">
|
| 130 |
+
<a href="#" class="text-white hover:text-purple-400 transition-colors">Home</a>
|
| 131 |
+
<a href="#" class="text-white hover:text-purple-400 transition-colors">Movies</a>
|
| 132 |
+
<a href="#" class="text-white hover:text-purple-400 transition-colors">TV Shows</a>
|
| 133 |
+
<a href="#" class="text-white hover:text-purple-400 transition-colors">New</a>
|
| 134 |
+
</nav>
|
| 135 |
+
|
| 136 |
+
<div class="flex items-center space-x-4">
|
| 137 |
+
<div class="relative">
|
| 138 |
+
<input type="text" placeholder="Search movies..." class="search-input py-2 px-4 rounded-full text-white placeholder-gray-400 focus:outline-none">
|
| 139 |
+
<i data-feather="search" class="absolute right-3 top-2.5 text-gray-400"></i>
|
| 140 |
+
</div>
|
| 141 |
+
<button class="glass-card py-2 px-4 rounded-full neon-border-purple text-white hover:neon-glow-purple transition-all">
|
| 142 |
+
<i data-feather="user" class="w-5 h-5"></i>
|
| 143 |
+
</button>
|
| 144 |
+
</div>
|
| 145 |
+
</div>
|
| 146 |
+
</header>
|
| 147 |
+
|
| 148 |
+
<!-- Hero Carousel -->
|
| 149 |
+
<section class="relative h-96 md:h-[500px] overflow-hidden">
|
| 150 |
+
<div class="carousel-container h-full">
|
| 151 |
+
<div class="carousel-item absolute inset-0 opacity-100">
|
| 152 |
+
<div class="absolute inset-0 bg-gradient-to-r from-black via-transparent to-transparent z-10"></div>
|
| 153 |
+
<img src="http://static.photos/movie/1200x630/1" alt="Featured Movie" class="w-full h-full object-cover">
|
| 154 |
+
<div class="absolute bottom-0 left-0 z-20 p-8 max-w-2xl">
|
| 155 |
+
<h2 class="text-3xl md:text-5xl font-bold mb-4">The Neon Chronicles</h2>
|
| 156 |
+
<p class="text-gray-300 mb-6">In a dystopian future where dreams are currency, one rebel fights to free humanity from digital slavery.</p>
|
| 157 |
+
<div class="flex space-x-4">
|
| 158 |
+
<button class="glass-card py-3 px-6 rounded-full neon-border-cyan text-white hover:neon-glow-cyan transition-all flex items-center">
|
| 159 |
+
<i data-feather="play" class="mr-2"></i> Watch Now
|
| 160 |
+
</button>
|
| 161 |
+
<button class="glass-card py-3 px-6 rounded-full border border-gray-600 text-white hover:bg-gray-800 transition-all">
|
| 162 |
+
More Info
|
| 163 |
+
</button>
|
| 164 |
+
</div>
|
| 165 |
+
</div>
|
| 166 |
+
</div>
|
| 167 |
+
</div>
|
| 168 |
+
</section>
|
| 169 |
+
|
| 170 |
+
<!-- Trending Movies -->
|
| 171 |
+
<section class="py-12 px-4 container mx-auto">
|
| 172 |
+
<h2 class="text-2xl md:text-3xl font-bold mb-8 flex items-center">
|
| 173 |
+
<i data-feather="trending-up" class="mr-3 text-purple-500"></i>
|
| 174 |
+
Trending Now
|
| 175 |
+
</h2>
|
| 176 |
+
|
| 177 |
+
<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 gap-6" id="trending-movies">
|
| 178 |
+
<!-- Movie cards will be loaded here -->
|
| 179 |
+
<div class="skeleton h-80 rounded-xl"></div>
|
| 180 |
+
<div class="skeleton h-80 rounded-xl"></div>
|
| 181 |
+
<div class="skeleton h-80 rounded-xl"></div>
|
| 182 |
+
<div class="skeleton h-80 rounded-xl"></div>
|
| 183 |
+
<div class="skeleton h-80 rounded-xl"></div>
|
| 184 |
+
</div>
|
| 185 |
+
</section>
|
| 186 |
+
|
| 187 |
+
<!-- Categories -->
|
| 188 |
+
<section class="py-12 px-4 container mx-auto">
|
| 189 |
+
<h2 class="text-2xl md:text-3xl font-bold mb-8 flex items-center">
|
| 190 |
+
<i data-feather="grid" class="mr-3 text-cyan-500"></i>
|
| 191 |
+
Browse Categories
|
| 192 |
+
</h2>
|
| 193 |
+
|
| 194 |
+
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
|
| 195 |
+
<div class="glass-card p-6 text-center rounded-xl hover:neon-glow-purple transition-all cursor-pointer">
|
| 196 |
+
<i data-feather="star" class="w-10 h-10 mx-auto text-yellow-400 mb-3"></i>
|
| 197 |
+
<h3 class="font-semibold">Top Rated</h3>
|
| 198 |
+
</div>
|
| 199 |
+
<div class="glass-card p-6 text-center rounded-xl hover:neon-glow-purple transition-all cursor-pointer">
|
| 200 |
+
<i data-feather="calendar" class="w-10 h-10 mx-auto text-green-400 mb-3"></i>
|
| 201 |
+
<h3 class="font-semibold">New Releases</h3>
|
| 202 |
+
</div>
|
| 203 |
+
<div class="glass-card p-6 text-center rounded-xl hover:neon-glow-purple transition-all cursor-pointer">
|
| 204 |
+
<i data-feather="heart" class="w-10 h-10 mx-auto text-red-400 mb-3"></i>
|
| 205 |
+
<h3 class="font-semibold">Popular</h3>
|
| 206 |
+
</div>
|
| 207 |
+
<div class="glass-card p-6 text-center rounded-xl hover:neon-glow-purple transition-all cursor-pointer">
|
| 208 |
+
<i data-feather="clock" class="w-10 h-10 mx-auto text-blue-400 mb-3"></i>
|
| 209 |
+
<h3 class="font-semibold">Coming Soon</h3>
|
| 210 |
+
</div>
|
| 211 |
+
</div>
|
| 212 |
+
</section>
|
| 213 |
+
|
| 214 |
+
<!-- Footer -->
|
| 215 |
+
<footer class="glass-card mt-12 py-8 px-4 border-t border-gray-800">
|
| 216 |
+
<div class="container mx-auto">
|
| 217 |
+
<div class="grid grid-cols-1 md:grid-cols-4 gap-8">
|
| 218 |
+
<div>
|
| 219 |
+
<div class="flex items-center space-x-2 mb-4">
|
| 220 |
+
<i data-feather="film" class="text-purple-500"></i>
|
| 221 |
+
<span class="text-xl font-bold">NeonFlix</span>
|
| 222 |
+
</div>
|
| 223 |
+
<p class="text-gray-400">The ultimate destination for premium movie streaming with a neon twist.</p>
|
| 224 |
+
</div>
|
| 225 |
+
|
| 226 |
+
<div>
|
| 227 |
+
<h4 class="font-semibold mb-4">Navigation</h4>
|
| 228 |
+
<ul class="space-y-2 text-gray-400">
|
| 229 |
+
<li><a href="#" class="hover:text-purple-400 transition-colors">Home</a></li>
|
| 230 |
+
<li><a href="#" class="hover:text-purple-400 transition-colors">Movies</a></li>
|
| 231 |
+
<li><a href="#" class="hover:text-purple-400 transition-colors">TV Shows</a></li>
|
| 232 |
+
<li><a href="#" class="hover:text-purple-400 transition-colors">My List</a></li>
|
| 233 |
+
</ul>
|
| 234 |
+
</div>
|
| 235 |
+
|
| 236 |
+
<div>
|
| 237 |
+
<h4 class="font-semibold mb-4">Legal</h4>
|
| 238 |
+
<ul class="space-y-2 text-gray-400">
|
| 239 |
+
<li><a href="#" class="hover:text-purple-400 transition-colors">Terms of Service</a></li>
|
| 240 |
+
<li><a href="#" class="hover:text-purple-400 transition-colors">Privacy Policy</a></li>
|
| 241 |
+
<li><a href="#" class="hover:text-purple-400 transition-colors">Cookie Policy</a></li>
|
| 242 |
+
</ul>
|
| 243 |
+
</div>
|
| 244 |
+
|
| 245 |
+
<div>
|
| 246 |
+
<h4 class="font-semibold mb-4">Connect</h4>
|
| 247 |
+
<div class="flex space-x-4">
|
| 248 |
+
<a href="#" class="text-gray-400 hover:text-purple-400 transition-colors">
|
| 249 |
+
<i data-feather="facebook"></i>
|
| 250 |
+
</a>
|
| 251 |
+
<a href="#" class="text-gray-400 hover:text-purple-400 transition-colors">
|
| 252 |
+
<i data-feather="twitter"></i>
|
| 253 |
+
</a>
|
| 254 |
+
<a href="#" class="text-gray-400 hover:text-purple-400 transition-colors">
|
| 255 |
+
<i data-feather="instagram"></i>
|
| 256 |
+
</a>
|
| 257 |
+
<a href="#" class="text-gray-400 hover:text-purple-400 transition-colors">
|
| 258 |
+
<i data-feather="youtube"></i>
|
| 259 |
+
</a>
|
| 260 |
+
</div>
|
| 261 |
+
</div>
|
| 262 |
+
</div>
|
| 263 |
+
|
| 264 |
+
<div class="border-t border-gray-800 mt-8 pt-6 text-center text-gray-500">
|
| 265 |
+
<p>Β© 2023 NeonFlix. All rights reserved.</p>
|
| 266 |
+
</div>
|
| 267 |
+
</div>
|
| 268 |
+
</footer>
|
| 269 |
+
|
| 270 |
+
<script>
|
| 271 |
+
// Initialize libraries
|
| 272 |
+
AOS.init();
|
| 273 |
+
feather.replace();
|
| 274 |
+
|
| 275 |
+
// API integration for fetching movies
|
| 276 |
+
document.addEventListener('DOMContentLoaded', function() {
|
| 277 |
+
// Simulate API call to vidsrc.me (in a real implementation, this would be actual API calls)
|
| 278 |
+
setTimeout(() => {
|
| 279 |
+
const trendingContainer = document.getElementById('trending-movies');
|
| 280 |
+
trendingContainer.innerHTML = '';
|
| 281 |
+
|
| 282 |
+
// Sample movie data (would come from API in real implementation)
|
| 283 |
+
const movies = [
|
| 284 |
+
{ id: 1, title: "Cyber Revolution", year: 2023, rating: 8.2, poster: "http://static.photos/technology/300x450/10" },
|
| 285 |
+
{ id: 2, title: "Neon Dreams", year: 2022, rating: 7.8, poster: "http://static.photos/abstract/300x450/15" },
|
| 286 |
+
{ id: 3, title: "Digital Ghost", year: 2023, rating: 8.5, poster: "http://static.photos/scifi/300x450/20" },
|
| 287 |
+
{ id: 4, title: "Electric Shadows", year: 2022, rating: 7.9, poster: "http://static.photos/futuristic/300x450/25" },
|
| 288 |
+
{ id: 5, title: "Synthwave Runner", year: 2023, rating: 8.7, poster: "http://static.photos/cyberpunk/300x450/30" }
|
| 289 |
+
];
|
| 290 |
+
|
| 291 |
+
movies.forEach(movie => {
|
| 292 |
+
const movieCard = document.createElement('div');
|
| 293 |
+
movieCard.className = 'movie-card glass-card rounded-xl overflow-hidden cursor-pointer';
|
| 294 |
+
movieCard.innerHTML = `
|
| 295 |
+
<div class="relative">
|
| 296 |
+
<img src="${movie.poster}" alt="${movie.title}" class="w-full h-60 object-cover">
|
| 297 |
+
<div class="absolute top-2 right-2 glass-card px-2 py-1 rounded flex items-center">
|
| 298 |
+
<i data-feather="star" class="w-4 h-4 text-yellow-400 mr-1"></i>
|
| 299 |
+
<span class="text-sm font-semibold">${movie.rating}</span>
|
| 300 |
+
</div>
|
| 301 |
+
</div>
|
| 302 |
+
<div class="p-4">
|
| 303 |
+
<h3 class="font-semibold text-lg mb-1">${movie.title}</h3>
|
| 304 |
+
<p class="text-gray-400 text-sm">${movie.year}</p>
|
| 305 |
+
</div>
|
| 306 |
+
`;
|
| 307 |
+
|
| 308 |
+
movieCard.addEventListener('click', () => {
|
| 309 |
+
window.location.href = `movie.html?id=${movie.id}`;
|
| 310 |
+
});
|
| 311 |
+
|
| 312 |
+
trendingContainer.appendChild(movieCard);
|
| 313 |
+
});
|
| 314 |
+
|
| 315 |
+
feather.replace();
|
| 316 |
+
}, 1500); // Simulate loading delay
|
| 317 |
+
});
|
| 318 |
+
</script>
|
| 319 |
+
</body>
|
| 320 |
</html>
|
|
@@ -0,0 +1,200 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>Movie Details - NeonFlix</title>
|
| 7 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
+
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
|
| 9 |
+
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
|
| 10 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 11 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 12 |
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
| 13 |
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
| 14 |
+
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
| 15 |
+
<style>
|
| 16 |
+
:root {
|
| 17 |
+
--bg-dark: #0a0a0f;
|
| 18 |
+
--neon-purple: #8a2be2;
|
| 19 |
+
--neon-cyan: #00ffff;
|
| 20 |
+
--text-light: #ffffff;
|
| 21 |
+
--text-muted: #a0a0a0;
|
| 22 |
+
--glass-bg: rgba(255, 255, 255, 0.05);
|
| 23 |
+
}
|
| 24 |
+
|
| 25 |
+
body {
|
| 26 |
+
font-family: 'Poppins', sans-serif;
|
| 27 |
+
background-color: var(--bg-dark);
|
| 28 |
+
color: var(--text-light);
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
.neon-glow-purple {
|
| 32 |
+
box-shadow: 0 0 10px var(--neon-purple), 0 0 20px var(--neon-purple);
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
+
.neon-glow-cyan {
|
| 36 |
+
box-shadow: 0 0 10px var(--neon-cyan), 0 0 20px var(--neon-cyan);
|
| 37 |
+
}
|
| 38 |
+
|
| 39 |
+
.neon-border-purple {
|
| 40 |
+
border: 1px solid var(--neon-purple);
|
| 41 |
+
box-shadow: 0 0 5px var(--neon-purple), inset 0 0 5px var(--neon-purple);
|
| 42 |
+
}
|
| 43 |
+
|
| 44 |
+
.neon-border-cyan {
|
| 45 |
+
border: 1px solid var(--neon-cyan);
|
| 46 |
+
box-shadow: 0 0 5px var(--neon-cyan), inset 0 0 5px var(--neon-cyan);
|
| 47 |
+
}
|
| 48 |
+
|
| 49 |
+
.glass-card {
|
| 50 |
+
background: var(--glass-bg);
|
| 51 |
+
backdrop-filter: blur(10px);
|
| 52 |
+
-webkit-backdrop-filter: blur(10px);
|
| 53 |
+
border-radius: 12px;
|
| 54 |
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
| 55 |
+
}
|
| 56 |
+
|
| 57 |
+
.sticky-header {
|
| 58 |
+
position: sticky;
|
| 59 |
+
top: 0;
|
| 60 |
+
z-index: 50;
|
| 61 |
+
backdrop-filter: blur(10px);
|
| 62 |
+
-webkit-backdrop-filter: blur(10px);
|
| 63 |
+
background: rgba(10, 10, 15, 0.8);
|
| 64 |
+
}
|
| 65 |
+
</style>
|
| 66 |
+
</head>
|
| 67 |
+
<body class="min-h-screen">
|
| 68 |
+
<!-- Sticky Header -->
|
| 69 |
+
<header class="sticky-header border-b border-gray-800 neon-glow-purple">
|
| 70 |
+
<div class="container mx-auto px-4 py-3 flex justify-between items-center">
|
| 71 |
+
<div class="flex items-center space-x-2">
|
| 72 |
+
<a href="index.html">
|
| 73 |
+
<i data-feather="film" class="text-purple-500"></i>
|
| 74 |
+
</a>
|
| 75 |
+
<a href="index.html" class="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-purple-500 to-cyan-500">NeonFlix</a>
|
| 76 |
+
</div>
|
| 77 |
+
|
| 78 |
+
<div class="flex items-center space-x-4">
|
| 79 |
+
<a href="index.html" class="glass-card py-2 px-4 rounded-full neon-border-purple text-white hover:neon-glow-purple transition-all flex items-center">
|
| 80 |
+
<i data-feather="arrow-left" class="mr-2"></i> Back to Home
|
| 81 |
+
</a>
|
| 82 |
+
</div>
|
| 83 |
+
</div>
|
| 84 |
+
</header>
|
| 85 |
+
|
| 86 |
+
<!-- Movie Details -->
|
| 87 |
+
<main class="container mx-auto px-4 py-8">
|
| 88 |
+
<div class="flex flex-col lg:flex-row gap-8">
|
| 89 |
+
<!-- Poster -->
|
| 90 |
+
<div class="lg:w-1/3" data-aos="fade-right">
|
| 91 |
+
<img src="http://static.photos/cyberpunk/400x600/50" alt="Movie Poster" class="w-full rounded-xl neon-glow-cyan">
|
| 92 |
+
</div>
|
| 93 |
+
|
| 94 |
+
<!-- Details -->
|
| 95 |
+
<div class="lg:w-2/3" data-aos="fade-left">
|
| 96 |
+
<h1 class="text-3xl md:text-4xl font-bold mb-2">Cyber Revolution</h1>
|
| 97 |
+
<div class="flex items-center space-x-4 mb-4">
|
| 98 |
+
<div class="flex items-center glass-card px-3 py-1 rounded-full">
|
| 99 |
+
<i data-feather="star" class="w-4 h-4 text-yellow-400 mr-1"></i>
|
| 100 |
+
<span>8.2/10</span>
|
| 101 |
+
</div>
|
| 102 |
+
<span class="text-gray-400">2023</span>
|
| 103 |
+
<span class="text-gray-400">2h 15m</span>
|
| 104 |
+
<span class="text-gray-400">PG-13</span>
|
| 105 |
+
</div>
|
| 106 |
+
|
| 107 |
+
<div class="flex flex-wrap gap-2 mb-6">
|
| 108 |
+
<span class="glass-card px-3 py-1 rounded-full text-sm">Sci-Fi</span>
|
| 109 |
+
<span class="glass-card px-3 py-1 rounded-full text-sm">Action</span>
|
| 110 |
+
<span class="glass-card px-3 py-1 rounded-full text-sm">Thriller</span>
|
| 111 |
+
<span class="glass-card px-3 py-1 rounded-full text-sm">Cyberpunk</span>
|
| 112 |
+
</div>
|
| 113 |
+
|
| 114 |
+
<p class="text-gray-300 mb-8 leading-relaxed">
|
| 115 |
+
In a dystopian future where corporations rule the world and human emotions are commodified,
|
| 116 |
+
a rogue hacker discovers a revolutionary AI that could free humanity or destroy it completely.
|
| 117 |
+
With agents of the mega-corporation hunting her down, she must navigate the neon-lit underworld
|
| 118 |
+
of the digital metropolis to unlock the AI's true potential before it falls into the wrong hands.
|
| 119 |
+
</p>
|
| 120 |
+
|
| 121 |
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-8">
|
| 122 |
+
<div>
|
| 123 |
+
<h3 class="font-semibold text-purple-400 mb-2">Director</h3>
|
| 124 |
+
<p>Alexandra Chen</p>
|
| 125 |
+
</div>
|
| 126 |
+
<div>
|
| 127 |
+
<h3 class="font-semibold text-purple-400 mb-2">Cast</h3>
|
| 128 |
+
<p>Maya Rodriguez, Kenji Tanaka, Sarah Johnson, David Miller</p>
|
| 129 |
+
</div>
|
| 130 |
+
</div>
|
| 131 |
+
|
| 132 |
+
<div class="flex space-x-4">
|
| 133 |
+
<a href="player.html?id=123" class="glass-card py-3 px-8 rounded-full neon-border-cyan text-white hover:neon-glow-cyan transition-all flex items-center">
|
| 134 |
+
<i data-feather="play" class="mr-2"></i> Watch Now
|
| 135 |
+
</a>
|
| 136 |
+
<button class="glass-card py-3 px-6 rounded-full border border-gray-600 text-white hover:bg-gray-800 transition-all flex items-center">
|
| 137 |
+
<i data-feather="plus" class="mr-2"></i> Add to List
|
| 138 |
+
</button>
|
| 139 |
+
</div>
|
| 140 |
+
</div>
|
| 141 |
+
</div>
|
| 142 |
+
|
| 143 |
+
<!-- Similar Movies -->
|
| 144 |
+
<section class="mt-16">
|
| 145 |
+
<h2 class="text-2xl font-bold mb-6">Similar Movies</h2>
|
| 146 |
+
<div class="grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-4">
|
| 147 |
+
<div class="glass-card rounded-xl overflow-hidden cursor-pointer hover:neon-glow-purple transition-all">
|
| 148 |
+
<img src="http://static.photos/scifi/300x450/21" alt="Similar Movie" class="w-full h-40 object-cover">
|
| 149 |
+
<div class="p-3">
|
| 150 |
+
<h3 class="font-semibold text-sm mb-1">Neon Dreams</h3>
|
| 151 |
+
<p class="text-gray-400 text-xs">2022</p>
|
| 152 |
+
</div>
|
| 153 |
+
</div>
|
| 154 |
+
<div class="glass-card rounded-xl overflow-hidden cursor-pointer hover:neon-glow-purple transition-all">
|
| 155 |
+
<img src="http://static.photos/futuristic/300x450/26" alt="Similar Movie" class="w-full h-40 object-cover">
|
| 156 |
+
<div class="p-3">
|
| 157 |
+
<h3 class="font-semibold text-sm mb-1">Digital Ghost</h3>
|
| 158 |
+
<p class="text-gray-400 text-xs">2023</p>
|
| 159 |
+
</div>
|
| 160 |
+
</div>
|
| 161 |
+
<div class="glass-card rounded-xl overflow-hidden cursor-pointer hover:neon-glow-purple transition-all">
|
| 162 |
+
<img src="http://static.photos/technology/300x450/11" alt="Similar Movie" class="w-full h-40 object-cover">
|
| 163 |
+
<div class="p-3">
|
| 164 |
+
<h3 class="font-semibold text-sm mb-1">Electric Shadows</h3>
|
| 165 |
+
<p class="text-gray-400 text-xs">2022</p>
|
| 166 |
+
</div>
|
| 167 |
+
</div>
|
| 168 |
+
<div class="glass-card rounded-xl overflow-hidden cursor-pointer hover:neon-glow-purple transition-all">
|
| 169 |
+
<img src="http://static.photos/abstract/300x450/16" alt="Similar Movie" class="w-full h-40 object-cover">
|
| 170 |
+
<div class="p-3">
|
| 171 |
+
<h3 class="font-semibold text-sm mb-1">Synthwave Runner</h3>
|
| 172 |
+
<p class="text-gray-400 text-xs">2023</p>
|
| 173 |
+
</div>
|
| 174 |
+
</div>
|
| 175 |
+
<div class="glass-card rounded-xl overflow-hidden cursor-pointer hover:neon-glow-purple transition-all">
|
| 176 |
+
<img src="http://static.photos/cyberpunk/300x450/31" alt="Similar Movie" class="w-full h-40 object-cover">
|
| 177 |
+
<div class="p-3">
|
| 178 |
+
<h3 class="font-semibold text-sm mb-1">Data Heist</h3>
|
| 179 |
+
<p class="text-gray-400 text-xs">2023</p>
|
| 180 |
+
</div>
|
| 181 |
+
</div>
|
| 182 |
+
</div>
|
| 183 |
+
</section>
|
| 184 |
+
</main>
|
| 185 |
+
|
| 186 |
+
<script>
|
| 187 |
+
AOS.init();
|
| 188 |
+
feather.replace();
|
| 189 |
+
|
| 190 |
+
// Get movie ID from URL and fetch details (simulated)
|
| 191 |
+
document.addEventListener('DOMContentLoaded', function() {
|
| 192 |
+
const urlParams = new URLSearchParams(window.location.search);
|
| 193 |
+
const movieId = urlParams.get('id');
|
| 194 |
+
|
| 195 |
+
// In a real implementation, this would fetch from vidsrc.me API
|
| 196 |
+
console.log("Loading movie with ID:", movieId);
|
| 197 |
+
});
|
| 198 |
+
</script>
|
| 199 |
+
</body>
|
| 200 |
+
</html>
|
|
@@ -0,0 +1,148 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>Watch Movie - NeonFlix</title>
|
| 7 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
+
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
|
| 9 |
+
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
|
| 10 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 11 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 12 |
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
| 13 |
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
| 14 |
+
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
| 15 |
+
<style>
|
| 16 |
+
:root {
|
| 17 |
+
--bg-dark: #0a0a0f;
|
| 18 |
+
--neon-purple: #8a2be2;
|
| 19 |
+
--neon-cyan: #00ffff;
|
| 20 |
+
--text-light: #ffffff;
|
| 21 |
+
--text-muted: #a0a0a0;
|
| 22 |
+
--glass-bg: rgba(255, 255, 255, 0.05);
|
| 23 |
+
}
|
| 24 |
+
|
| 25 |
+
body {
|
| 26 |
+
font-family: 'Poppins', sans-serif;
|
| 27 |
+
background-color: var(--bg-dark);
|
| 28 |
+
color: var(--text-light);
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
.neon-glow-purple {
|
| 32 |
+
box-shadow: 0 0 10px var(--neon-purple), 0 0 20px var(--neon-purple);
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
+
.glass-card {
|
| 36 |
+
background: var(--glass-bg);
|
| 37 |
+
backdrop-filter: blur(10px);
|
| 38 |
+
-webkit-backdrop-filter: blur(10px);
|
| 39 |
+
border-radius: 12px;
|
| 40 |
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
| 41 |
+
}
|
| 42 |
+
|
| 43 |
+
.player-container {
|
| 44 |
+
position: relative;
|
| 45 |
+
padding-top: 56.25%; /* 16:9 Aspect Ratio */
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
.player-iframe {
|
| 49 |
+
position: absolute;
|
| 50 |
+
top: 0;
|
| 51 |
+
left: 0;
|
| 52 |
+
width: 100%;
|
| 53 |
+
height: 100%;
|
| 54 |
+
border: none;
|
| 55 |
+
}
|
| 56 |
+
</style>
|
| 57 |
+
</head>
|
| 58 |
+
<body class="min-h-screen">
|
| 59 |
+
<!-- Sticky Header -->
|
| 60 |
+
<header class="sticky top-0 z-50 backdrop-blur-md bg-gray-900/80 border-b border-gray-800 neon-glow-purple">
|
| 61 |
+
<div class="container mx-auto px-4 py-3 flex justify-between items-center">
|
| 62 |
+
<div class="flex items-center space-x-2">
|
| 63 |
+
<a href="index.html">
|
| 64 |
+
<i data-feather="film" class="text-purple-500"></i>
|
| 65 |
+
</a>
|
| 66 |
+
<a href="index.html" class="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-purple-500 to-cyan-500">NeonFlix</a>
|
| 67 |
+
</div>
|
| 68 |
+
|
| 69 |
+
<div class="flex items-center space-x-4">
|
| 70 |
+
<a href="movie.html?id=123" class="glass-card py-2 px-4 rounded-full neon-border-purple text-white hover:neon-glow-purple transition-all flex items-center">
|
| 71 |
+
<i data-feather="arrow-left" class="mr-2"></i> Back to Details
|
| 72 |
+
</a>
|
| 73 |
+
</div>
|
| 74 |
+
</div>
|
| 75 |
+
</header>
|
| 76 |
+
|
| 77 |
+
<!-- Video Player -->
|
| 78 |
+
<main class="container mx-auto px-4 py-8">
|
| 79 |
+
<div class="mb-6">
|
| 80 |
+
<h1 class="text-2xl md:text-3xl font-bold mb-2">Cyber Revolution</h1>
|
| 81 |
+
<p class="text-gray-400">You are watching: Chapter 1 - The Awakening</p>
|
| 82 |
+
</div>
|
| 83 |
+
|
| 84 |
+
<div class="player-container glass-card rounded-xl overflow-hidden mb-6">
|
| 85 |
+
<iframe class="player-iframe" src="https://vidsrc.me/embed/123" allowfullscreen></iframe>
|
| 86 |
+
</div>
|
| 87 |
+
|
| 88 |
+
<!-- Player Controls -->
|
| 89 |
+
<div class="glass-card p-4 mb-8">
|
| 90 |
+
<div class="flex justify-between items-center mb-4">
|
| 91 |
+
<h2 class="font-semibold">Chapters</h2>
|
| 92 |
+
<div class="flex items-center text-sm text-gray-400">
|
| 93 |
+
<i data-feather="clock" class="w-4 h-4 mr-1"></i>
|
| 94 |
+
<span>2:15:30 remaining</span>
|
| 95 |
+
</div>
|
| 96 |
+
</div>
|
| 97 |
+
|
| 98 |
+
<div class="grid grid-cols-2 md:grid-cols-5 gap-2">
|
| 99 |
+
<button class="py-2 px-3 rounded glass-card text-sm hover:bg-purple-900/30 transition-colors">Chapter 1</button>
|
| 100 |
+
<button class="py-2 px-3 rounded bg-gray-700 text-sm hover:bg-gray-600 transition-colors">Chapter 2</button>
|
| 101 |
+
<button class="py-2 px-3 rounded bg-gray-700 text-sm hover:bg-gray-600 transition-colors">Chapter 3</button>
|
| 102 |
+
<button class="py-2 px-3 rounded bg-gray-700 text-sm hover:bg-gray-600 transition-colors">Chapter 4</button>
|
| 103 |
+
<button class="py-2 px-3 rounded bg-gray-700 text-sm hover:bg-gray-600 transition-colors">Chapter 5</button>
|
| 104 |
+
</div>
|
| 105 |
+
</div>
|
| 106 |
+
|
| 107 |
+
<!-- Movie Info -->
|
| 108 |
+
<div class="glass-card p-6">
|
| 109 |
+
<h2 class="text-xl font-bold mb-4">About This Movie</h2>
|
| 110 |
+
<p class="text-gray-300 mb-4">
|
| 111 |
+
In a dystopian future where corporations rule the world and human emotions are commodified,
|
| 112 |
+
a rogue hacker discovers a revolutionary AI that could free humanity or destroy it completely.
|
| 113 |
+
</p>
|
| 114 |
+
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
|
| 115 |
+
<div>
|
| 116 |
+
<h3 class="font-semibold text-purple-400 mb-1">Director</h3>
|
| 117 |
+
<p class="text-sm">Alexandra Chen</p>
|
| 118 |
+
</div>
|
| 119 |
+
<div>
|
| 120 |
+
<h3 class="font-semibold text-purple-400 mb-1">Release Year</h3>
|
| 121 |
+
<p class="text-sm">2023</p>
|
| 122 |
+
</div>
|
| 123 |
+
<div>
|
| 124 |
+
<h3 class="font-semibold text-purple-400 mb-1">Duration</h3>
|
| 125 |
+
<p class="text-sm">2h 15m</p>
|
| 126 |
+
</div>
|
| 127 |
+
<div>
|
| 128 |
+
<h3 class="font-semibold text-purple-400 mb-1">Rating</h3>
|
| 129 |
+
<p class="text-sm">PG-13</p>
|
| 130 |
+
</div>
|
| 131 |
+
</div>
|
| 132 |
+
</div>
|
| 133 |
+
</main>
|
| 134 |
+
|
| 135 |
+
<script>
|
| 136 |
+
feather.replace();
|
| 137 |
+
|
| 138 |
+
// Get movie ID from URL
|
| 139 |
+
document.addEventListener('DOMContentLoaded', function() {
|
| 140 |
+
const urlParams = new URLSearchParams(window.location.search);
|
| 141 |
+
const movieId = urlParams.get('id');
|
| 142 |
+
|
| 143 |
+
// In a real implementation, this would set the iframe src to vidsrc.me/embed/{movieId}
|
| 144 |
+
console.log("Playing movie with ID:", movieId);
|
| 145 |
+
});
|
| 146 |
+
</script>
|
| 147 |
+
</body>
|
| 148 |
+
</html>
|
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
Create a fully responsive, modern movie streaming website using HTML, CSS (or TailwindCSS), and JavaScript (or React/Vue).
|
| 3 |
+
The website should fetch and stream movies using vidsrc.me and the vidsrc.me API.
|
| 4 |
+
|
| 5 |
+
π Requirements:
|
| 6 |
+
1. Design & Theme
|
| 7 |
+
β’ Dark background with purple (#8a2be2) and cyan (#00ffff) neon glow effects.
|
| 8 |
+
β’ Modern, clean UI with smooth hover animations and glassmorphism cards.
|
| 9 |
+
β’ Use Google Fonts (e.g., Poppins or Inter) for modern typography.
|
| 10 |
+
β’ Sticky neon glowing header with site logo + navigation.
|
| 11 |
+
2. Pages/Sections
|
| 12 |
+
β’ Home Page: Trending movies, featured carousel, search bar.
|
| 13 |
+
β’ Movie Detail Page: Fetch details from vidsrc.me/api/ β Show poster, title, rating, description, and watch button that embeds player.
|
| 14 |
+
β’ Video Player Page: Use the vidsrc.me/embed/ link to stream the movie.
|
| 15 |
+
β’ Optional: Categories (Popular, Top Rated, Upcoming).
|
| 16 |
+
3. API Integration
|
| 17 |
+
β’ Use https://vidsrc.me/api/ to fetch movie metadata (title, year, poster, etc.).
|
| 18 |
+
β’ Implement search function that queries API and returns results in neon-styled grid.
|
| 19 |
+
β’ On movie click β go to detail page with player embed.
|
| 20 |
+
4. UI/UX Features
|
| 21 |
+
β’ Search bar with neon glow focus.
|
| 22 |
+
β’ Movie cards with hover effect (scale + glow border).
|
| 23 |
+
β’ Responsive grid (3-5 columns desktop, 2 tablet, 1 mobile).
|
| 24 |
+
β’ Loading animations (skeleton screens).
|
| 25 |
+
5. Technical
|
| 26 |
+
β’ Framework option: Vanilla JS / React / Vue (you decide).
|
| 27 |
+
β’ Ensure itβs mobile-friendly and looks great on all screens.
|
| 28 |
+
β’ Keep code modular and easy to expand.
|
| 29 |
+
|
| 30 |
+
π¨ Example Styling Notes
|
| 31 |
+
β’ Background: #0a0a0f (deep black).
|
| 32 |
+
β’ Neon Glow Purple: #8a2be2 (for buttons, active states).
|
| 33 |
+
β’ Neon Glow Cyan: #00ffff (for highlights, borders).
|
| 34 |
+
β’ Use CSS shadows like:
|
| 35 |
+
|
| 36 |
+
box-shadow: 0 0 10px #8a2be2, 0 0 20px #00ffff;
|
| 37 |
+
|
| 38 |
+
|
| 39 |
+
β’ Buttons: Glassmorphism with glowing borders
|