Spaces:
Running
Running
Add 2 files
Browse files- index.html +232 -19
- prompts.txt +2 -1
index.html
CHANGED
@@ -42,6 +42,33 @@
|
|
42 |
object-fit: cover;
|
43 |
width: 100%;
|
44 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
</style>
|
46 |
</head>
|
47 |
<body class="bg-gray-900 min-h-screen">
|
@@ -130,7 +157,7 @@
|
|
130 |
<p class="text-gray-400 text-sm mt-1">Action, Aventure, Science-Fiction</p>
|
131 |
<div class="mt-3 flex justify-between items-center">
|
132 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 8.4</span>
|
133 |
-
<button class="text-indigo-400 hover:text-indigo-300 text-sm font-medium">
|
134 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
135 |
</button>
|
136 |
</div>
|
@@ -148,7 +175,7 @@
|
|
148 |
<p class="text-gray-400 text-sm mt-1">Science-Fiction, Aventure</p>
|
149 |
<div class="mt-3 flex justify-between items-center">
|
150 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 8.0</span>
|
151 |
-
<button class="text-indigo-400 hover:text-indigo-300 text-sm font-medium">
|
152 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
153 |
</button>
|
154 |
</div>
|
@@ -166,7 +193,7 @@
|
|
166 |
<p class="text-gray-400 text-sm mt-1">Action, Aventure, Science-Fiction</p>
|
167 |
<div class="mt-3 flex justify-between items-center">
|
168 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 8.1</span>
|
169 |
-
<button class="text-indigo-400 hover:text-indigo-300 text-sm font-medium">
|
170 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
171 |
</button>
|
172 |
</div>
|
@@ -184,7 +211,7 @@
|
|
184 |
<p class="text-gray-400 text-sm mt-1">Action, Crime, Drame</p>
|
185 |
<div class="mt-3 flex justify-between items-center">
|
186 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 7.9</span>
|
187 |
-
<button class="text-indigo-400 hover:text-indigo-300 text-sm font-medium">
|
188 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
189 |
</button>
|
190 |
</div>
|
@@ -214,7 +241,7 @@
|
|
214 |
<p class="text-gray-400 text-sm mt-1">Action, Drame</p>
|
215 |
<div class="mt-3 flex justify-between items-center">
|
216 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 8.3</span>
|
217 |
-
<button class="text-indigo-400 hover:text-indigo-300 text-sm font-medium">
|
218 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
219 |
</button>
|
220 |
</div>
|
@@ -232,7 +259,7 @@
|
|
232 |
<p class="text-gray-400 text-sm mt-1">Science-Fiction, Action, Comédie</p>
|
233 |
<div class="mt-3 flex justify-between items-center">
|
234 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 8.3</span>
|
235 |
-
<button class="text-indigo-400 hover:text-indigo-300 text-sm font-medium">
|
236 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
237 |
</button>
|
238 |
</div>
|
@@ -250,7 +277,7 @@
|
|
250 |
<p class="text-gray-400 text-sm mt-1">Action, Aventure, Drame</p>
|
251 |
<div class="mt-3 flex justify-between items-center">
|
252 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 7.4</span>
|
253 |
-
<button class="text-indigo-400 hover:text-indigo-300 text-sm font-medium">
|
254 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
255 |
</button>
|
256 |
</div>
|
@@ -268,7 +295,7 @@
|
|
268 |
<p class="text-gray-400 text-sm mt-1">Action, Aventure, Fantastique</p>
|
269 |
<div class="mt-3 flex justify-between items-center">
|
270 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 7.4</span>
|
271 |
-
<button class="text-indigo-400 hover:text-indigo-300 text-sm font-medium">
|
272 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
273 |
</button>
|
274 |
</div>
|
@@ -450,6 +477,9 @@
|
|
450 |
<i class="fas fa-play-circle text-2xl text-indigo-500"></i>
|
451 |
<span class="ml-2 text-xl font-bold">MegaStream Admin</span>
|
452 |
</div>
|
|
|
|
|
|
|
453 |
</div>
|
454 |
<div class="px-4 py-6">
|
455 |
<nav>
|
@@ -664,6 +694,16 @@
|
|
664 |
</div>
|
665 |
</div>
|
666 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
667 |
<script>
|
668 |
document.addEventListener('DOMContentLoaded', function() {
|
669 |
// Éléments du DOM
|
@@ -672,7 +712,6 @@
|
|
672 |
const adminDashboard = document.getElementById('adminDashboard');
|
673 |
const adminLoginBtn = document.getElementById('adminLoginBtn');
|
674 |
const adminLoginBtn2 = document.getElementById('adminLoginBtn2');
|
675 |
-
const closeModalBtns = document.querySelectorAll('[data-dismiss="modal"]');
|
676 |
const togglePassword = document.getElementById('togglePassword');
|
677 |
const passwordInput = document.getElementById('password');
|
678 |
const adminLoginForm = document.getElementById('adminLoginForm');
|
@@ -681,12 +720,119 @@
|
|
681 |
const submitBtn = document.getElementById('submitBtn');
|
682 |
const logoutBtn = document.getElementById('logoutBtn');
|
683 |
const sidebarToggle = document.getElementById('sidebarToggle');
|
|
|
684 |
const sidebar = document.querySelector('.admin-sidebar');
|
|
|
|
|
|
|
|
|
685 |
|
686 |
-
//
|
687 |
-
const
|
688 |
-
|
689 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
690 |
};
|
691 |
|
692 |
// Ouvrir le modal de connexion admin
|
@@ -703,17 +849,20 @@
|
|
703 |
}
|
704 |
|
705 |
// Fermer le modal de connexion admin
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
});
|
710 |
-
}
|
711 |
|
712 |
// Fermer le modal en cliquant à l'extérieur
|
713 |
-
|
714 |
if (e.target === adminLoginModal) {
|
715 |
adminLoginModal.classList.add('hidden');
|
716 |
}
|
|
|
|
|
|
|
717 |
});
|
718 |
|
719 |
// Basculer la visibilité du mot de passe
|
@@ -747,7 +896,8 @@
|
|
747 |
submitBtn.classList.add('cursor-disabled');
|
748 |
|
749 |
// Vérifier les identifiants
|
750 |
-
if (
|
|
|
751 |
// Cacher le message d'erreur s'il est visible
|
752 |
errorMessage.classList.add('hidden');
|
753 |
|
@@ -812,6 +962,69 @@
|
|
812 |
});
|
813 |
}
|
814 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
815 |
// Vérifier si l'utilisateur est déjà connecté (simulation)
|
816 |
const isLoggedIn = localStorage.getItem('adminLoggedIn');
|
817 |
if (isLoggedIn === 'true') {
|
|
|
42 |
object-fit: cover;
|
43 |
width: 100%;
|
44 |
}
|
45 |
+
.movie-modal {
|
46 |
+
display: none;
|
47 |
+
position: fixed;
|
48 |
+
top: 0;
|
49 |
+
left: 0;
|
50 |
+
width: 100%;
|
51 |
+
height: 100%;
|
52 |
+
background-color: rgba(0,0,0,0.9);
|
53 |
+
z-index: 100;
|
54 |
+
overflow-y: auto;
|
55 |
+
}
|
56 |
+
.movie-modal-content {
|
57 |
+
background: linear-gradient(135deg, #1a1a2e, #16213e);
|
58 |
+
margin: 50px auto;
|
59 |
+
padding: 30px;
|
60 |
+
max-width: 900px;
|
61 |
+
border-radius: 10px;
|
62 |
+
box-shadow: 0 0 20px rgba(0,0,0,0.5);
|
63 |
+
}
|
64 |
+
.close-modal {
|
65 |
+
position: absolute;
|
66 |
+
top: 20px;
|
67 |
+
right: 30px;
|
68 |
+
color: white;
|
69 |
+
font-size: 30px;
|
70 |
+
cursor: pointer;
|
71 |
+
}
|
72 |
</style>
|
73 |
</head>
|
74 |
<body class="bg-gray-900 min-h-screen">
|
|
|
157 |
<p class="text-gray-400 text-sm mt-1">Action, Aventure, Science-Fiction</p>
|
158 |
<div class="mt-3 flex justify-between items-center">
|
159 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 8.4</span>
|
160 |
+
<button class="view-movie-btn text-indigo-400 hover:text-indigo-300 text-sm font-medium" data-movie-id="1">
|
161 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
162 |
</button>
|
163 |
</div>
|
|
|
175 |
<p class="text-gray-400 text-sm mt-1">Science-Fiction, Aventure</p>
|
176 |
<div class="mt-3 flex justify-between items-center">
|
177 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 8.0</span>
|
178 |
+
<button class="view-movie-btn text-indigo-400 hover:text-indigo-300 text-sm font-medium" data-movie-id="2">
|
179 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
180 |
</button>
|
181 |
</div>
|
|
|
193 |
<p class="text-gray-400 text-sm mt-1">Action, Aventure, Science-Fiction</p>
|
194 |
<div class="mt-3 flex justify-between items-center">
|
195 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 8.1</span>
|
196 |
+
<button class="view-movie-btn text-indigo-400 hover:text-indigo-300 text-sm font-medium" data-movie-id="3">
|
197 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
198 |
</button>
|
199 |
</div>
|
|
|
211 |
<p class="text-gray-400 text-sm mt-1">Action, Crime, Drame</p>
|
212 |
<div class="mt-3 flex justify-between items-center">
|
213 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 7.9</span>
|
214 |
+
<button class="view-movie-btn text-indigo-400 hover:text-indigo-300 text-sm font-medium" data-movie-id="4">
|
215 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
216 |
</button>
|
217 |
</div>
|
|
|
241 |
<p class="text-gray-400 text-sm mt-1">Action, Drame</p>
|
242 |
<div class="mt-3 flex justify-between items-center">
|
243 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 8.3</span>
|
244 |
+
<button class="view-movie-btn text-indigo-400 hover:text-indigo-300 text-sm font-medium" data-movie-id="5">
|
245 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
246 |
</button>
|
247 |
</div>
|
|
|
259 |
<p class="text-gray-400 text-sm mt-1">Science-Fiction, Action, Comédie</p>
|
260 |
<div class="mt-3 flex justify-between items-center">
|
261 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 8.3</span>
|
262 |
+
<button class="view-movie-btn text-indigo-400 hover:text-indigo-300 text-sm font-medium" data-movie-id="6">
|
263 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
264 |
</button>
|
265 |
</div>
|
|
|
277 |
<p class="text-gray-400 text-sm mt-1">Action, Aventure, Drame</p>
|
278 |
<div class="mt-3 flex justify-between items-center">
|
279 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 7.4</span>
|
280 |
+
<button class="view-movie-btn text-indigo-400 hover:text-indigo-300 text-sm font-medium" data-movie-id="7">
|
281 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
282 |
</button>
|
283 |
</div>
|
|
|
295 |
<p class="text-gray-400 text-sm mt-1">Action, Aventure, Fantastique</p>
|
296 |
<div class="mt-3 flex justify-between items-center">
|
297 |
<span class="text-yellow-400"><i class="fas fa-star"></i> 7.4</span>
|
298 |
+
<button class="view-movie-btn text-indigo-400 hover:text-indigo-300 text-sm font-medium" data-movie-id="8">
|
299 |
Voir plus <i class="fas fa-chevron-right ml-1"></i>
|
300 |
</button>
|
301 |
</div>
|
|
|
477 |
<i class="fas fa-play-circle text-2xl text-indigo-500"></i>
|
478 |
<span class="ml-2 text-xl font-bold">MegaStream Admin</span>
|
479 |
</div>
|
480 |
+
<button id="closeSidebar" class="md:hidden ml-auto text-gray-400 hover:text-white">
|
481 |
+
<i class="fas fa-times"></i>
|
482 |
+
</button>
|
483 |
</div>
|
484 |
<div class="px-4 py-6">
|
485 |
<nav>
|
|
|
694 |
</div>
|
695 |
</div>
|
696 |
|
697 |
+
<!-- Modal pour afficher les détails du film -->
|
698 |
+
<div id="movieModal" class="movie-modal">
|
699 |
+
<div class="movie-modal-content">
|
700 |
+
<span class="close-modal">×</span>
|
701 |
+
<div id="movieModalContent" class="grid grid-cols-1 md:grid-cols-2 gap-8">
|
702 |
+
<!-- Le contenu sera chargé dynamiquement ici -->
|
703 |
+
</div>
|
704 |
+
</div>
|
705 |
+
</div>
|
706 |
+
|
707 |
<script>
|
708 |
document.addEventListener('DOMContentLoaded', function() {
|
709 |
// Éléments du DOM
|
|
|
712 |
const adminDashboard = document.getElementById('adminDashboard');
|
713 |
const adminLoginBtn = document.getElementById('adminLoginBtn');
|
714 |
const adminLoginBtn2 = document.getElementById('adminLoginBtn2');
|
|
|
715 |
const togglePassword = document.getElementById('togglePassword');
|
716 |
const passwordInput = document.getElementById('password');
|
717 |
const adminLoginForm = document.getElementById('adminLoginForm');
|
|
|
720 |
const submitBtn = document.getElementById('submitBtn');
|
721 |
const logoutBtn = document.getElementById('logoutBtn');
|
722 |
const sidebarToggle = document.getElementById('sidebarToggle');
|
723 |
+
const closeSidebar = document.getElementById('closeSidebar');
|
724 |
const sidebar = document.querySelector('.admin-sidebar');
|
725 |
+
const movieModal = document.getElementById('movieModal');
|
726 |
+
const closeModalBtn = document.querySelector('.close-modal');
|
727 |
+
const movieModalContent = document.getElementById('movieModalContent');
|
728 |
+
const viewMovieBtns = document.querySelectorAll('.view-movie-btn');
|
729 |
|
730 |
+
// Données des films
|
731 |
+
const movies = {
|
732 |
+
1: {
|
733 |
+
title: "Avengers: Endgame",
|
734 |
+
poster: "https://image.tmdb.org/t/p/w500/or06FN3Dka5tukK1e9sl16pB3iy.jpg",
|
735 |
+
backdrop: "https://image.tmdb.org/t/p/original/7RyHsO4yDXtBv1zUU3mTpHeQ0d5.jpg",
|
736 |
+
rating: 8.4,
|
737 |
+
year: 2019,
|
738 |
+
duration: "3h 1m",
|
739 |
+
genres: ["Action", "Aventure", "Science-Fiction"],
|
740 |
+
synopsis: "Après les événements dévastateurs d'Avengers: Infinity War, l'univers est en ruines. Avec l'aide des alliés restants, les Avengers se réunissent pour inverser l'action de Thanos et rétablir l'ordre dans l'univers.",
|
741 |
+
director: "Anthony Russo, Joe Russo",
|
742 |
+
cast: ["Robert Downey Jr.", "Chris Evans", "Mark Ruffalo", "Chris Hemsworth"],
|
743 |
+
trailer: "https://www.youtube.com/embed/TcMBFSGVi1c"
|
744 |
+
},
|
745 |
+
2: {
|
746 |
+
title: "Dune",
|
747 |
+
poster: "https://image.tmdb.org/t/p/w500/8gLhu8UFPZfH2Hv11JhTZkb9CVl.jpg",
|
748 |
+
backdrop: "https://image.tmdb.org/t/p/original/jYEW5xZkZk2WTrdbMGAPFuBqbDc.jpg",
|
749 |
+
rating: 8.0,
|
750 |
+
year: 2021,
|
751 |
+
duration: "2h 35m",
|
752 |
+
genres: ["Science-Fiction", "Aventure"],
|
753 |
+
synopsis: "Paul Atreides, un jeune homme brillant et doué, doit se rendre sur la planète la plus dangereuse de l'univers pour assurer l'avenir de sa famille et de son peuple. Alors que des forces maléfiques se déchaînent pour s'emparer d'une ressource unique capable de libérer le potentiel humain le plus grand, seul celui qui peut conquérir sa peur survivra.",
|
754 |
+
director: "Denis Villeneuve",
|
755 |
+
cast: ["Timothée Chalamet", "Rebecca Ferguson", "Oscar Isaac", "Zendaya"],
|
756 |
+
trailer: "https://www.youtube.com/embed/n9xhJrPXop4"
|
757 |
+
},
|
758 |
+
3: {
|
759 |
+
title: "Spider-Man: No Way Home",
|
760 |
+
poster: "https://image.tmdb.org/t/p/w500/1g0dhYtq4irTY1GPXvft6k4YLjm.jpg",
|
761 |
+
backdrop: "https://image.tmdb.org/t/p/original/14QbnygCuTO0vl7CAFmPf1ELZQc.jpg",
|
762 |
+
rating: 8.1,
|
763 |
+
year: 2021,
|
764 |
+
duration: "2h 28m",
|
765 |
+
genres: ["Action", "Aventure", "Science-Fiction"],
|
766 |
+
synopsis: "Pour la première fois dans l'histoire cinématographique de Spider-Man, notre héros est démasqué et ne peut plus séparer sa vie normale de ses responsabilités de super-héros. Quand il demande de l'aide au Docteur Strange, les enjeux deviennent encore plus dangereux, le forçant à découvrir ce que signifie vraiment être Spider-Man.",
|
767 |
+
director: "Jon Watts",
|
768 |
+
cast: ["Tom Holland", "Zendaya", "Benedict Cumberbatch", "Jacob Batalon"],
|
769 |
+
trailer: "https://www.youtube.com/embed/JfVOs4VSpmA"
|
770 |
+
},
|
771 |
+
4: {
|
772 |
+
title: "The Batman",
|
773 |
+
poster: "https://image.tmdb.org/t/p/w500/seyWFgGInaLqW7nOZvu0ZC95rtx.jpg",
|
774 |
+
backdrop: "https://image.tmdb.org/t/p/original/AokFVAl1JVooW1uz2V2vxNUxfit.jpg",
|
775 |
+
rating: 7.9,
|
776 |
+
year: 2022,
|
777 |
+
duration: "2h 56m",
|
778 |
+
genres: ["Action", "Crime", "Drame"],
|
779 |
+
synopsis: "Deux ans de traque dans les rues ont fait de Batman une figure de terreur à Gotham City. Lorsqu'un tueur vise l'élite de Gotham avec une série de machinations sadiques, une piste d'indices énigmatiques lance le plus grand détective du monde dans une enquête dans le milieu criminel, où il rencontre des personnages comme Catwoman, le Pingouin, Carmine Falcone et le Riddler.",
|
780 |
+
director: "Matt Reeves",
|
781 |
+
cast: ["Robert Pattinson", "Zoë Kravitz", "Paul Dano", "Colin Farrell"],
|
782 |
+
trailer: "https://www.youtube.com/embed/mqqft2x_Aa4"
|
783 |
+
},
|
784 |
+
5: {
|
785 |
+
title: "Top Gun: Maverick",
|
786 |
+
poster: "https://image.tmdb.org/t/p/w500/62HCnUTziyWcpDaBO2i1DX17ljH.jpg",
|
787 |
+
backdrop: "https://image.tmdb.org/t/p/original/AaV1YIDwk9bX3KhpAi9wZWUbuS3.jpg",
|
788 |
+
rating: 8.3,
|
789 |
+
year: 2022,
|
790 |
+
duration: "2h 11m",
|
791 |
+
genres: ["Action", "Drame"],
|
792 |
+
synopsis: "Après plus de trente ans de service comme l'un des meilleurs aviateurs de la Marine, Pete 'Maverick' Mitchell est là où il appartient, repoussant les limites en tant que pilote d'essai courageux et esquivant l'avancement de grade qui le clouerait au sol. Lorsqu'il est chargé de former un détachement de diplômés de Top Gun pour une mission spécialisée que personne n'a jamais vue, Maverick rencontre le lieutenant Bradley Bradshaw, le fils de son ami défunt, Goose.",
|
793 |
+
director: "Joseph Kosinski",
|
794 |
+
cast: ["Tom Cruise", "Miles Teller", "Jennifer Connelly", "Jon Hamm"],
|
795 |
+
trailer: "https://www.youtube.com/embed/qSqVVswa420"
|
796 |
+
},
|
797 |
+
6: {
|
798 |
+
title: "Everything Everywhere All at Once",
|
799 |
+
poster: "https://image.tmdb.org/t/p/w500/w3LxiVYdWWRvEVlg5V0E8Bryzg2.jpg",
|
800 |
+
backdrop: "https://image.tmdb.org/t/p/original/7J7H7B1oKakIhQEQb7Ytwa3hQxQ.jpg",
|
801 |
+
rating: 8.3,
|
802 |
+
year: 2022,
|
803 |
+
duration: "2h 19m",
|
804 |
+
genres: ["Science-Fiction", "Action", "Comédie"],
|
805 |
+
synopsis: "Une femme chinoise vieillissante est emportée dans une aventure folle où seule elle peut sauver le monde en explorant d'autres univers qui se connectent aux vies qu'elle aurait pu mener.",
|
806 |
+
director: "Daniel Kwan, Daniel Scheinert",
|
807 |
+
cast: ["Michelle Yeoh", "Stephanie Hsu", "Ke Huy Quan", "Jamie Lee Curtis"],
|
808 |
+
trailer: "https://www.youtube.com/embed/wxN1T1uxQ2g"
|
809 |
+
},
|
810 |
+
7: {
|
811 |
+
title: "The Northman",
|
812 |
+
poster: "https://image.tmdb.org/t/p/w500/zhLKlUaF1SEpO58ppHIAyENkwgw.jpg",
|
813 |
+
backdrop: "https://image.tmdb.org/t/p/original/cdOQk6dAGD5xQrY3ZbCUFQ1K8hN.jpg",
|
814 |
+
rating: 7.4,
|
815 |
+
year: 2022,
|
816 |
+
duration: "2h 17m",
|
817 |
+
genres: ["Action", "Aventure", "Drame"],
|
818 |
+
synopsis: "Prince Amleth est sur le point de devenir un homme quand son père est brutalement assassiné par son oncle, qui kidnappe ensuite la mère du garçon. Deux décennies plus tard, Amleth est maintenant un Viking qui a des compétences pour ravager. Un jour, il rencontre une voyante qui lui rappelle sa promesse : sauver sa mère, tuer son oncle et venger son père.",
|
819 |
+
director: "Robert Eggers",
|
820 |
+
cast: ["Alexander Skarsgård", "Nicole Kidman", "Anya Taylor-Joy", "Ethan Hawke"],
|
821 |
+
trailer: "https://www.youtube.com/embed/oMSdFM12hOw"
|
822 |
+
},
|
823 |
+
8: {
|
824 |
+
title: "Doctor Strange in the Multiverse of Madness",
|
825 |
+
poster: "https://image.tmdb.org/t/p/w500/9Gtg2DzBhmYamXBS1hKAhiwbBKS.jpg",
|
826 |
+
backdrop: "https://image.tmdb.org/t/p/original/gUNRlH66yNDH3KQY1e7iTba6zYc.jpg",
|
827 |
+
rating: 7.4,
|
828 |
+
year: 2022,
|
829 |
+
duration: "2h 6m",
|
830 |
+
genres: ["Action", "Aventure", "Fantastique"],
|
831 |
+
synopsis: "Le Docteur Strange, avec l'aide de alliés mystiques aussi bien que nouveaux et familiers, traverse les mondes mentaux hallucinants et dangereux de la Multivers pour affronter un nouvel adversaire mystérieux.",
|
832 |
+
director: "Sam Raimi",
|
833 |
+
cast: ["Benedict Cumberbatch", "Elizabeth Olsen", "Chiwetel Ejiofor", "Benedict Wong"],
|
834 |
+
trailer: "https://www.youtube.com/embed/aWzlQ2N6qqg"
|
835 |
+
}
|
836 |
};
|
837 |
|
838 |
// Ouvrir le modal de connexion admin
|
|
|
849 |
}
|
850 |
|
851 |
// Fermer le modal de connexion admin
|
852 |
+
if (closeModalBtn) {
|
853 |
+
closeModalBtn.addEventListener('click', function() {
|
854 |
+
movieModal.style.display = "none";
|
855 |
});
|
856 |
+
}
|
857 |
|
858 |
// Fermer le modal en cliquant à l'extérieur
|
859 |
+
window.addEventListener('click', function(e) {
|
860 |
if (e.target === adminLoginModal) {
|
861 |
adminLoginModal.classList.add('hidden');
|
862 |
}
|
863 |
+
if (e.target === movieModal) {
|
864 |
+
movieModal.style.display = "none";
|
865 |
+
}
|
866 |
});
|
867 |
|
868 |
// Basculer la visibilité du mot de passe
|
|
|
896 |
submitBtn.classList.add('cursor-disabled');
|
897 |
|
898 |
// Vérifier les identifiants
|
899 |
+
if ((email === "[email protected]" && password === "Admin270574@") ||
|
900 |
+
(email === "[email protected]" && password === "Admin270574@")) {
|
901 |
// Cacher le message d'erreur s'il est visible
|
902 |
errorMessage.classList.add('hidden');
|
903 |
|
|
|
962 |
});
|
963 |
}
|
964 |
|
965 |
+
if (closeSidebar && sidebar) {
|
966 |
+
closeSidebar.addEventListener('click', function() {
|
967 |
+
sidebar.classList.add('-translate-x-full');
|
968 |
+
});
|
969 |
+
}
|
970 |
+
|
971 |
+
// Gestion des clics sur les boutons "Voir plus" des films
|
972 |
+
viewMovieBtns.forEach(btn => {
|
973 |
+
btn.addEventListener('click', function() {
|
974 |
+
const movieId = this.getAttribute('data-movie-id');
|
975 |
+
showMovieDetails(movieId);
|
976 |
+
});
|
977 |
+
});
|
978 |
+
|
979 |
+
// Fonction pour afficher les détails d'un film
|
980 |
+
function showMovieDetails(movieId) {
|
981 |
+
const movie = movies[movieId];
|
982 |
+
|
983 |
+
if (!movie) return;
|
984 |
+
|
985 |
+
movieModalContent.innerHTML = `
|
986 |
+
<div>
|
987 |
+
<img src="${movie.poster}" alt="${movie.title}" class="rounded-lg shadow-lg w-full">
|
988 |
+
<div class="mt-6 flex justify-center">
|
989 |
+
<button class="bg-red-600 hover:bg-red-700 text-white px-6 py-3 rounded-lg font-bold flex items-center">
|
990 |
+
<i class="fas fa-play mr-2"></i> Regarder le film
|
991 |
+
</button>
|
992 |
+
</div>
|
993 |
+
</div>
|
994 |
+
<div>
|
995 |
+
<h2 class="text-3xl font-bold text-white">${movie.title} <span class="text-gray-400">(${movie.year})</span></h2>
|
996 |
+
<div class="flex items-center mt-2">
|
997 |
+
<span class="text-yellow-400 mr-2"><i class="fas fa-star"></i> ${movie.rating}/10</span>
|
998 |
+
<span class="text-gray-400 mx-2">•</span>
|
999 |
+
<span class="text-gray-400">${movie.duration}</span>
|
1000 |
+
<span class="text-gray-400 mx-2">•</span>
|
1001 |
+
<span class="text-gray-400">${movie.genres.join(", ")}</span>
|
1002 |
+
</div>
|
1003 |
+
|
1004 |
+
<h3 class="text-xl font-semibold text-white mt-6">Synopsis</h3>
|
1005 |
+
<p class="text-gray-300 mt-2">${movie.synopsis}</p>
|
1006 |
+
|
1007 |
+
<div class="grid grid-cols-2 gap-4 mt-6">
|
1008 |
+
<div>
|
1009 |
+
<h4 class="text-lg font-semibold text-white">Réalisateur</h4>
|
1010 |
+
<p class="text-gray-300">${movie.director}</p>
|
1011 |
+
</div>
|
1012 |
+
<div>
|
1013 |
+
<h4 class="text-lg font-semibold text-white">Distribution</h4>
|
1014 |
+
<p class="text-gray-300">${movie.cast.slice(0, 3).join(", ")}</p>
|
1015 |
+
</div>
|
1016 |
+
</div>
|
1017 |
+
|
1018 |
+
<h3 class="text-xl font-semibold text-white mt-6">Bande-annonce</h3>
|
1019 |
+
<div class="mt-4 aspect-w-16 aspect-h-9">
|
1020 |
+
<iframe width="100%" height="315" src="${movie.trailer}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen class="rounded-lg"></iframe>
|
1021 |
+
</div>
|
1022 |
+
</div>
|
1023 |
+
`;
|
1024 |
+
|
1025 |
+
movieModal.style.display = "block";
|
1026 |
+
}
|
1027 |
+
|
1028 |
// Vérifier si l'utilisateur est déjà connecté (simulation)
|
1029 |
const isLoggedIn = localStorage.getItem('adminLoggedIn');
|
1030 |
if (isLoggedIn === 'true') {
|
prompts.txt
CHANGED
@@ -5,4 +5,5 @@ je veux acces gratuite pour moi seulement administrateur : [email protected] :
|
|
5 |
les boutons ne fonctionne pas veuiller regarder
|
6 |
le paneau conection reste bloqué il est pas cliquable
|
7 |
ma connection administrateur ne menvois pas sur mon tableaus de bord , et je veux que les autre vois le site quand meme pour quil sont pousser a s'inscrire
|
8 |
-
je veux les vrais image des films
|
|
|
|
5 |
les boutons ne fonctionne pas veuiller regarder
|
6 |
le paneau conection reste bloqué il est pas cliquable
|
7 |
ma connection administrateur ne menvois pas sur mon tableaus de bord , et je veux que les autre vois le site quand meme pour quil sont pousser a s'inscrire
|
8 |
+
je veux les vrais image des films
|
9 |
+
les boutons ne fonctionne pas les films ne fonctionne pas avtiver toutes les fonctions
|