Add 2 files
Browse files- index.html +289 -858
- prompts.txt +2 -1
index.html
CHANGED
@@ -3,940 +3,371 @@
|
|
3 |
<head>
|
4 |
<meta charset="UTF-8">
|
5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
-
<title>
|
7 |
<script src="https://cdn.tailwindcss.com"></script>
|
8 |
-
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
9 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
10 |
<style>
|
11 |
:root {
|
12 |
-
--primary: #
|
13 |
-
--
|
14 |
-
--
|
15 |
-
--dark: #1e293b;
|
16 |
-
--light: #f8fafc;
|
17 |
}
|
18 |
|
19 |
body {
|
20 |
-
background:
|
21 |
color: var(--light);
|
22 |
-
|
23 |
-
font-family: 'Segoe UI', system-ui, sans-serif;
|
24 |
}
|
25 |
|
26 |
-
.
|
27 |
-
|
28 |
}
|
29 |
|
30 |
-
.
|
31 |
-
|
32 |
-
transition: all 0.3s ease;
|
33 |
-
background: rgba(30, 41, 59, 0.7);
|
34 |
-
backdrop-filter: blur(10px);
|
35 |
-
border: 1px solid rgba(59, 130, 246, 0.2);
|
36 |
}
|
37 |
|
38 |
-
.
|
39 |
-
|
40 |
-
|
41 |
-
border-color: rgba(59, 130, 246, 0.4);
|
42 |
}
|
43 |
|
44 |
-
.
|
45 |
-
|
46 |
-
overflow: hidden;
|
47 |
}
|
48 |
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
top: -50%;
|
53 |
-
left: -50%;
|
54 |
-
width: 200%;
|
55 |
-
height: 200%;
|
56 |
-
background: linear-gradient(
|
57 |
-
45deg,
|
58 |
-
transparent,
|
59 |
-
rgba(255, 255, 255, 0.1),
|
60 |
-
transparent
|
61 |
-
);
|
62 |
-
transform: rotate(45deg);
|
63 |
-
animation: shine 3s infinite;
|
64 |
-
}
|
65 |
-
|
66 |
-
@keyframes shine {
|
67 |
-
0% { transform: rotate(45deg) translate(-30%, -30%); }
|
68 |
-
100% { transform: rotate(45deg) translate(30%, 30%); }
|
69 |
-
}
|
70 |
-
|
71 |
-
.grid-ai {
|
72 |
-
display: grid;
|
73 |
-
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
74 |
-
gap: 1.5rem;
|
75 |
-
}
|
76 |
-
|
77 |
-
.dashboard-grid {
|
78 |
-
display: grid;
|
79 |
-
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
80 |
-
gap: 1.5rem;
|
81 |
-
}
|
82 |
-
|
83 |
-
.holographic-effect {
|
84 |
-
position: relative;
|
85 |
-
}
|
86 |
-
|
87 |
-
.holographic-effect::after {
|
88 |
-
content: '';
|
89 |
-
position: absolute;
|
90 |
-
top: 0;
|
91 |
-
left: 0;
|
92 |
-
right: 0;
|
93 |
-
bottom: 0;
|
94 |
-
background: linear-gradient(
|
95 |
-
135deg,
|
96 |
-
rgba(59, 130, 246, 0.1) 0%,
|
97 |
-
rgba(139, 92, 246, 0.1) 50%,
|
98 |
-
rgba(16, 185, 129, 0.1) 100%
|
99 |
-
);
|
100 |
-
z-index: -1;
|
101 |
-
border-radius: inherit;
|
102 |
-
}
|
103 |
-
|
104 |
-
.cyber-font {
|
105 |
-
font-family: 'Orbitron', 'Arial Narrow', sans-serif;
|
106 |
-
letter-spacing: 1px;
|
107 |
-
}
|
108 |
-
|
109 |
-
.pulse {
|
110 |
-
animation: pulse 2s infinite;
|
111 |
-
}
|
112 |
-
|
113 |
-
@keyframes pulse {
|
114 |
-
0%, 100% { transform: scale(1); }
|
115 |
-
50% { transform: scale(1.05); }
|
116 |
}
|
117 |
</style>
|
118 |
</head>
|
119 |
<body class="min-h-screen">
|
120 |
-
<!-- Navigation
|
121 |
-
<nav class="fixed w-full z-50 bg-
|
122 |
-
<div class="max-w-7xl mx-auto
|
123 |
-
<div class="flex items-center
|
124 |
-
<
|
125 |
-
|
126 |
-
|
127 |
-
</
|
128 |
-
<
|
129 |
-
|
130 |
-
|
131 |
-
<a href="#dashboard" class="px-3 py-2 rounded-md text-sm font-medium hover:bg-gray-700/50 transition-all">Tableau de bord</a>
|
132 |
-
<a href="#cart" class="px-3 py-2 rounded-md text-sm font-medium hover:bg-gray-700/50 transition-all">Panier</a>
|
133 |
-
</div>
|
134 |
-
</div>
|
135 |
</div>
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
</button>
|
143 |
-
</div>
|
144 |
-
</div>
|
145 |
-
<div class="-mr-2 flex md:hidden">
|
146 |
-
<button type="button" id="mobile-menu-button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-300 hover:text-white focus:outline-none">
|
147 |
-
<span class="sr-only">Menu principal</span>
|
148 |
-
<i class="fas fa-bars"></i>
|
149 |
</button>
|
150 |
</div>
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
<!-- Mobile menu -->
|
155 |
-
<div id="mobile-menu" class="hidden md:hidden">
|
156 |
-
<div class="px-2 pt-2 pb-3 space-y-1 sm:px-3">
|
157 |
-
<a href="#ai-assistants" class="block px-3 py-2 rounded-md text-base font-medium hover:bg-gray-700/50">Assistants IA</a>
|
158 |
-
<a href="#dashboard" class="block px-3 py-2 rounded-md text-base font-medium hover:bg-gray-700/50">Tableau de bord</a>
|
159 |
-
<a href="#cart" class="block px-3 py-2 rounded-md text-base font-medium hover:bg-gray-700/50">Panier</a>
|
160 |
-
</div>
|
161 |
-
<div class="pt-4 pb-3 border-t border-gray-700">
|
162 |
-
<div class="flex items-center px-5">
|
163 |
-
<div class="flex-shrink-0">
|
164 |
-
<i class="fas fa-user-circle text-2xl"></i>
|
165 |
-
</div>
|
166 |
-
<div class="ml-3">
|
167 |
-
<div id="mobile-user-status" class="text-base font-medium">Non connecté</div>
|
168 |
-
</div>
|
169 |
</div>
|
170 |
-
<div class="
|
171 |
-
<
|
172 |
-
<a href="#" id="mobile-logout-btn" class="hidden block px-3 py-2 rounded-md text-base font-medium hover:bg-gray-700/50">Déconnexion</a>
|
173 |
</div>
|
174 |
</div>
|
175 |
</div>
|
176 |
</nav>
|
177 |
|
178 |
-
<!--
|
179 |
-
<
|
180 |
-
<div class="
|
181 |
-
|
182 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
</div>
|
184 |
-
<
|
185 |
-
<div class="
|
186 |
-
<
|
187 |
-
<
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
<h3 class="text-lg leading-6 font-medium text-white cyber-font" id="modal-title">
|
193 |
-
CONNEXION ADMIN
|
194 |
-
</h3>
|
195 |
-
<div class="mt-2">
|
196 |
-
<p class="text-sm text-gray-300">
|
197 |
-
Accédez au tableau de bord administrateur
|
198 |
-
</p>
|
199 |
-
<form class="mt-4 space-y-4">
|
200 |
-
<div>
|
201 |
-
<label for="login-email" class="block text-sm font-medium text-gray-300">Email</label>
|
202 |
-
<input type="email" id="login-email" name="email" class="mt-1 focus:ring-blue-500 focus:border-blue-500 block w-full shadow-sm sm:text-sm border-gray-600 rounded-md p-2 bg-gray-700 text-white border">
|
203 |
-
</div>
|
204 |
-
<div>
|
205 |
-
<label for="login-password" class="block text-sm font-medium text-gray-300">Mot de passe</label>
|
206 |
-
<input type="password" id="login-password" name="password" class="mt-1 focus:ring-blue-500 focus:border-blue-500 block w-full shadow-sm sm:text-sm border-gray-600 rounded-md p-2 bg-gray-700 text-white border">
|
207 |
-
</div>
|
208 |
-
</form>
|
209 |
-
</div>
|
210 |
-
</div>
|
211 |
-
</div>
|
212 |
-
</div>
|
213 |
-
<div class="bg-gray-700/50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse">
|
214 |
-
<button type="button" id="confirm-login" class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 glow-button sm:ml-3 sm:w-auto sm:text-sm">
|
215 |
-
<i class="fas fa-fingerprint mr-2"></i> Authentifier
|
216 |
-
</button>
|
217 |
-
<button type="button" id="cancel-login" class="mt-3 w-full inline-flex justify-center rounded-md border border-gray-600 shadow-sm px-4 py-2 bg-gray-700 text-base font-medium text-gray-300 hover:bg-gray-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm">
|
218 |
-
Annuler
|
219 |
-
</button>
|
220 |
-
</div>
|
221 |
</div>
|
222 |
</div>
|
223 |
-
</
|
224 |
|
225 |
-
<!--
|
226 |
-
<
|
227 |
-
<div class="
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
<div class="sm:flex sm:items-start">
|
235 |
-
<div class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-purple-500/20 sm:mx-0 sm:h-10 sm:w-10">
|
236 |
-
<i class="fas fa-crown text-purple-400"></i>
|
237 |
-
</div>
|
238 |
-
<div class="mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left">
|
239 |
-
<h3 class="text-lg leading-6 font-medium text-white cyber-font" id="modal-title">
|
240 |
-
ABONNEMENT PREMIUM
|
241 |
-
</h3>
|
242 |
-
<div class="mt-2">
|
243 |
-
<p class="text-sm text-gray-300">
|
244 |
-
Débloquez l'accès à nos 990099 assistants IA
|
245 |
-
</p>
|
246 |
-
<div class="mt-4 grid grid-cols-1 gap-4">
|
247 |
-
<div class="border border-gray-700 rounded-lg p-4 hover:border-blue-500 transition-all neon-card">
|
248 |
-
<div class="flex items-center">
|
249 |
-
<input id="monthly-plan" name="subscription-plan" type="radio" checked class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-600 bg-gray-700">
|
250 |
-
<label for="monthly-plan" class="ml-3 block">
|
251 |
-
<span class="font-medium text-white">Abonnement Mensuel</span>
|
252 |
-
<span class="block text-sm text-gray-300">49.99€/mois - Accès illimité</span>
|
253 |
-
</label>
|
254 |
-
</div>
|
255 |
-
</div>
|
256 |
-
<div class="border border-gray-700 rounded-lg p-4 hover:border-purple-500 transition-all neon-card">
|
257 |
-
<div class="flex items-center">
|
258 |
-
<input id="yearly-plan" name="subscription-plan" type="radio" class="h-4 w-4 text-purple-600 focus:ring-purple-500 border-gray-600 bg-gray-700">
|
259 |
-
<label for="yearly-plan" class="ml-3 block">
|
260 |
-
<span class="font-medium text-white">Abonnement Annuel</span>
|
261 |
-
<span class="block text-sm text-gray-300">499.99€/an (41.66€/mois) - Économisez 20%</span>
|
262 |
-
</label>
|
263 |
-
</div>
|
264 |
-
</div>
|
265 |
-
</div>
|
266 |
-
</div>
|
267 |
-
</div>
|
268 |
</div>
|
269 |
</div>
|
270 |
-
|
271 |
-
<button type="button" id="confirm-subscribe" class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-purple-600 text-base font-medium text-white hover:bg-purple-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-purple-500 glow-button sm:ml-3 sm:w-auto sm:text-sm">
|
272 |
-
<i class="fas fa-lock-open mr-2"></i> S'abonner
|
273 |
-
</button>
|
274 |
-
<button type="button" id="cancel-subscribe" class="mt-3 w-full inline-flex justify-center rounded-md border border-gray-600 shadow-sm px-4 py-2 bg-gray-700 text-base font-medium text-gray-300 hover:bg-gray-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm">
|
275 |
-
Annuler
|
276 |
-
</button>
|
277 |
-
</div>
|
278 |
-
</div>
|
279 |
-
</div>
|
280 |
-
</div>
|
281 |
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
<span class="block text-blue-400">990,099 ASSISTANTS IA</span>
|
289 |
-
</h1>
|
290 |
-
<p class="mt-3 max-w-md mx-auto text-base text-gray-300 sm:text-lg md:mt-5 md:text-xl md:max-w-3xl">
|
291 |
-
La plus grande plateforme d'intelligence artificielle au monde couvrant tous les domaines de services.
|
292 |
-
</p>
|
293 |
-
<div class="mt-5 max-w-md mx-auto sm:flex sm:justify-center md:mt-8">
|
294 |
-
<div class="rounded-md shadow">
|
295 |
-
<button id="subscribe-btn" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 md:py-4 md:text-lg md:px-10 transition-all pulse">
|
296 |
-
<i class="fas fa-crown mr-2"></i> S'abonner Maintenant
|
297 |
-
</button>
|
298 |
-
</div>
|
299 |
-
<div class="mt-3 rounded-md shadow sm:mt-0 sm:ml-3">
|
300 |
-
<a href="#ai-assistants" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-blue-600 bg-white hover:bg-gray-100 md:py-4 md:text-lg md:px-10 transition-all">
|
301 |
-
<i class="fas fa-robot mr-2"></i> Explorer les IA
|
302 |
-
</a>
|
303 |
</div>
|
304 |
</div>
|
305 |
-
</
|
306 |
-
</div>
|
307 |
-
</div>
|
308 |
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
<p class="mt-3 max-w-2xl mx-auto text-xl text-gray-300 sm:mt-4">
|
316 |
-
Choisissez parmi nos 990,099 intelligences artificielles spécialisées
|
317 |
-
</p>
|
318 |
-
</div>
|
319 |
-
|
320 |
-
<div class="grid-ai" id="ai-container">
|
321 |
-
<!-- AI assistants will be dynamically loaded here -->
|
322 |
-
</div>
|
323 |
-
|
324 |
-
<div class="mt-12 text-center">
|
325 |
-
<button id="load-more-ai" class="px-6 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 transition-all glow-button">
|
326 |
-
<i class="fas fa-plus-circle mr-2"></i> Charger plus d'IA
|
327 |
-
</button>
|
328 |
-
</div>
|
329 |
-
</section>
|
330 |
-
|
331 |
-
<!-- Dashboard Section futuriste -->
|
332 |
-
<section id="dashboard" class="py-12 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto mt-12">
|
333 |
-
<div class="bg-gray-800/50 rounded-xl p-8 neon-card">
|
334 |
-
<div class="text-center mb-12">
|
335 |
-
<h2 class="text-3xl font-extrabold tracking-tight sm:text-4xl cyber-font neon-text">
|
336 |
-
TABLEAU DE BORD ADMIN
|
337 |
-
</h2>
|
338 |
-
<p class="mt-3 max-w-2xl mx-auto text-xl text-gray-300 sm:mt-4">
|
339 |
-
Gérez vos paiements et vos abonnements
|
340 |
-
</p>
|
341 |
-
</div>
|
342 |
-
|
343 |
-
<div class="dashboard-grid">
|
344 |
-
<!-- Payment Methods -->
|
345 |
-
<div class="bg-gray-800/30 rounded-lg p-6 neon-card">
|
346 |
-
<h3 class="text-xl font-semibold mb-4 cyber-font text-blue-400">MÉTHODES DE PAIEMENT</h3>
|
347 |
-
|
348 |
-
<div class="space-y-4">
|
349 |
-
<div class="flex items-center justify-between p-4 bg-gray-800/50 rounded-lg neon-card">
|
350 |
-
<div class="flex items-center">
|
351 |
-
<i class="fab fa-cc-paypal text-3xl text-blue-500 mr-3"></i>
|
352 |
-
<div>
|
353 |
-
<h4 class="font-medium">PayPal</h4>
|
354 |
-
<p class="text-sm text-gray-300">Paiements sécurisés via PayPal</p>
|
355 |
-
<p class="text-xs text-blue-300 mt-1">[email protected]</p>
|
356 |
-
</div>
|
357 |
-
</div>
|
358 |
-
<button onclick="window.open('https://www.paypal.com/paypalme/vgpbavol', '_blank')" class="px-4 py-2 bg-blue-600 text-white text-sm font-medium rounded-md hover:bg-blue-700 transition-all glow-button">
|
359 |
-
<i class="fab fa-cc-paypal mr-2"></i> Payer
|
360 |
-
</button>
|
361 |
-
</div>
|
362 |
-
|
363 |
-
<div class="flex items-center justify-between p-4 bg-gray-800/50 rounded-lg neon-card">
|
364 |
-
<div class="flex items-center">
|
365 |
-
<i class="fab fa-cc-stripe text-3xl text-purple-500 mr-3"></i>
|
366 |
-
<div>
|
367 |
-
<h4 class="font-medium">Stripe</h4>
|
368 |
-
<p class="text-sm text-gray-300">Paiements par carte bancaire</p>
|
369 |
-
<p class="text-xs text-purple-300 mt-1">[email protected]</p>
|
370 |
-
</div>
|
371 |
-
</div>
|
372 |
-
<button onclick="window.open('https://buy.stripe.com/test_14k6rD5JZ3mD4OQ6oo', '_blank')" class="px-4 py-2 bg-purple-600 text-white text-sm font-medium rounded-md hover:bg-purple-700 transition-all glow-button">
|
373 |
-
<i class="fab fa-cc-stripe mr-2"></i> Payer
|
374 |
-
</button>
|
375 |
-
</div>
|
376 |
</div>
|
377 |
</div>
|
|
|
378 |
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
<div class="
|
384 |
-
|
385 |
-
<p class="text-sm text-gray-300">Revenus Totaux</p>
|
386 |
-
<p class="text-2xl font-bold text-blue-400" id="total-revenue">2,845.50€</p>
|
387 |
-
</div>
|
388 |
-
<div class="bg-gray-800/50 p-4 rounded-lg neon-card">
|
389 |
-
<p class="text-sm text-gray-300">Paiements ce mois</p>
|
390 |
-
<p class="text-2xl font-bold text-purple-400" id="monthly-revenue">725.97€</p>
|
391 |
-
</div>
|
392 |
</div>
|
393 |
-
|
394 |
-
<canvas id="paymentChart" height="200" class="w-full"></canvas>
|
395 |
-
</div>
|
396 |
-
</div>
|
397 |
-
|
398 |
-
<!-- Recent Payments -->
|
399 |
-
<div class="mt-8 bg-gray-800/30 rounded-lg p-6 neon-card">
|
400 |
-
<h3 class="text-xl font-semibold mb-4 cyber-font text-green-400">PAIEMENTS RÉCENTS</h3>
|
401 |
-
|
402 |
-
<div class="overflow-x-auto">
|
403 |
-
<table class="min-w-full divide-y divide-gray-700">
|
404 |
-
<thead class="bg-gray-800/50">
|
405 |
-
<tr>
|
406 |
-
<th class="px-6 py-3 text-left text-xs font-medium text-gray-300 uppercase tracking-wider">Date</th>
|
407 |
-
<th class="px-6 py-3 text-left text-xs font-medium text-gray-300 uppercase tracking-wider">Service</th>
|
408 |
-
<th class="px-6 py-3 text-left text-xs font-medium text-gray-300 uppercase tracking-wider">Montant</th>
|
409 |
-
<th class="px-6 py-3 text-left text-xs font-medium text-gray-300 uppercase tracking-wider">Méthode</th>
|
410 |
-
<th class="px-6 py-3 text-left text-xs font-medium text-gray-300 uppercase tracking-wider">Statut</th>
|
411 |
-
</tr>
|
412 |
-
</thead>
|
413 |
-
<tbody class="bg-gray-800/20 divide-y divide-gray-700" id="recent-payments">
|
414 |
-
<!-- Payments will be loaded here -->
|
415 |
-
</tbody>
|
416 |
-
</table>
|
417 |
-
</div>
|
418 |
-
</div>
|
419 |
-
</div>
|
420 |
-
</section>
|
421 |
-
|
422 |
-
<!-- Cart Section futuriste -->
|
423 |
-
<section id="cart" class="py-12 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto mt-12">
|
424 |
-
<div class="bg-gray-800/50 rounded-xl p-8 neon-card">
|
425 |
-
<h2 class="text-3xl font-extrabold tracking-tight mb-8 cyber-font neon-text">
|
426 |
-
<i class="fas fa-shopping-cart mr-3"></i> VOTRE PANIER
|
427 |
-
</h2>
|
428 |
-
|
429 |
-
<div id="cart-items" class="space-y-4">
|
430 |
-
<!-- Cart items will be added here dynamically -->
|
431 |
-
<p class="text-center text-gray-300" id="empty-cart-message">Votre panier est empty</p>
|
432 |
-
</div>
|
433 |
-
|
434 |
-
<div class="mt-8 border-t border-gray-700 pt-6">
|
435 |
-
<div class="flex justify-between">
|
436 |
-
<span class="text-xl font-medium text-gray-300">Total</span>
|
437 |
-
<span id="cart-total" class="text-xl font-bold text-blue-400">0.00€</span>
|
438 |
-
</div>
|
439 |
-
|
440 |
-
<div class="mt-6 grid grid-cols-1 gap-4 sm:grid-cols-2">
|
441 |
-
<button onclick="window.open('https://www.paypal.com/paypalme/vgpbavol', '_blank')" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 transition-all glow-button">
|
442 |
-
<i class="fab fa-cc-paypal mr-2"></i> Payer avec PayPal
|
443 |
-
</button>
|
444 |
-
<button onclick="window.open('https://buy.stripe.com/test_14k6rD5JZ3mD4OQ6oo', '_blank')" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-purple-600 hover:bg-purple-700 transition-all glow-button">
|
445 |
-
<i class="fab fa-cc-stripe mr-2"></i> Payer avec Stripe
|
446 |
-
</button>
|
447 |
</div>
|
448 |
-
</
|
449 |
</div>
|
450 |
-
</
|
451 |
|
452 |
-
<!-- Footer
|
453 |
-
<footer class="bg-gray-
|
454 |
-
<div class="max-w-7xl mx-auto
|
455 |
-
<div class="
|
456 |
-
<div>
|
457 |
-
<h3 class="text-
|
458 |
-
<
|
459 |
-
<
|
460 |
-
<
|
461 |
-
<
|
462 |
-
|
463 |
-
|
464 |
-
<div>
|
465 |
-
<h3 class="text-sm font-semibold uppercase tracking-wider text-gray-400">Support</h3>
|
466 |
-
<ul class="mt-4 space-y-2">
|
467 |
-
<li><a href="#" class="text-gray-300 hover:text-white">Centre d'aide</a></li>
|
468 |
-
<li><a href="#" class="text-gray-300 hover:text-white">Contact</a></li>
|
469 |
-
<li><a href="#" class="text-gray-300 hover:text-white">FAQ</a></li>
|
470 |
-
</ul>
|
471 |
-
</div>
|
472 |
-
<div>
|
473 |
-
<h3 class="text-sm font-semibold uppercase tracking-wider text-gray-400">Entreprise</h3>
|
474 |
-
<ul class="mt-4 space-y-2">
|
475 |
-
<li><a href="#" class="text-gray-300 hover:text-white">À propos</a></li>
|
476 |
-
<li><a href="#" class="text-gray-300 hover:text-white">Blog</a></li>
|
477 |
-
<li><a href="#" class="text-gray-300 hover:text-white">Carrières</a></li>
|
478 |
-
</ul>
|
479 |
</div>
|
480 |
-
<div>
|
481 |
-
<
|
482 |
-
|
483 |
-
<
|
484 |
-
|
485 |
-
|
486 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
</div>
|
488 |
</div>
|
489 |
-
<div class="
|
490 |
-
<p
|
491 |
-
© 2023 Mega AI Market. Tous droits réservés.
|
492 |
-
</p>
|
493 |
-
<div class="mt-4 flex space-x-6">
|
494 |
-
<a href="#" class="text-gray-400 hover:text-white">
|
495 |
-
<i class="fab fa-facebook-f"></i>
|
496 |
-
</a>
|
497 |
-
<a href="#" class="text-gray-400 hover:text-white">
|
498 |
-
<i class="fab fa-twitter"></i>
|
499 |
-
</a>
|
500 |
-
<a href="#" class="text-gray-400 hover:text-white">
|
501 |
-
<i class="fab fa-instagram"></i>
|
502 |
-
</a>
|
503 |
-
<a href="#" class="text-gray-400 hover:text-white">
|
504 |
-
<i class="fab fa-linkedin-in"></i>
|
505 |
-
</a>
|
506 |
-
</div>
|
507 |
</div>
|
508 |
</div>
|
509 |
</footer>
|
510 |
|
511 |
<script>
|
512 |
-
//
|
513 |
-
const
|
514 |
-
{
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
}
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
const password = document.getElementById('login-password').value;
|
578 |
-
|
579 |
-
if (!email || !password) {
|
580 |
-
alert('Veuillez remplir tous les champs');
|
581 |
-
return;
|
582 |
-
}
|
583 |
-
|
584 |
-
// Check if it's an admin account
|
585 |
-
const isAdmin = adminAccounts.some(account =>
|
586 |
-
account.email === email && account.password === password
|
587 |
-
);
|
588 |
-
|
589 |
-
if (isAdmin) {
|
590 |
-
localStorage.setItem('loggedIn', 'true');
|
591 |
-
localStorage.setItem('isAdmin', 'true');
|
592 |
-
localStorage.setItem('userEmail', email);
|
593 |
-
|
594 |
-
updateUserStatus();
|
595 |
-
document.getElementById('login-modal').classList.add('hidden');
|
596 |
-
|
597 |
-
alert('Bienvenue Administrateur! Vous avez accès à tous les assistants IA gratuitement.');
|
598 |
-
} else {
|
599 |
-
// For regular users, show subscription modal
|
600 |
-
localStorage.setItem('loggedIn', 'true');
|
601 |
-
localStorage.setItem('isAdmin', 'false');
|
602 |
-
localStorage.setItem('userEmail', email);
|
603 |
-
|
604 |
-
updateUserStatus();
|
605 |
-
document.getElementById('login-modal').classList.add('hidden');
|
606 |
-
|
607 |
-
// Show subscription modal for regular users
|
608 |
-
document.getElementById('subscribe-modal').classList.remove('hidden');
|
609 |
-
}
|
610 |
-
});
|
611 |
-
|
612 |
-
// Subscription modal
|
613 |
-
document.getElementById('subscribe-btn').addEventListener('click', function() {
|
614 |
-
if (!localStorage.getItem('loggedIn')) {
|
615 |
-
document.getElementById('login-modal').classList.remove('hidden');
|
616 |
-
} else if (localStorage.getItem('isAdmin') === 'true') {
|
617 |
-
alert('Vous êtes administrateur, vous avez déjà accès à tous les assistants IA gratuitement.');
|
618 |
-
} else {
|
619 |
-
document.getElementById('subscribe-modal').classList.remove('hidden');
|
620 |
-
}
|
621 |
-
});
|
622 |
-
|
623 |
-
document.getElementById('cancel-subscribe').addEventListener('click', function() {
|
624 |
-
document.getElementById('subscribe-modal').classList.add('hidden');
|
625 |
-
});
|
626 |
-
|
627 |
-
document.getElementById('confirm-subscribe').addEventListener('click', function() {
|
628 |
-
const plan = document.querySelector('input[name="subscription-plan"]:checked').id;
|
629 |
-
const price = plan === 'monthly-plan' ? '49.99€/mois' : '499.99€/an';
|
630 |
-
|
631 |
-
localStorage.setItem('subscribed', 'true');
|
632 |
-
localStorage.setItem('subscriptionPlan', plan);
|
633 |
-
|
634 |
-
document.getElementById('subscribe-modal').classList.add('hidden');
|
635 |
-
alert(`Merci pour votre abonnement ${price}! Vous avez maintenant accès à tous les assistants IA.`);
|
636 |
-
|
637 |
-
updateUserStatus();
|
638 |
-
});
|
639 |
-
|
640 |
-
// Logout functionality
|
641 |
-
document.getElementById('mobile-logout-btn').addEventListener('click', function(e) {
|
642 |
-
e.preventDefault();
|
643 |
-
logout();
|
644 |
-
});
|
645 |
-
|
646 |
-
function logout() {
|
647 |
-
localStorage.removeItem('loggedIn');
|
648 |
-
localStorage.removeItem('isAdmin');
|
649 |
-
localStorage.removeItem('userEmail');
|
650 |
-
localStorage.removeItem('subscribed');
|
651 |
-
localStorage.removeItem('subscriptionPlan');
|
652 |
-
|
653 |
-
updateUserStatus();
|
654 |
-
|
655 |
-
alert('Vous avez été déconnecté avec succès.');
|
656 |
-
}
|
657 |
-
|
658 |
-
function updateUserStatus() {
|
659 |
-
const isLoggedIn = localStorage.getItem('loggedIn') === 'true';
|
660 |
-
const isAdmin = localStorage.getItem('isAdmin') === 'true';
|
661 |
-
const isSubscribed = localStorage.getItem('subscribed') === 'true';
|
662 |
-
const userEmail = localStorage.getItem('userEmail');
|
663 |
-
|
664 |
-
if (isLoggedIn) {
|
665 |
-
let statusText = isAdmin ? 'Admin' : (isSubscribed ? 'Abonné' : 'Connecté');
|
666 |
-
statusText += ` (${userEmail})`;
|
667 |
-
|
668 |
-
document.getElementById('user-status').textContent = statusText;
|
669 |
-
document.getElementById('user-status').classList.remove('hidden');
|
670 |
-
document.getElementById('mobile-user-status').textContent = statusText;
|
671 |
-
|
672 |
-
document.getElementById('mobile-login-btn').classList.add('hidden');
|
673 |
-
document.getElementById('mobile-logout-btn').classList.remove('hidden');
|
674 |
-
} else {
|
675 |
-
document.getElementById('user-status').textContent = 'Non connecté';
|
676 |
-
document.getElementById('mobile-user-status').textContent = 'Non connecté';
|
677 |
-
|
678 |
-
document.getElementById('mobile-login-btn').classList.remove('hidden');
|
679 |
-
document.getElementById('mobile-logout-btn').classList.add('hidden');
|
680 |
}
|
681 |
-
|
682 |
|
683 |
-
//
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
alert('En tant qu\'administrateur, vous avez accès gratuit à cet assistant IA.');
|
696 |
-
return;
|
697 |
-
}
|
698 |
-
|
699 |
-
// Check if user is subscribed
|
700 |
-
if (localStorage.getItem('subscribed') !== 'true') {
|
701 |
-
document.getElementById('subscribe-modal').classList.remove('hidden');
|
702 |
-
return;
|
703 |
-
}
|
704 |
-
|
705 |
-
const existingItem = cart.find(item => item.id === id);
|
706 |
-
|
707 |
-
if (existingItem) {
|
708 |
-
existingItem.quantity += 1;
|
709 |
-
} else {
|
710 |
-
cart.push({
|
711 |
-
id,
|
712 |
-
name,
|
713 |
-
price,
|
714 |
-
quantity: 1
|
715 |
-
});
|
716 |
-
}
|
717 |
-
|
718 |
-
updateCartDisplay();
|
719 |
-
}
|
720 |
-
|
721 |
-
function removeFromCart(id) {
|
722 |
-
cart = cart.filter(item => item.id !== id);
|
723 |
-
updateCartDisplay();
|
724 |
-
}
|
725 |
-
|
726 |
-
function updateCartDisplay() {
|
727 |
-
const cartItemsContainer = document.getElementById('cart-items');
|
728 |
-
const emptyCartMessage = document.getElementById('empty-cart-message');
|
729 |
-
const cartTotal = document.getElementById('cart-total');
|
730 |
-
|
731 |
-
if (cart.length === 0) {
|
732 |
-
emptyCartMessage.classList.remove('hidden');
|
733 |
-
cartItemsContainer.innerHTML = '';
|
734 |
-
cartTotal.textContent = '0.00€';
|
735 |
-
return;
|
736 |
}
|
737 |
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
total += item.price * item.quantity;
|
745 |
-
|
746 |
-
itemsHTML += `
|
747 |
-
<div class="flex items-center justify-between p-4 bg-gray-800/50 rounded-lg neon-card">
|
748 |
-
<div>
|
749 |
-
<h4 class="font-medium">${item.name}</h4>
|
750 |
-
<p class="text-sm text-gray-300">${item.price.toFixed(2)}€ x ${item.quantity}</p>
|
751 |
-
</div>
|
752 |
-
<div class="flex items-center">
|
753 |
-
<span class="font-medium mr-4 text-blue-400">${(item.price * item.quantity).toFixed(2)}€</span>
|
754 |
-
<button onclick="removeFromCart('${item.id}')" class="p-1 text-red-400 hover:text-red-300">
|
755 |
-
<i class="fas fa-trash"></i>
|
756 |
-
</button>
|
757 |
</div>
|
758 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
759 |
`;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
760 |
});
|
761 |
|
762 |
-
|
763 |
-
cartTotal.textContent = total.toFixed(2) + '€';
|
764 |
}
|
765 |
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
// Update dashboard
|
781 |
-
updateDashboard();
|
782 |
-
}
|
783 |
-
|
784 |
-
function updateDashboard() {
|
785 |
-
const payments = JSON.parse(localStorage.getItem('recentPayments') || '[]');
|
786 |
-
|
787 |
-
// Update recent payments table
|
788 |
-
const paymentsContainer = document.getElementById('recent-payments');
|
789 |
-
paymentsContainer.innerHTML = '';
|
790 |
-
|
791 |
-
payments.slice(0, 5).forEach(payment => {
|
792 |
-
paymentsContainer.innerHTML += `
|
793 |
-
<tr>
|
794 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm">${payment.date}</td>
|
795 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm">${payment.service}</td>
|
796 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm">${payment.amount}</td>
|
797 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm">
|
798 |
-
<span class="flex items-center">
|
799 |
-
<i class="fab fa-cc-${payment.method.toLowerCase()} text-${payment.method === 'PayPal' ? 'blue' : 'purple'}-400 mr-2"></i> ${payment.method}
|
800 |
-
</span>
|
801 |
-
</td>
|
802 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm">
|
803 |
-
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-900 text-green-300">
|
804 |
-
${payment.status}
|
805 |
-
</span>
|
806 |
-
</td>
|
807 |
-
</tr>
|
808 |
-
`;
|
809 |
});
|
810 |
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
.filter(p => new Date(p.date).getMonth() === new Date().getMonth())
|
815 |
-
.reduce((sum, payment) => sum + parseFloat(payment.amount), 0);
|
816 |
-
|
817 |
-
document.getElementById('total-revenue').textContent = totalRevenue.toFixed(2) + '€';
|
818 |
-
document.getElementById('monthly-revenue').textContent = monthlyRevenue.toFixed(2) + '€';
|
819 |
-
}
|
820 |
-
|
821 |
-
// Load more AIs
|
822 |
-
document.getElementById('load-more-ai').addEventListener('click', function() {
|
823 |
-
loadAIs();
|
824 |
-
});
|
825 |
-
|
826 |
-
function loadAIs() {
|
827 |
-
const aiContainer = document.getElementById('ai-container');
|
828 |
-
const end = Math.min(displayedAIs + AIsPerLoad, allAIs.length);
|
829 |
-
|
830 |
-
for (let i = displayedAIs; i < end; i++) {
|
831 |
-
const ai = allAIs[i];
|
832 |
-
aiContainer.innerHTML += `
|
833 |
-
<div class="neon-card p-6 rounded-lg relative">
|
834 |
-
<div class="flex items-center mb-4">
|
835 |
-
<div class="flex-shrink-0 bg-blue-500/20 rounded-full p-3">
|
836 |
-
<i class="fas fa-${ai.icon} text-blue-400"></i>
|
837 |
-
</div>
|
838 |
-
<div class="ml-4">
|
839 |
-
<h3 class="text-lg font-medium text-white">${ai.name}</h3>
|
840 |
-
<p class="text-sm text-blue-300">${ai.category}</p>
|
841 |
-
</div>
|
842 |
-
</div>
|
843 |
-
<p class="text-gray-300 text-sm mb-4">${ai.description}</p>
|
844 |
-
<div class="flex items-center justify-between">
|
845 |
-
<span class="font-bold text-blue-400">${ai.price.toFixed(2)}€</span>
|
846 |
-
<div class="flex space-x-2">
|
847 |
-
<button onclick="addToCart('${ai.name}', ${ai.price}, '${ai.id}')" class="px-3 py-1 bg-blue-600 text-white text-xs font-medium rounded hover:bg-blue-700 transition-all ${localStorage.getItem('isAdmin') === 'true' ? 'hidden' : ''}">
|
848 |
-
<i class="fas fa-cart-plus mr-1"></i> Ajouter
|
849 |
-
</button>
|
850 |
-
<button onclick="window.open('${ai.url}', '_blank', 'width=800,height=600')" class="px-3 py-1 bg-gray-700 text-white text-xs font-medium rounded hover:bg-gray-600 transition-all">
|
851 |
-
<i class="fas fa-external-link-alt mr-1"></i> Détails
|
852 |
-
</button>
|
853 |
-
<button onclick="window.open('${ai.url}', '_blank', 'width=800,height=600')" class="px-3 py-1 bg-green-600 text-white text-xs font-medium rounded hover:bg-green-700 transition-all ${localStorage.getItem('isAdmin') === 'true' ? '' : 'hidden'}">
|
854 |
-
<i class="fas fa-unlock mr-1"></i> Accéder
|
855 |
-
</button>
|
856 |
-
</div>
|
857 |
-
</div>
|
858 |
-
</div>
|
859 |
-
`;
|
860 |
-
}
|
861 |
-
|
862 |
-
displayedAIs = end;
|
863 |
-
|
864 |
-
if (displayedAIs >= allAIs.length) {
|
865 |
-
document.getElementById('load-more-ai').classList.add('hidden');
|
866 |
-
}
|
867 |
-
}
|
868 |
-
|
869 |
-
// Initialize
|
870 |
-
document.addEventListener('DOMContentLoaded', function() {
|
871 |
-
// Initialize user status
|
872 |
-
updateUserStatus();
|
873 |
|
874 |
-
//
|
875 |
-
|
|
|
|
|
876 |
|
877 |
-
|
878 |
-
|
879 |
-
const chart = new Chart(ctx, {
|
880 |
-
type: 'line',
|
881 |
-
data: {
|
882 |
-
labels: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Juin'],
|
883 |
-
datasets: [{
|
884 |
-
label: 'Revenus (€)',
|
885 |
-
data: [520, 750, 980, 1020, 1250, 1590],
|
886 |
-
backgroundColor: 'rgba(59, 130, 246, 0.2)',
|
887 |
-
borderColor: 'rgba(59, 130, 246, 1)',
|
888 |
-
borderWidth: 2,
|
889 |
-
tension: 0.4,
|
890 |
-
fill: true
|
891 |
-
}]
|
892 |
-
},
|
893 |
-
options: {
|
894 |
-
responsive: true,
|
895 |
-
plugins: {
|
896 |
-
legend: {
|
897 |
-
display: false
|
898 |
-
}
|
899 |
-
},
|
900 |
-
scales: {
|
901 |
-
y: {
|
902 |
-
beginAtZero: true,
|
903 |
-
grid: {
|
904 |
-
color: 'rgba(255, 255, 255, 0.1)'
|
905 |
-
},
|
906 |
-
ticks: {
|
907 |
-
color: 'rgba(255, 255, 255, 0.7)'
|
908 |
-
}
|
909 |
-
},
|
910 |
-
x: {
|
911 |
-
grid: {
|
912 |
-
color: 'rgba(255, 255, 255, 0.1)'
|
913 |
-
},
|
914 |
-
ticks: {
|
915 |
-
color: 'rgba(255, 255, 255, 0.7)'
|
916 |
-
}
|
917 |
-
}
|
918 |
-
}
|
919 |
-
}
|
920 |
});
|
921 |
|
922 |
-
//
|
923 |
-
|
|
|
924 |
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
};
|
931 |
-
}
|
932 |
});
|
933 |
|
934 |
-
|
935 |
-
if (
|
936 |
-
|
937 |
-
|
938 |
-
window.open(link.href, '_blank', 'width=800,height=600');
|
939 |
-
};
|
940 |
}
|
941 |
});
|
942 |
});
|
|
|
3 |
<head>
|
4 |
<meta charset="UTF-8">
|
5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>StreamFlix - Films et Séries en Streaming</title>
|
7 |
<script src="https://cdn.tailwindcss.com"></script>
|
|
|
8 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
9 |
<style>
|
10 |
:root {
|
11 |
+
--primary: #e50914;
|
12 |
+
--dark: #141414;
|
13 |
+
--light: #f5f5f1;
|
|
|
|
|
14 |
}
|
15 |
|
16 |
body {
|
17 |
+
background-color: var(--dark);
|
18 |
color: var(--light);
|
19 |
+
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
|
20 |
}
|
21 |
|
22 |
+
.hero-gradient {
|
23 |
+
background: linear-gradient(to top, rgba(20, 20, 20, 1) 0%, rgba(20, 20, 20, 0.6) 60%, rgba(20, 20, 20, 0.3) 100%);
|
24 |
}
|
25 |
|
26 |
+
.scroll-hide::-webkit-scrollbar {
|
27 |
+
display: none;
|
|
|
|
|
|
|
|
|
28 |
}
|
29 |
|
30 |
+
.film-card:hover .play-icon {
|
31 |
+
opacity: 1;
|
32 |
+
transform: scale(1.1);
|
|
|
33 |
}
|
34 |
|
35 |
+
.loading-spinner {
|
36 |
+
animation: spin 1s linear infinite;
|
|
|
37 |
}
|
38 |
|
39 |
+
@keyframes spin {
|
40 |
+
0% { transform: rotate(0deg); }
|
41 |
+
100% { transform: rotate(360deg); }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
}
|
43 |
</style>
|
44 |
</head>
|
45 |
<body class="min-h-screen">
|
46 |
+
<!-- Navigation -->
|
47 |
+
<nav class="fixed w-full z-50 bg-gradient-to-b from-black to-transparent px-4 py-3">
|
48 |
+
<div class="max-w-7xl mx-auto flex items-center justify-between">
|
49 |
+
<div class="flex items-center">
|
50 |
+
<span class="text-red-600 font-bold text-2xl mr-10">STREAMFLIX</span>
|
51 |
+
<div class="hidden md:flex space-x-6">
|
52 |
+
<a href="#" class="text-white hover:text-gray-300">Accueil</a>
|
53 |
+
<a href="#" class="text-white hover:text-gray-300">Séries</a>
|
54 |
+
<a href="#" class="text-white hover:text-gray-300">Films</a>
|
55 |
+
<a href="#" class="text-white hover:text-gray-300">Nouveautés</a>
|
56 |
+
<a href="#" class="text-white hover:text-gray-300">Ma liste</a>
|
|
|
|
|
|
|
|
|
57 |
</div>
|
58 |
+
</div>
|
59 |
+
<div class="flex items-center space-x-4">
|
60 |
+
<div class="relative">
|
61 |
+
<input type="text" placeholder="Rechercher..." class="bg-black/70 text-white px-4 py-1 rounded border border-gray-600 focus:outline-none focus:border-white w-0 opacity-0 transition-all duration-300" id="search-input">
|
62 |
+
<button class="text-white" id="search-btn">
|
63 |
+
<i class="fas fa-search"></i>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
</button>
|
65 |
</div>
|
66 |
+
<div class="hidden md:block text-white">
|
67 |
+
<i class="fas fa-bell"></i>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
</div>
|
69 |
+
<div class="w-8 h-8 rounded bg-red-600 flex items-center justify-center text-white font-bold">
|
70 |
+
<i class="fas fa-user"></i>
|
|
|
71 |
</div>
|
72 |
</div>
|
73 |
</div>
|
74 |
</nav>
|
75 |
|
76 |
+
<!-- Hero Section -->
|
77 |
+
<section class="relative h-screen">
|
78 |
+
<div class="absolute inset-0 bg-black/50 z-10 hero-gradient"></div>
|
79 |
+
<img src="https://image.tmdb.org/t/p/original/9dKCd55IuTT5QRs989m9Qlb7d2B.jpg" alt="Film Hero" class="w-full h-full object-cover">
|
80 |
+
|
81 |
+
<div class="absolute bottom-0 left-0 z-20 p-16 w-full md:w-2/3">
|
82 |
+
<h1 class="text-4xl md:text-6xl font-bold mb-4">The Witcher</h1>
|
83 |
+
<div class="flex space-x-4 mb-6">
|
84 |
+
<span class="text-green-500 font-semibold">97% Match</span>
|
85 |
+
<span>2023</span>
|
86 |
+
<span class="border border-gray-400 px-1">HD</span>
|
87 |
</div>
|
88 |
+
<p class="text-lg mb-6">Geralt de Riv, un chasseur de monstres mutant, parcourt le continent en quête de sa place dans un monde où les humains se révèlent souvent plus vicieux que les bêtes.</p>
|
89 |
+
<div class="flex space-x-4">
|
90 |
+
<button class="bg-white text-black px-6 py-2 rounded flex items-center hover:bg-opacity-80">
|
91 |
+
<i class="fas fa-play mr-2"></i> Lecture
|
92 |
+
</button>
|
93 |
+
<button class="bg-gray-600/70 text-white px-6 py-2 rounded flex items-center hover:bg-opacity-50">
|
94 |
+
<i class="fas fa-info-circle mr-2"></i> Plus d'infos
|
95 |
+
</button>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
</div>
|
97 |
</div>
|
98 |
+
</section>
|
99 |
|
100 |
+
<!-- Content Sections -->
|
101 |
+
<main class="relative z-30 -mt-32">
|
102 |
+
<div class="space-y-12 pb-20">
|
103 |
+
<!-- Trending Now -->
|
104 |
+
<section class="px-4">
|
105 |
+
<h2 class="text-xl font-bold mb-4">Tendances actuelles</h2>
|
106 |
+
<div class="relative">
|
107 |
+
<div class="flex overflow-x-auto scroll-hide space-x-4 pb-4" id="trending">
|
108 |
+
<!-- Films will be loaded here -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
</div>
|
110 |
</div>
|
111 |
+
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
|
113 |
+
<!-- Popular on StreamFlix -->
|
114 |
+
<section class="px-4">
|
115 |
+
<h2 class="text-xl font-bold mb-4">Populaire sur StreamFlix</h2>
|
116 |
+
<div class="relative">
|
117 |
+
<div class="flex overflow-x-auto scroll-hide space-x-4 pb-4" id="popular">
|
118 |
+
<!-- Films will be loaded here -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
</div>
|
120 |
</div>
|
121 |
+
</section>
|
|
|
|
|
122 |
|
123 |
+
<!-- Continue Watching -->
|
124 |
+
<section class="px-4">
|
125 |
+
<h2 class="text-xl font-bold mb-4">Continuer à regarder</h2>
|
126 |
+
<div class="relative">
|
127 |
+
<div class="flex overflow-x-auto scroll-hide space-x-4 pb-4" id="continue">
|
128 |
+
<!-- Films will be loaded here -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
</div>
|
130 |
</div>
|
131 |
+
</section>
|
132 |
|
133 |
+
<!-- New Releases -->
|
134 |
+
<section class="px-4">
|
135 |
+
<h2 class="text-xl font-bold mb-4">Nouveautés</h2>
|
136 |
+
<div class="relative">
|
137 |
+
<div class="flex overflow-x-auto scroll-hide space-x-4 pb-4" id="new-releases">
|
138 |
+
<!-- Films will be loaded here -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
</div>
|
141 |
+
</section>
|
142 |
</div>
|
143 |
+
</main>
|
144 |
|
145 |
+
<!-- Footer -->
|
146 |
+
<footer class="bg-black text-gray-400 py-12 px-4">
|
147 |
+
<div class="max-w-7xl mx-auto">
|
148 |
+
<div class="flex flex-col md:flex-row justify-between">
|
149 |
+
<div class="mb-8">
|
150 |
+
<h3 class="text-white text-2xl font-bold mb-4">STREAMFLIX</h3>
|
151 |
+
<div class="flex space-x-4 text-2xl">
|
152 |
+
<a href="#"><i class="fab fa-facebook"></i></a>
|
153 |
+
<a href="#"><i class="fab fa-instagram"></i></a>
|
154 |
+
<a href="#"><i class="fab fa-twitter"></i></a>
|
155 |
+
<a href="#"><i class="fab fa-youtube"></i></a>
|
156 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
</div>
|
158 |
+
<div class="grid grid-cols-2 md:grid-cols-4 gap-8">
|
159 |
+
<div>
|
160 |
+
<h4 class="text-white mb-4">Navigation</h4>
|
161 |
+
<ul class="space-y-2">
|
162 |
+
<li><a href="#" class="hover:text-white">Accueil</a></li>
|
163 |
+
<li><a href="#" class="hover:text-white">Séries</a></li>
|
164 |
+
<li><a href="#" class="hover:text-white">Films</a></li>
|
165 |
+
<li><a href="#" class="hover:text-white">Nouveautés</a></li>
|
166 |
+
</ul>
|
167 |
+
</div>
|
168 |
+
<div>
|
169 |
+
<h4 class="text-white mb-4">Compte</h4>
|
170 |
+
<ul class="space-y-2">
|
171 |
+
<li><a href="#" class="hover:text-white">Mon compte</a></li>
|
172 |
+
<li><a href="#" class="hover:text-white">Abonnements</a></li>
|
173 |
+
<li><a href="#" class="hover:text-white">Historique</a></li>
|
174 |
+
<li><a href="#" class="hover:text-white">Liste de souhaits</a></li>
|
175 |
+
</ul>
|
176 |
+
</div>
|
177 |
+
<div>
|
178 |
+
<h4 class="text-white mb-4">Informations</h4>
|
179 |
+
<ul class="space-y-2">
|
180 |
+
<li><a href="#" class="hover:text-white">À propos</a></li>
|
181 |
+
<li><a href="#" class="hover:text-white">Contact</a></li>
|
182 |
+
<li><a href="#" class="hover:text-white">Presse</a></li>
|
183 |
+
<li><a href="#" class="hover:text-white">Carrières</a></li>
|
184 |
+
</ul>
|
185 |
+
</div>
|
186 |
+
<div>
|
187 |
+
<h4 class="text-white mb-4">Légal</h4>
|
188 |
+
<ul class="space-y-2">
|
189 |
+
<li><a href="#" class="hover:text-white">Conditions</a></li>
|
190 |
+
<li><a href="#" class="hover:text-white">Confidentialité</a></li>
|
191 |
+
<li><a href="#" class="hover:text-white">Cookies</a></li>
|
192 |
+
<li><a href="#" class="hover:text-white">RGPD</a></li>
|
193 |
+
</ul>
|
194 |
+
</div>
|
195 |
</div>
|
196 |
</div>
|
197 |
+
<div class="border-t border-gray-800 mt-12 pt-8 text-center">
|
198 |
+
<p>© 2023 StreamFlix. Tous droits réservés.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
</div>
|
200 |
</div>
|
201 |
</footer>
|
202 |
|
203 |
<script>
|
204 |
+
// Sample movie data
|
205 |
+
const movies = [
|
206 |
+
{
|
207 |
+
id: 1,
|
208 |
+
title: "Stranger Things",
|
209 |
+
image: "https://image.tmdb.org/t/p/w500/x49FVwmViyGxflIbU3mH1dGVB3r.jpg",
|
210 |
+
year: "2022",
|
211 |
+
type: "Série",
|
212 |
+
progress: 65
|
213 |
+
},
|
214 |
+
{
|
215 |
+
id: 2,
|
216 |
+
title: "The Mandalorian",
|
217 |
+
image: "https://image.tmdb.org/t/p/w500/sWgBv7LV2PRoQgkxwlibdGXKz1S.jpg",
|
218 |
+
year: "2023",
|
219 |
+
type: "Série",
|
220 |
+
progress: 40
|
221 |
+
},
|
222 |
+
{
|
223 |
+
id: 3,
|
224 |
+
title: "Avatar 2",
|
225 |
+
image: "https://image.tmdb.org/t/p/w500/94xxm5701CzlOdgDkggvSw9NtQX.jpg",
|
226 |
+
year: "2022",
|
227 |
+
type: "Film",
|
228 |
+
progress: 0
|
229 |
+
},
|
230 |
+
{
|
231 |
+
id: 4,
|
232 |
+
title: "Oppenheimer",
|
233 |
+
image: "https://image.tmdb.org/t/p/w500/8Gxv8gSFCU0XGDykEGv7zR1n2ua.jpg",
|
234 |
+
year: "2023",
|
235 |
+
type: "Film",
|
236 |
+
progress: 0
|
237 |
+
},
|
238 |
+
{
|
239 |
+
id: 5,
|
240 |
+
title: "Peaky Blinders",
|
241 |
+
image: "https://image.tmdb.org/t/p/w500/6PX0r5TRRU5y0jZ70y1OtbLYmoD.jpg",
|
242 |
+
year: "2022",
|
243 |
+
type: "Série",
|
244 |
+
progress: 90
|
245 |
+
},
|
246 |
+
{
|
247 |
+
id: 6,
|
248 |
+
title: "Dune",
|
249 |
+
image: "https://image.tmdb.org/t/p/w500/8gchj8DCl82B3vL3HZQ1Xe2dUwb.jpg",
|
250 |
+
year: "2021",
|
251 |
+
type: "Film",
|
252 |
+
progress: 0
|
253 |
+
},
|
254 |
+
{
|
255 |
+
id: 7,
|
256 |
+
title: "The Last of Us",
|
257 |
+
image: "https://image.tmdb.org/t/p/w500/uKvVjHNqB5VmOrdxqAt2F7J78ED.jpg",
|
258 |
+
year: "2023",
|
259 |
+
type: "Série",
|
260 |
+
progress: 30
|
261 |
+
},
|
262 |
+
{
|
263 |
+
id: 8,
|
264 |
+
title: "John Wick 4",
|
265 |
+
image: "https://image.tmdb.org/t/p/w500/vZloFAK7NmvMGKE7VkF5UHaz0I.jpg",
|
266 |
+
year: "2023",
|
267 |
+
type: "Film",
|
268 |
+
progress: 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
269 |
}
|
270 |
+
];
|
271 |
|
272 |
+
// Function to create movie card
|
273 |
+
function createMovieCard(movie, category) {
|
274 |
+
const card = document.createElement('div');
|
275 |
+
card.className = 'flex-none w-48 md:w-56 relative group film-card';
|
276 |
+
|
277 |
+
let progressBar = '';
|
278 |
+
if (movie.progress > 0) {
|
279 |
+
progressBar = `
|
280 |
+
<div class="absolute bottom-0 left-0 right-0 h-1 bg-gray-600">
|
281 |
+
<div class="h-full bg-red-600" style="width: ${movie.progress}%"></div>
|
282 |
+
</div>
|
283 |
+
`;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
284 |
}
|
285 |
|
286 |
+
card.innerHTML = `
|
287 |
+
<div class="relative rounded overflow-hidden">
|
288 |
+
<img src="${movie.image}" alt="${movie.title}" class="w-full h-auto rounded transition-transform duration-300 group-hover:scale-105">
|
289 |
+
<div class="absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-center justify-center">
|
290 |
+
<div class="play-icon opacity-0 transform scale-90 transition-all duration-300 text-white text-4xl bg-red-600 rounded-full w-16 h-16 flex items-center justify-center">
|
291 |
+
<i class="fas fa-play"></i>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
292 |
</div>
|
293 |
</div>
|
294 |
+
${progressBar}
|
295 |
+
</div>
|
296 |
+
<div class="mt-2">
|
297 |
+
<h3 class="font-semibold truncate">${movie.title}</h3>
|
298 |
+
<div class="flex justify-between text-sm text-gray-400">
|
299 |
+
<span>${movie.year}</span>
|
300 |
+
<span>${movie.type}</span>
|
301 |
+
</div>
|
302 |
+
</div>
|
303 |
+
`;
|
304 |
+
|
305 |
+
card.addEventListener('click', () => {
|
306 |
+
// Simulate loading
|
307 |
+
const loading = document.createElement('div');
|
308 |
+
loading.className = 'fixed inset-0 bg-black/90 z-50 flex items-center justify-center';
|
309 |
+
loading.innerHTML = `
|
310 |
+
<div class="text-center">
|
311 |
+
<div class="loading-spinner inline-block w-16 h-16 border-4 border-red-600 border-t-transparent rounded-full mb-4"></div>
|
312 |
+
<p class="text-white text-xl">Chargement du film...</p>
|
313 |
+
</div>
|
314 |
`;
|
315 |
+
document.body.appendChild(loading);
|
316 |
+
|
317 |
+
// After 3 seconds, redirect to player
|
318 |
+
setTimeout(() => {
|
319 |
+
document.body.removeChild(loading);
|
320 |
+
window.open(`https://example.com/player/${movie.id}`, '_blank');
|
321 |
+
}, 3000);
|
322 |
});
|
323 |
|
324 |
+
return card;
|
|
|
325 |
}
|
326 |
|
327 |
+
// Initialize the page
|
328 |
+
document.addEventListener('DOMContentLoaded', () => {
|
329 |
+
// Load movies into sections
|
330 |
+
const trendingSection = document.getElementById('trending');
|
331 |
+
const popularSection = document.getElementById('popular');
|
332 |
+
const continueSection = document.getElementById('continue');
|
333 |
+
const newReleasesSection = document.getElementById('new-releases');
|
334 |
+
|
335 |
+
// Shuffle movies for variety
|
336 |
+
const shuffledMovies = [...movies].sort(() => 0.5 - Math.random());
|
337 |
+
|
338 |
+
// Add movies to sections
|
339 |
+
shuffledMovies.slice(0, 6).forEach(movie => {
|
340 |
+
trendingSection.appendChild(createMovieCard(movie, 'trending'));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
341 |
});
|
342 |
|
343 |
+
shuffledMovies.slice(2, 8).forEach(movie => {
|
344 |
+
popularSection.appendChild(createMovieCard(movie, 'popular'));
|
345 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
|
347 |
+
// Only movies with progress > 0 for "Continue Watching"
|
348 |
+
shuffledMovies.filter(movie => movie.progress > 0).slice(0, 5).forEach(movie => {
|
349 |
+
continueSection.appendChild(createMovieCard(movie, 'continue'));
|
350 |
+
});
|
351 |
|
352 |
+
shuffledMovies.slice(4, 10).forEach(movie => {
|
353 |
+
newReleasesSection.appendChild(createMovieCard(movie, 'new-releases'));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
354 |
});
|
355 |
|
356 |
+
// Search functionality
|
357 |
+
const searchBtn = document.getElementById('search-btn');
|
358 |
+
const searchInput = document.getElementById('search-input');
|
359 |
|
360 |
+
searchBtn.addEventListener('click', () => {
|
361 |
+
searchInput.classList.toggle('w-64');
|
362 |
+
searchInput.classList.toggle('opacity-100');
|
363 |
+
searchInput.classList.toggle('ml-2');
|
364 |
+
searchInput.focus();
|
|
|
|
|
365 |
});
|
366 |
|
367 |
+
searchInput.addEventListener('keypress', (e) => {
|
368 |
+
if (e.key === 'Enter') {
|
369 |
+
alert(`Recherche pour: ${searchInput.value}`);
|
370 |
+
// In a real app, you would redirect to search results
|
|
|
|
|
371 |
}
|
372 |
});
|
373 |
});
|
prompts.txt
CHANGED
@@ -4,4 +4,5 @@ activer les 986200 bouton en vrai je veux pas de bouton d'exemple ,ajouter bout
|
|
4 |
je veux creer le plis imense marketp ajouter bouton paypal , stripe , avec mes information pour etre payer , ajouter panier d'achat , obligatio de sabonner pour utiliser le site gratuitement ajouter tableau de bord avec les information de paiement paypal, stripe, avec bouton stripe ,bouton paypal etc.. plus panier d'achat pour les information de paiement pour recevoir mes paement je veux acces et toute produit pour moi seul les autre devront payer un abonnement : [email protected] : Admin270574@ et [email protected] : Admin270574@ lace au monde de plus de 9790078 bouton cliquable automatique ouvrir chaque bouton cliquéé dans une nouvel fenetre je veux des vrai bouton et des site reel pas d 'exemple
|
5 |
je veux creer le plus gigantesque marché de INTELIGENCES ARTIFICIEL AVEC PLUS DE 990099 BOUTONS D ASSISANT IA dans toutes les domaine de services, je veux q'uon affiche toutes les boutons directement et que chaque boutons cliqué s'ouvre dans une nouvel fenetre je veux que toi soit gré en automatique et aussi ,: je veux un tableau de bord gigantesque ajouter bouton paypal , stripe , avec mes information pour etre payer , ajouter panier d'achat , obligatio de sabonner pour utiliser le site gratuitement ajouter tableau de bord avec les information de paiement paypal, stripe, avec bouton stripe ,bouton paypal etc.. plus panier d'achat pour les information de paiement pour recevoir mes paement je veux acces et toute produit pour moi seul les autre devront payer un abonnement : [email protected] : Admin270574@ et [email protected] : Admin270574@ avec une interface futiriste
|
6 |
je veux ouvrir chaque bouton cliquer s'ouvre dans une nouvel fenetre
|
7 |
-
ouvrer les bouton en automatique dans une nouvel page
|
|
|
|
4 |
je veux creer le plis imense marketp ajouter bouton paypal , stripe , avec mes information pour etre payer , ajouter panier d'achat , obligatio de sabonner pour utiliser le site gratuitement ajouter tableau de bord avec les information de paiement paypal, stripe, avec bouton stripe ,bouton paypal etc.. plus panier d'achat pour les information de paiement pour recevoir mes paement je veux acces et toute produit pour moi seul les autre devront payer un abonnement : [email protected] : Admin270574@ et [email protected] : Admin270574@ lace au monde de plus de 9790078 bouton cliquable automatique ouvrir chaque bouton cliquéé dans une nouvel fenetre je veux des vrai bouton et des site reel pas d 'exemple
|
5 |
je veux creer le plus gigantesque marché de INTELIGENCES ARTIFICIEL AVEC PLUS DE 990099 BOUTONS D ASSISANT IA dans toutes les domaine de services, je veux q'uon affiche toutes les boutons directement et que chaque boutons cliqué s'ouvre dans une nouvel fenetre je veux que toi soit gré en automatique et aussi ,: je veux un tableau de bord gigantesque ajouter bouton paypal , stripe , avec mes information pour etre payer , ajouter panier d'achat , obligatio de sabonner pour utiliser le site gratuitement ajouter tableau de bord avec les information de paiement paypal, stripe, avec bouton stripe ,bouton paypal etc.. plus panier d'achat pour les information de paiement pour recevoir mes paement je veux acces et toute produit pour moi seul les autre devront payer un abonnement : [email protected] : Admin270574@ et [email protected] : Admin270574@ avec une interface futiriste
|
6 |
je veux ouvrir chaque bouton cliquer s'ouvre dans une nouvel fenetre
|
7 |
+
ouvrer les bouton en automatique dans une nouvel page
|
8 |
+
createur de site de films de streaming en 10 seconde
|