Spaces:
Running
Running
Add 2 files
Browse files- index.html +268 -116
- prompts.txt +2 -1
index.html
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
<head>
|
4 |
<meta charset="UTF-8">
|
5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
-
<title>Hacker Codes - Envato & CodeCanyon</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>
|
@@ -225,6 +225,30 @@
|
|
225 |
opacity: 0.4;
|
226 |
}
|
227 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
</style>
|
229 |
</head>
|
230 |
<body class="min-h-screen flex flex-col items-center justify-center p-4">
|
@@ -237,7 +261,7 @@
|
|
237 |
<h1 class="glitch text-4xl md:text-6xl font-bold mb-4" data-text="HACKER CODES">
|
238 |
HACKER CODES
|
239 |
</h1>
|
240 |
-
<p class="typewriter text-xl neon-text">Envato & CodeCanyon
|
241 |
</div>
|
242 |
|
243 |
<!-- Main terminal -->
|
@@ -248,108 +272,55 @@
|
|
248 |
<div class="terminal-btn green"></div>
|
249 |
</div>
|
250 |
|
|
|
251 |
<div class="mb-6">
|
252 |
<div class="flex items-center mb-2">
|
253 |
<span class="text-green-400 mr-2">$</span>
|
254 |
-
<span class="text-gray-300">
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
<p>> Decrypting secure entries...</p>
|
260 |
</div>
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
<div class="flex items-center mb-3">
|
268 |
-
<i class="fab fa-envato text-2xl text-blue-400 mr-2"></i>
|
269 |
-
<h3 class="text-xl font-bold text-blue-400">ENVATO CODES</h3>
|
270 |
-
</div>
|
271 |
-
<div class="space-y-3">
|
272 |
-
<div class="bg-gray-800 p-3 rounded">
|
273 |
-
<p class="text-gray-400 text-sm">Premium Theme</p>
|
274 |
-
<div class="flex items-center justify-between">
|
275 |
-
<code class="text-green-400 font-mono">ENV-7XK9-2P4M-Q6R1</code>
|
276 |
-
<button onclick="copyCode('ENV-7XK9-2P4M-Q6R1')" class="text-xs bg-blue-900 text-blue-300 px-2 py-1 rounded hover:bg-blue-800 transition">
|
277 |
-
<i class="fas fa-copy mr-1"></i> Copy
|
278 |
-
</button>
|
279 |
-
</div>
|
280 |
-
</div>
|
281 |
-
<div class="bg-gray-800 p-3 rounded">
|
282 |
-
<p class="text-gray-400 text-sm">Graphic Pack</p>
|
283 |
-
<div class="flex items-center justify-between">
|
284 |
-
<code class="text-green-400 font-mono">ENV-3L8D-9F2K-5N7J</code>
|
285 |
-
<button onclick="copyCode('ENV-3L8D-9F2K-5N7J')" class="text-xs bg-blue-900 text-blue-300 px-2 py-1 rounded hover:bg-blue-800 transition">
|
286 |
-
<i class="fas fa-copy mr-1"></i> Copy
|
287 |
-
</button>
|
288 |
-
</div>
|
289 |
-
</div>
|
290 |
-
<div class="bg-gray-800 p-3 rounded">
|
291 |
-
<p class="text-gray-400 text-sm">Audio Bundle</p>
|
292 |
-
<div class="flex items-center justify-between">
|
293 |
-
<code class="text-green-400 font-mono">ENV-1M4P-7R9T-2S6V</code>
|
294 |
-
<button onclick="copyCode('ENV-1M4P-7R9T-2S6V')" class="text-xs bg-blue-900 text-blue-300 px-2 py-1 rounded hover:bg-blue-800 transition">
|
295 |
-
<i class="fas fa-copy mr-1"></i> Copy
|
296 |
-
</button>
|
297 |
-
</div>
|
298 |
-
</div>
|
299 |
</div>
|
|
|
|
|
|
|
300 |
</div>
|
301 |
|
302 |
-
<!--
|
303 |
-
<div class="
|
304 |
-
<div class="
|
305 |
-
<i class="fas fa-
|
306 |
-
<
|
|
|
|
|
307 |
</div>
|
308 |
-
<div class="
|
309 |
-
<
|
310 |
-
<p class="text-gray-400 text-sm">Plugin Suite</p>
|
311 |
-
<div class="flex items-center justify-between">
|
312 |
-
<code class="text-green-400 font-mono">CC-5H8J-3K9M-4P2Q</code>
|
313 |
-
<button onclick="copyCode('CC-5H8J-3K9M-4P2Q')" class="text-xs bg-pink-900 text-pink-300 px-2 py-1 rounded hover:bg-pink-800 transition">
|
314 |
-
<i class="fas fa-copy mr-1"></i> Copy
|
315 |
-
</button>
|
316 |
-
</div>
|
317 |
-
</div>
|
318 |
-
<div class="bg-gray-800 p-3 rounded">
|
319 |
-
<p class="text-gray-400 text-sm">Script Package</p>
|
320 |
-
<div class="flex items-center justify-between">
|
321 |
-
<code class="text-green-400 font-mono">CC-7R2T-9Y4U-1I6O</code>
|
322 |
-
<button onclick="copyCode('CC-7R2T-9Y4U-1I6O')" class="text-xs bg-pink-900 text-pink-300 px-2 py-1 rounded hover:bg-pink-800 transition">
|
323 |
-
<i class="fas fa-copy mr-1"></i> Copy
|
324 |
-
</button>
|
325 |
-
</div>
|
326 |
-
</div>
|
327 |
-
<div class="bg-gray-800 p-3 rounded">
|
328 |
-
<p class="text-gray-400 text-sm">App Template</p>
|
329 |
-
<div class="flex items-center justify-between">
|
330 |
-
<code class="text-green-400 font-mono">CC-8W3E-5R7T-2Y9U</code>
|
331 |
-
<button onclick="copyCode('CC-8W3E-5R7T-2Y9U')" class="text-xs bg-pink-900 text-pink-300 px-2 py-1 rounded hover:bg-pink-800 transition">
|
332 |
-
<i class="fas fa-copy mr-1"></i> Copy
|
333 |
-
</button>
|
334 |
-
</div>
|
335 |
-
</div>
|
336 |
</div>
|
|
|
|
|
|
|
337 |
</div>
|
338 |
</div>
|
339 |
|
340 |
-
<!--
|
341 |
-
<div class="
|
342 |
<div class="flex items-center mb-2">
|
343 |
<span class="text-green-400 mr-2">$</span>
|
344 |
-
<span class="text-gray-300">
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
</div>
|
350 |
-
<button id="generateBtn" class="ml-8 mt-2 px-4 py-2 bg-green-900 text-green-300 rounded hover:bg-green-800 transition flex items-center pulse">
|
351 |
-
<i class="fas fa-bolt mr-2"></i> Generate New Code
|
352 |
-
</button>
|
353 |
</div>
|
354 |
|
355 |
<!-- Status bar -->
|
@@ -363,15 +334,15 @@
|
|
363 |
<span class="text-gray-400">SECURE</span>
|
364 |
</div>
|
365 |
<div>
|
366 |
-
<span class="text-pink-400">LAST
|
367 |
-
<span class="text-gray-400">
|
368 |
</div>
|
369 |
</div>
|
370 |
</div>
|
371 |
|
372 |
<!-- Disclaimer -->
|
373 |
<div class="text-center text-xs text-gray-500 neon-border p-3 rounded">
|
374 |
-
<p class="flicker">WARNING:
|
375 |
</div>
|
376 |
</div>
|
377 |
|
@@ -425,13 +396,217 @@
|
|
425 |
canvas.height = window.innerHeight;
|
426 |
});
|
427 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
428 |
// Copy code function
|
429 |
function copyCode(code) {
|
430 |
navigator.clipboard.writeText(code).then(() => {
|
431 |
// Show copied notification
|
432 |
const notification = document.createElement('div');
|
433 |
notification.className = 'fixed top-4 right-4 bg-green-900 text-green-300 px-4 py-2 rounded shadow-lg flex items-center';
|
434 |
-
notification.innerHTML = `<i class="fas fa-check-circle mr-2"></i>
|
435 |
document.body.appendChild(notification);
|
436 |
|
437 |
setTimeout(() => {
|
@@ -440,29 +615,6 @@
|
|
440 |
}, 2000);
|
441 |
});
|
442 |
}
|
443 |
-
|
444 |
-
// Generate new code button
|
445 |
-
document.getElementById('generateBtn').addEventListener('click', function() {
|
446 |
-
const typeSelect = document.querySelector('.code-input');
|
447 |
-
const type = typeSelect.value;
|
448 |
-
|
449 |
-
// Generate a random code
|
450 |
-
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
451 |
-
let code = '';
|
452 |
-
|
453 |
-
for (let i = 0; i < 4; i++) {
|
454 |
-
if (i > 0) code += '-';
|
455 |
-
for (let j = 0; j < 4; j++) {
|
456 |
-
code += chars.charAt(Math.floor(Math.random() * chars.length));
|
457 |
-
}
|
458 |
-
}
|
459 |
-
|
460 |
-
// Prefix based on type
|
461 |
-
code = (type === 'envato' ? 'ENV-' : 'CC-') + code.substring(4);
|
462 |
-
|
463 |
-
// Show the generated code in an alert (in a real app, you'd add it to the list)
|
464 |
-
alert(`New ${type} code generated:\n${code}\n\nThis is a demo - in a real app, this would be added to the database.`);
|
465 |
-
});
|
466 |
</script>
|
467 |
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=docto41/envato-code" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
|
468 |
</html>
|
|
|
3 |
<head>
|
4 |
<meta charset="UTF-8">
|
5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>Hacker Codes - Recherche Envato & CodeCanyon</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>
|
|
|
225 |
opacity: 0.4;
|
226 |
}
|
227 |
}
|
228 |
+
|
229 |
+
.dropzone {
|
230 |
+
border: 2px dashed var(--neon-blue);
|
231 |
+
border-radius: 5px;
|
232 |
+
padding: 25px;
|
233 |
+
text-align: center;
|
234 |
+
cursor: pointer;
|
235 |
+
transition: all 0.3s;
|
236 |
+
}
|
237 |
+
|
238 |
+
.dropzone:hover {
|
239 |
+
border-color: var(--neon-green);
|
240 |
+
box-shadow: 0 0 10px var(--neon-green);
|
241 |
+
}
|
242 |
+
|
243 |
+
.dropzone.active {
|
244 |
+
border-color: var(--neon-pink);
|
245 |
+
background-color: rgba(255, 0, 255, 0.05);
|
246 |
+
}
|
247 |
+
|
248 |
+
.search-highlight {
|
249 |
+
background-color: rgba(57, 255, 20, 0.3);
|
250 |
+
font-weight: bold;
|
251 |
+
}
|
252 |
</style>
|
253 |
</head>
|
254 |
<body class="min-h-screen flex flex-col items-center justify-center p-4">
|
|
|
261 |
<h1 class="glitch text-4xl md:text-6xl font-bold mb-4" data-text="HACKER CODES">
|
262 |
HACKER CODES
|
263 |
</h1>
|
264 |
+
<p class="typewriter text-xl neon-text">Recherche de codes Envato & CodeCanyon</p>
|
265 |
</div>
|
266 |
|
267 |
<!-- Main terminal -->
|
|
|
272 |
<div class="terminal-btn green"></div>
|
273 |
</div>
|
274 |
|
275 |
+
<!-- Search section -->
|
276 |
<div class="mb-6">
|
277 |
<div class="flex items-center mb-2">
|
278 |
<span class="text-green-400 mr-2">$</span>
|
279 |
+
<span class="text-gray-300">search_codes --method=</span>
|
280 |
+
<select id="searchMethod" class="code-input ml-2 px-2 py-1 rounded bg-black text-green-400">
|
281 |
+
<option value="text">Nom du produit</option>
|
282 |
+
<option value="image">Image du produit</option>
|
283 |
+
</select>
|
|
|
284 |
</div>
|
285 |
+
|
286 |
+
<!-- Text search -->
|
287 |
+
<div id="textSearch" class="ml-8 mt-4">
|
288 |
+
<div class="flex items-center mb-2">
|
289 |
+
<span class="text-green-400 mr-2">></span>
|
290 |
+
<input type="text" id="searchInput" placeholder="Entrez le nom du produit..." class="code-input w-full px-3 py-2 rounded bg-black text-green-400">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
291 |
</div>
|
292 |
+
<button id="searchBtn" class="mt-2 px-4 py-2 bg-blue-900 text-blue-300 rounded hover:bg-blue-800 transition flex items-center">
|
293 |
+
<i class="fas fa-search mr-2"></i> Rechercher
|
294 |
+
</button>
|
295 |
</div>
|
296 |
|
297 |
+
<!-- Image search -->
|
298 |
+
<div id="imageSearch" class="ml-8 mt-4 hidden">
|
299 |
+
<div id="dropzone" class="dropzone mb-4">
|
300 |
+
<i class="fas fa-cloud-upload-alt text-3xl text-blue-400 mb-2"></i>
|
301 |
+
<p class="text-blue-300">Glissez-déposez une image ici</p>
|
302 |
+
<p class="text-gray-400 text-sm mt-2">ou cliquez pour sélectionner</p>
|
303 |
+
<input type="file" id="fileInput" accept="image/*" class="hidden">
|
304 |
</div>
|
305 |
+
<div id="imagePreview" class="hidden mb-4">
|
306 |
+
<img id="preview" src="#" alt="Aperçu de l'image" class="max-h-40 mx-auto rounded border border-blue-400">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
</div>
|
308 |
+
<button id="searchImageBtn" class="px-4 py-2 bg-pink-900 text-pink-300 rounded hover:bg-pink-800 transition flex items-center">
|
309 |
+
<i class="fas fa-camera mr-2"></i> Rechercher par image
|
310 |
+
</button>
|
311 |
</div>
|
312 |
</div>
|
313 |
|
314 |
+
<!-- Results section -->
|
315 |
+
<div id="results" class="hidden">
|
316 |
<div class="flex items-center mb-2">
|
317 |
<span class="text-green-400 mr-2">$</span>
|
318 |
+
<span class="text-gray-300">results_found --count=<span id="resultCount" class="text-green-400">0</span></span>
|
319 |
+
</div>
|
320 |
+
|
321 |
+
<div id="resultsContainer" class="mt-4 space-y-4">
|
322 |
+
<!-- Results will be displayed here -->
|
323 |
</div>
|
|
|
|
|
|
|
324 |
</div>
|
325 |
|
326 |
<!-- Status bar -->
|
|
|
334 |
<span class="text-gray-400">SECURE</span>
|
335 |
</div>
|
336 |
<div>
|
337 |
+
<span class="text-pink-400">LAST SEARCH:</span>
|
338 |
+
<span id="lastSearch" class="text-gray-400">Aucune</span>
|
339 |
</div>
|
340 |
</div>
|
341 |
</div>
|
342 |
|
343 |
<!-- Disclaimer -->
|
344 |
<div class="text-center text-xs text-gray-500 neon-border p-3 rounded">
|
345 |
+
<p class="flicker">WARNING: Ceci est une démonstration d'interface. Les fonctionnalités de recherche sont simulées.</p>
|
346 |
</div>
|
347 |
</div>
|
348 |
|
|
|
396 |
canvas.height = window.innerHeight;
|
397 |
});
|
398 |
|
399 |
+
// Sample database of products
|
400 |
+
const products = [
|
401 |
+
{
|
402 |
+
name: "ThemeForest - Avada",
|
403 |
+
type: "envato",
|
404 |
+
code: "ENV-7XK9-2P4M-Q6R1",
|
405 |
+
category: "Thème WordPress",
|
406 |
+
description: "Thème WordPress multi-usage avec constructeur de page avancé."
|
407 |
+
},
|
408 |
+
{
|
409 |
+
name: "CodeCanyon - Slider Revolution",
|
410 |
+
type: "codecanyon",
|
411 |
+
code: "CC-5H8J-3K9M-4P2Q",
|
412 |
+
category: "Plugin WordPress",
|
413 |
+
description: "Plugin de création de sliders et animations avancées."
|
414 |
+
},
|
415 |
+
{
|
416 |
+
name: "ThemeForest - BeTheme",
|
417 |
+
type: "envato",
|
418 |
+
code: "ENV-3L8D-9F2K-5N7J",
|
419 |
+
category: "Thème WordPress",
|
420 |
+
description: "Thème WordPress avec plus de 600 démos pré-construites."
|
421 |
+
},
|
422 |
+
{
|
423 |
+
name: "CodeCanyon - WPBakery",
|
424 |
+
type: "codecanyon",
|
425 |
+
code: "CC-7R2T-9Y4U-1I6O",
|
426 |
+
category: "Plugin WordPress",
|
427 |
+
description: "Constructeur de page visuel pour WordPress."
|
428 |
+
},
|
429 |
+
{
|
430 |
+
name: "ThemeForest - The7",
|
431 |
+
type: "envato",
|
432 |
+
code: "ENV-1M4P-7R9T-2S6V",
|
433 |
+
category: "Thème WordPress",
|
434 |
+
description: "Thème WordPress ultra-personnalisable avec options avancées."
|
435 |
+
},
|
436 |
+
{
|
437 |
+
name: "CodeCanyon - Elementor Pro",
|
438 |
+
type: "codecanyon",
|
439 |
+
code: "CC-8W3E-5R7T-2Y9U",
|
440 |
+
category: "Plugin WordPress",
|
441 |
+
description: "Constructeur de page avancé avec fonctionnalités pro."
|
442 |
+
}
|
443 |
+
];
|
444 |
+
|
445 |
+
// Search method toggle
|
446 |
+
const searchMethod = document.getElementById('searchMethod');
|
447 |
+
const textSearch = document.getElementById('textSearch');
|
448 |
+
const imageSearch = document.getElementById('imageSearch');
|
449 |
+
|
450 |
+
searchMethod.addEventListener('change', function() {
|
451 |
+
if (this.value === 'text') {
|
452 |
+
textSearch.classList.remove('hidden');
|
453 |
+
imageSearch.classList.add('hidden');
|
454 |
+
} else {
|
455 |
+
textSearch.classList.add('hidden');
|
456 |
+
imageSearch.classList.remove('hidden');
|
457 |
+
}
|
458 |
+
});
|
459 |
+
|
460 |
+
// Image upload handling
|
461 |
+
const dropzone = document.getElementById('dropzone');
|
462 |
+
const fileInput = document.getElementById('fileInput');
|
463 |
+
const imagePreview = document.getElementById('imagePreview');
|
464 |
+
const preview = document.getElementById('preview');
|
465 |
+
|
466 |
+
// Handle drag and drop
|
467 |
+
['dragenter', 'dragover', 'dragleave', 'drop'].forEach(eventName => {
|
468 |
+
dropzone.addEventListener(eventName, preventDefaults, false);
|
469 |
+
});
|
470 |
+
|
471 |
+
function preventDefaults(e) {
|
472 |
+
e.preventDefault();
|
473 |
+
e.stopPropagation();
|
474 |
+
}
|
475 |
+
|
476 |
+
['dragenter', 'dragover'].forEach(eventName => {
|
477 |
+
dropzone.addEventListener(eventName, highlight, false);
|
478 |
+
});
|
479 |
+
|
480 |
+
['dragleave', 'drop'].forEach(eventName => {
|
481 |
+
dropzone.addEventListener(eventName, unhighlight, false);
|
482 |
+
});
|
483 |
+
|
484 |
+
function highlight() {
|
485 |
+
dropzone.classList.add('active');
|
486 |
+
}
|
487 |
+
|
488 |
+
function unhighlight() {
|
489 |
+
dropzone.classList.remove('active');
|
490 |
+
}
|
491 |
+
|
492 |
+
dropzone.addEventListener('drop', handleDrop, false);
|
493 |
+
dropzone.addEventListener('click', () => fileInput.click(), false);
|
494 |
+
|
495 |
+
fileInput.addEventListener('change', function() {
|
496 |
+
handleFiles(this.files);
|
497 |
+
});
|
498 |
+
|
499 |
+
function handleDrop(e) {
|
500 |
+
const dt = e.dataTransfer;
|
501 |
+
const files = dt.files;
|
502 |
+
handleFiles(files);
|
503 |
+
}
|
504 |
+
|
505 |
+
function handleFiles(files) {
|
506 |
+
if (files.length) {
|
507 |
+
const file = files[0];
|
508 |
+
if (file.type.startsWith('image/')) {
|
509 |
+
const reader = new FileReader();
|
510 |
+
reader.onload = function(e) {
|
511 |
+
preview.src = e.target.result;
|
512 |
+
imagePreview.classList.remove('hidden');
|
513 |
+
};
|
514 |
+
reader.readAsDataURL(file);
|
515 |
+
}
|
516 |
+
}
|
517 |
+
}
|
518 |
+
|
519 |
+
// Text search function
|
520 |
+
document.getElementById('searchBtn').addEventListener('click', function() {
|
521 |
+
const searchTerm = document.getElementById('searchInput').value.trim().toLowerCase();
|
522 |
+
if (searchTerm) {
|
523 |
+
searchProducts(searchTerm);
|
524 |
+
document.getElementById('lastSearch').textContent = `Texte: "${searchTerm}"`;
|
525 |
+
}
|
526 |
+
});
|
527 |
+
|
528 |
+
// Image search function (simulated)
|
529 |
+
document.getElementById('searchImageBtn').addEventListener('click', function() {
|
530 |
+
if (preview.src && !preview.src.endsWith('#')) {
|
531 |
+
// Simulate image search with random results
|
532 |
+
const randomProducts = [...products].sort(() => 0.5 - Math.random()).slice(0, 3);
|
533 |
+
displayResults(randomProducts);
|
534 |
+
document.getElementById('lastSearch').textContent = "Par image";
|
535 |
+
document.getElementById('resultCount').textContent = randomProducts.length;
|
536 |
+
document.getElementById('results').classList.remove('hidden');
|
537 |
+
} else {
|
538 |
+
alert("Veuillez d'abord sélectionner une image.");
|
539 |
+
}
|
540 |
+
});
|
541 |
+
|
542 |
+
// Search products function
|
543 |
+
function searchProducts(searchTerm) {
|
544 |
+
const results = products.filter(product =>
|
545 |
+
product.name.toLowerCase().includes(searchTerm) ||
|
546 |
+
product.description.toLowerCase().includes(searchTerm) ||
|
547 |
+
product.category.toLowerCase().includes(searchTerm)
|
548 |
+
);
|
549 |
+
|
550 |
+
displayResults(results, searchTerm);
|
551 |
+
document.getElementById('resultCount').textContent = results.length;
|
552 |
+
document.getElementById('results').classList.remove('hidden');
|
553 |
+
}
|
554 |
+
|
555 |
+
// Display results function
|
556 |
+
function displayResults(results, searchTerm = '') {
|
557 |
+
const resultsContainer = document.getElementById('resultsContainer');
|
558 |
+
resultsContainer.innerHTML = '';
|
559 |
+
|
560 |
+
if (results.length === 0) {
|
561 |
+
resultsContainer.innerHTML = '<p class="text-gray-400">Aucun résultat trouvé.</p>';
|
562 |
+
return;
|
563 |
+
}
|
564 |
+
|
565 |
+
results.forEach(product => {
|
566 |
+
const productElement = document.createElement('div');
|
567 |
+
productElement.className = 'bg-gray-800 p-4 rounded neon-border-blue';
|
568 |
+
|
569 |
+
// Highlight search term in results
|
570 |
+
let highlightedName = product.name;
|
571 |
+
let highlightedDesc = product.description;
|
572 |
+
|
573 |
+
if (searchTerm) {
|
574 |
+
const regex = new RegExp(searchTerm, 'gi');
|
575 |
+
highlightedName = product.name.replace(regex, match =>
|
576 |
+
`<span class="search-highlight">${match}</span>`
|
577 |
+
);
|
578 |
+
highlightedDesc = product.description.replace(regex, match =>
|
579 |
+
`<span class="search-highlight">${match}</span>`
|
580 |
+
);
|
581 |
+
}
|
582 |
+
|
583 |
+
productElement.innerHTML = `
|
584 |
+
<div class="flex justify-between items-start">
|
585 |
+
<div>
|
586 |
+
<h3 class="text-lg font-bold text-blue-400">${highlightedName}</h3>
|
587 |
+
<p class="text-sm text-gray-400">${product.category}</p>
|
588 |
+
<p class="text-gray-300 mt-2">${highlightedDesc}</p>
|
589 |
+
</div>
|
590 |
+
<div class="flex flex-col items-end">
|
591 |
+
<code class="text-green-400 font-mono text-sm">${product.code}</code>
|
592 |
+
<button onclick="copyCode('${product.code}')" class="mt-2 text-xs ${product.type === 'envato' ? 'bg-blue-900 text-blue-300' : 'bg-pink-900 text-pink-300'} px-2 py-1 rounded hover:${product.type === 'envato' ? 'bg-blue-800' : 'bg-pink-800'} transition">
|
593 |
+
<i class="fas fa-copy mr-1"></i> Copier
|
594 |
+
</button>
|
595 |
+
</div>
|
596 |
+
</div>
|
597 |
+
`;
|
598 |
+
|
599 |
+
resultsContainer.appendChild(productElement);
|
600 |
+
});
|
601 |
+
}
|
602 |
+
|
603 |
// Copy code function
|
604 |
function copyCode(code) {
|
605 |
navigator.clipboard.writeText(code).then(() => {
|
606 |
// Show copied notification
|
607 |
const notification = document.createElement('div');
|
608 |
notification.className = 'fixed top-4 right-4 bg-green-900 text-green-300 px-4 py-2 rounded shadow-lg flex items-center';
|
609 |
+
notification.innerHTML = `<i class="fas fa-check-circle mr-2"></i> Copié: ${code}`;
|
610 |
document.body.appendChild(notification);
|
611 |
|
612 |
setTimeout(() => {
|
|
|
615 |
}, 2000);
|
616 |
});
|
617 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
618 |
</script>
|
619 |
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=docto41/envato-code" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
|
620 |
</html>
|
prompts.txt
CHANGED
@@ -1 +1,2 @@
|
|
1 |
-
hacker code d'achat envato et codecanyon
|
|
|
|
1 |
+
hacker code d'achat envato et codecanyon
|
2 |
+
je veux rechercher par non du produit ou image
|