Amin44 commited on
Commit
d80fcc8
·
verified ·
1 Parent(s): 0e01eec

Add 1 files

Browse files
Files changed (1) hide show
  1. index.html +231 -51
index.html CHANGED
@@ -68,6 +68,65 @@
68
  color: #94a3b8;
69
  opacity: 0.7;
70
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  </style>
72
  </head>
73
  <body class="min-h-screen">
@@ -113,7 +172,7 @@
113
  <button class="p-2 text-gray-500 hover:text-purple-600">
114
  <i class="fas fa-microphone"></i>
115
  </button>
116
- <button class="p-2 text-gray-500 hover:text-purple-600">
117
  <i class="fas fa-magic"></i>
118
  </button>
119
  </div>
@@ -123,23 +182,23 @@
123
  <div class="mb-8">
124
  <h4 class="text-lg font-medium mb-3 text-gray-700">Video Style</h4>
125
  <div class="grid grid-cols-2 md:grid-cols-3 gap-3">
126
- <button class="style-option py-2 px-4 border rounded-lg hover:border-purple-500 hover:bg-purple-50">
127
  <i class="fas fa-film mr-2"></i> Cinematic
128
  </button>
129
- <button class="style-option py-2 px-4 border rounded-lg hover:border-purple-500 hover:bg-purple-50">
130
  <i class="fas fa-paint-brush mr-2"></i> Animated
131
  </button>
132
- <button class="style-option py-2 px-4 border rounded-lg hover:border-purple-500 hover:bg-purple-50">
133
  <i class="fas fa-chart-line mr-2"></i> Business
134
  </button>
135
- <button class="style-option py-2 px-4 border rounded-lg hover:border-purple-500 hover:bg-purple-50">
136
  <i class="fas fa-gamepad mr-2"></i> 3D
137
  </button>
138
- <button class="style-option py-2 px-4 border rounded-lg hover:border-purple-500 hover:bg-purple-50">
139
  <i class="fas fa-pencil-alt mr-2"></i> Sketch
140
  </button>
141
- <button class="style-option py-2 px-4 border rounded-lg hover:border-purple-500 hover:bg-purple-50">
142
- <i class="fas fa-plus mr-2"></i> More
143
  </button>
144
  </div>
145
  </div>
@@ -147,8 +206,8 @@
147
  <div class="mb-8">
148
  <h4 class="text-lg font-medium mb-3 text-gray-700">Video Length</h4>
149
  <div class="flex items-center space-x-4">
150
- <input type="range" min="15" max="120" value="30" class="w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer">
151
- <span class="text-gray-700 font-medium">30s</span>
152
  </div>
153
  </div>
154
 
@@ -156,7 +215,7 @@
156
  <button id="generate-btn" class="flex-1 bg-purple-600 hover:bg-purple-700 text-white py-3 px-6 rounded-lg font-medium flex items-center justify-center">
157
  <i class="fas fa-play-circle mr-2"></i> Generate Video
158
  </button>
159
- <button class="flex-1 border border-gray-300 hover:bg-gray-50 text-gray-700 py-3 px-6 rounded-lg font-medium flex items-center justify-center">
160
  <i class="fas fa-random mr-2"></i> Random Example
161
  </button>
162
  </div>
@@ -167,7 +226,7 @@
167
  <div class="mb-6">
168
  <h3 class="text-2xl font-semibold mb-4 text-gray-800">Video Preview</h3>
169
  <div class="video-preview shadow-lg">
170
- <div id="preview-content" class="text-center p-8 z-10">
171
  <i class="fas fa-video text-5xl text-purple-400 mb-4"></i>
172
  <p class="text-gray-500">Your generated video will appear here</p>
173
  </div>
@@ -186,13 +245,13 @@
186
 
187
  <div id="result-actions" class="hidden">
188
  <div class="flex flex-col sm:flex-row space-y-3 sm:space-y-0 sm:space-x-4">
189
- <button class="flex-1 bg-purple-600 hover:bg-purple-700 text-white py-3 px-6 rounded-lg font-medium flex items-center justify-center">
190
  <i class="fas fa-download mr-2"></i> Download
191
  </button>
192
- <button class="flex-1 border border-purple-600 text-purple-600 hover:bg-purple-50 py-3 px-6 rounded-lg font-medium flex items-center justify-center">
193
  <i class="fas fa-redo mr-2"></i> Regenerate
194
  </button>
195
- <button class="flex-1 border border-gray-300 hover:bg-gray-50 text-gray-700 py-3 px-6 rounded-lg font-medium flex items-center justify-center">
196
  <i class="fas fa-share-alt mr-2"></i> Share
197
  </button>
198
  </div>
@@ -307,12 +366,39 @@
307
 
308
  <script>
309
  document.addEventListener('DOMContentLoaded', function() {
 
310
  const generateBtn = document.getElementById('generate-btn');
311
  const previewContent = document.getElementById('preview-content');
312
  const progressContainer = document.getElementById('progress-container');
313
  const loadingBar = document.getElementById('loading-bar');
314
  const progressPercent = document.getElementById('progress-percent');
315
  const resultActions = document.getElementById('result-actions');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
316
 
317
  // Style option selection
318
  const styleOptions = document.querySelectorAll('.style-option');
@@ -322,22 +408,62 @@
322
  opt.classList.remove('border-purple-500', 'bg-purple-50', 'text-purple-600');
323
  });
324
  this.classList.add('border-purple-500', 'bg-purple-50', 'text-purple-600');
 
325
  });
326
  });
327
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
328
  // Generate video simulation
329
  generateBtn.addEventListener('click', function() {
330
- const promptInput = document.getElementById('prompt-input');
331
-
332
  if (promptInput.value.trim() === '') {
333
- alert('Please enter a description for your video');
334
  return;
335
  }
336
 
337
  // Show loading state
338
  generateBtn.disabled = true;
339
  generateBtn.innerHTML = '<i class="fas fa-spinner animate-spin mr-2"></i> Generating...';
340
- previewContent.innerHTML = '<i class="fas fa-spinner animate-spin text-5xl text-purple-400 mb-4"></i><p class="text-gray-500">Generating your video...</p>';
 
 
 
 
 
 
 
 
 
 
341
  progressContainer.classList.remove('hidden');
342
  resultActions.classList.add('hidden');
343
 
@@ -353,45 +479,99 @@
353
  if (progress === 100) {
354
  clearInterval(interval);
355
  setTimeout(() => {
356
- // Show result
357
- previewContent.innerHTML = `
358
- <div class="relative w-full h-full">
359
- <div class="absolute inset-0 bg-black bg-opacity-50 flex items-center justify-center rounded-lg">
360
- <button class="bg-white bg-opacity-20 hover:bg-opacity-30 text-white rounded-full w-16 h-16 flex items-center justify-center">
361
- <i class="fas fa-play text-2xl"></i>
362
- </button>
363
- </div>
364
- <div class="absolute bottom-4 left-4 right-4 bg-gradient-to-t from-black to-transparent p-4 rounded-b-lg">
365
- <h4 class="text-white font-medium">Your Generated Video</h4>
366
- <p class="text-white text-opacity-80 text-sm">Based on: "${promptInput.value.substring(0, 50)}${promptInput.value.length > 50 ? '...' : ''}"</p>
367
- </div>
368
- </div>
369
- `;
370
- progressContainer.classList.add('hidden');
371
- resultActions.classList.remove('hidden');
372
- generateBtn.disabled = false;
373
- generateBtn.innerHTML = '<i class="fas fa-play-circle mr-2"></i> Generate Video';
374
  }, 500);
375
  }
376
  }, 300);
377
  });
378
 
379
- // Random example button
380
- const examples = [
381
- "A serene beach at sunrise with golden sand and gentle waves. The camera slowly pans across the shoreline, capturing seagulls flying overhead and a lone sailboat in the distance. The scene transitions to a close-up of footprints in the sand leading toward the water.",
382
- "A futuristic cyberpunk city at night with neon lights reflecting on wet streets. Flying cars zoom between towering skyscrapers as holographic advertisements flicker in the rain. The camera follows a mysterious figure in a high-tech trench coat walking through the crowded streets.",
383
- "An animated explainer video showing how solar panels work. Friendly cartoon characters demonstrate sunlight hitting photovoltaic cells, creating electricity that powers a happy home. The animation includes clear labels and cheerful music in the background.",
384
- "A time-lapse of a bustling city square from morning to night. People rush by in fast motion as shadows grow longer. The camera remains fixed while lights in office buildings turn on one by one, creating a beautiful pattern against the darkening sky."
385
- ];
386
 
387
- document.querySelectorAll('button').forEach(btn => {
388
- if (btn.textContent.includes('Random Example')) {
389
- btn.addEventListener('click', function() {
390
- const randomExample = examples[Math.floor(Math.random() * examples.length)];
391
- document.getElementById('prompt-input').value = randomExample;
392
- });
393
- }
 
 
 
394
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
395
  });
396
  </script>
397
  <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=Amin44/app" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
 
68
  color: #94a3b8;
69
  opacity: 0.7;
70
  }
71
+
72
+ .video-thumbnail {
73
+ position: relative;
74
+ width: 100%;
75
+ height: 100%;
76
+ background-size: cover;
77
+ background-position: center;
78
+ }
79
+
80
+ .video-overlay {
81
+ position: absolute;
82
+ top: 0;
83
+ left: 0;
84
+ right: 0;
85
+ bottom: 0;
86
+ background: rgba(0,0,0,0.3);
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: center;
90
+ border-radius: 12px;
91
+ }
92
+
93
+ .play-button {
94
+ width: 60px;
95
+ height: 60px;
96
+ background: rgba(255,255,255,0.2);
97
+ border-radius: 50%;
98
+ display: flex;
99
+ align-items: center;
100
+ justify-content: center;
101
+ transition: all 0.3s ease;
102
+ }
103
+
104
+ .play-button:hover {
105
+ transform: scale(1.1);
106
+ background: rgba(255,255,255,0.3);
107
+ }
108
+
109
+ .video-info {
110
+ position: absolute;
111
+ bottom: 0;
112
+ left: 0;
113
+ right: 0;
114
+ padding: 16px;
115
+ background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
116
+ border-bottom-left-radius: 12px;
117
+ border-bottom-right-radius: 12px;
118
+ }
119
+
120
+ /* Animation for generating state */
121
+ @keyframes generating {
122
+ 0% { transform: translateY(0); }
123
+ 50% { transform: translateY(-5px); }
124
+ 100% { transform: translateY(0); }
125
+ }
126
+
127
+ .generating-animation {
128
+ animation: generating 1.5s infinite ease-in-out;
129
+ }
130
  </style>
131
  </head>
132
  <body class="min-h-screen">
 
172
  <button class="p-2 text-gray-500 hover:text-purple-600">
173
  <i class="fas fa-microphone"></i>
174
  </button>
175
+ <button id="enhance-prompt" class="p-2 text-gray-500 hover:text-purple-600">
176
  <i class="fas fa-magic"></i>
177
  </button>
178
  </div>
 
182
  <div class="mb-8">
183
  <h4 class="text-lg font-medium mb-3 text-gray-700">Video Style</h4>
184
  <div class="grid grid-cols-2 md:grid-cols-3 gap-3">
185
+ <button class="style-option py-2 px-4 border rounded-lg hover:border-purple-500 hover:bg-purple-50" data-style="cinematic">
186
  <i class="fas fa-film mr-2"></i> Cinematic
187
  </button>
188
+ <button class="style-option py-2 px-4 border rounded-lg hover:border-purple-500 hover:bg-purple-50" data-style="animated">
189
  <i class="fas fa-paint-brush mr-2"></i> Animated
190
  </button>
191
+ <button class="style-option py-2 px-4 border rounded-lg hover:border-purple-500 hover:bg-purple-50" data-style="business">
192
  <i class="fas fa-chart-line mr-2"></i> Business
193
  </button>
194
+ <button class="style-option py-2 px-4 border rounded-lg hover:border-purple-500 hover:bg-purple-50" data-style="3d">
195
  <i class="fas fa-gamepad mr-2"></i> 3D
196
  </button>
197
+ <button class="style-option py-2 px-4 border rounded-lg hover:border-purple-500 hover:bg-purple-50" data-style="sketch">
198
  <i class="fas fa-pencil-alt mr-2"></i> Sketch
199
  </button>
200
+ <button class="style-option py-2 px-4 border rounded-lg hover:border-purple-500 hover:bg-purple-50" data-style="custom">
201
+ <i class="fas fa-plus mr-2"></i> Custom
202
  </button>
203
  </div>
204
  </div>
 
206
  <div class="mb-8">
207
  <h4 class="text-lg font-medium mb-3 text-gray-700">Video Length</h4>
208
  <div class="flex items-center space-x-4">
209
+ <input type="range" id="length-slider" min="15" max="120" value="30" class="w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer">
210
+ <span id="length-value" class="text-gray-700 font-medium">30s</span>
211
  </div>
212
  </div>
213
 
 
215
  <button id="generate-btn" class="flex-1 bg-purple-600 hover:bg-purple-700 text-white py-3 px-6 rounded-lg font-medium flex items-center justify-center">
216
  <i class="fas fa-play-circle mr-2"></i> Generate Video
217
  </button>
218
+ <button id="random-example" class="flex-1 border border-gray-300 hover:bg-gray-50 text-gray-700 py-3 px-6 rounded-lg font-medium flex items-center justify-center">
219
  <i class="fas fa-random mr-2"></i> Random Example
220
  </button>
221
  </div>
 
226
  <div class="mb-6">
227
  <h3 class="text-2xl font-semibold mb-4 text-gray-800">Video Preview</h3>
228
  <div class="video-preview shadow-lg">
229
+ <div id="preview-content" class="text-center p-8 z-10 w-full">
230
  <i class="fas fa-video text-5xl text-purple-400 mb-4"></i>
231
  <p class="text-gray-500">Your generated video will appear here</p>
232
  </div>
 
245
 
246
  <div id="result-actions" class="hidden">
247
  <div class="flex flex-col sm:flex-row space-y-3 sm:space-y-0 sm:space-x-4">
248
+ <button id="download-btn" class="flex-1 bg-purple-600 hover:bg-purple-700 text-white py-3 px-6 rounded-lg font-medium flex items-center justify-center">
249
  <i class="fas fa-download mr-2"></i> Download
250
  </button>
251
+ <button id="regenerate-btn" class="flex-1 border border-purple-600 text-purple-600 hover:bg-purple-50 py-3 px-6 rounded-lg font-medium flex items-center justify-center">
252
  <i class="fas fa-redo mr-2"></i> Regenerate
253
  </button>
254
+ <button id="share-btn" class="flex-1 border border-gray-300 hover:bg-gray-50 text-gray-700 py-3 px-6 rounded-lg font-medium flex items-center justify-center">
255
  <i class="fas fa-share-alt mr-2"></i> Share
256
  </button>
257
  </div>
 
366
 
367
  <script>
368
  document.addEventListener('DOMContentLoaded', function() {
369
+ // DOM Elements
370
  const generateBtn = document.getElementById('generate-btn');
371
  const previewContent = document.getElementById('preview-content');
372
  const progressContainer = document.getElementById('progress-container');
373
  const loadingBar = document.getElementById('loading-bar');
374
  const progressPercent = document.getElementById('progress-percent');
375
  const resultActions = document.getElementById('result-actions');
376
+ const promptInput = document.getElementById('prompt-input');
377
+ const lengthSlider = document.getElementById('length-slider');
378
+ const lengthValue = document.getElementById('length-value');
379
+ const randomExampleBtn = document.getElementById('random-example');
380
+ const enhancePromptBtn = document.getElementById('enhance-prompt');
381
+ const downloadBtn = document.getElementById('download-btn');
382
+ const regenerateBtn = document.getElementById('regenerate-btn');
383
+ const shareBtn = document.getElementById('share-btn');
384
+
385
+ // Video thumbnails for different styles
386
+ const videoThumbnails = {
387
+ cinematic: 'https://images.unsplash.com/photo-1489599849927-2ee91cede3ba?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80',
388
+ animated: 'https://images.unsplash.com/photo-1627855437693-dcc7b0c4ba8b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80',
389
+ business: 'https://images.unsplash.com/photo-1551288049-bebda4e38f71?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80',
390
+ '3d': 'https://images.unsplash.com/photo-1635070041078-e363dbe005cb?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80',
391
+ sketch: 'https://images.unsplash.com/photo-1549388604-817d15aa0110?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80',
392
+ custom: 'https://images.unsplash.com/photo-1574717024453-354dd9a0c6a7?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80'
393
+ };
394
+
395
+ // Current selected style
396
+ let selectedStyle = 'cinematic';
397
+
398
+ // Update video length display
399
+ lengthSlider.addEventListener('input', function() {
400
+ lengthValue.textContent = `${this.value}s`;
401
+ });
402
 
403
  // Style option selection
404
  const styleOptions = document.querySelectorAll('.style-option');
 
408
  opt.classList.remove('border-purple-500', 'bg-purple-50', 'text-purple-600');
409
  });
410
  this.classList.add('border-purple-500', 'bg-purple-50', 'text-purple-600');
411
+ selectedStyle = this.dataset.style;
412
  });
413
  });
414
 
415
+ // Random example button
416
+ const examples = [
417
+ "A serene beach at sunrise with golden sand and gentle waves. The camera slowly pans across the shoreline, capturing seagulls flying overhead and a lone sailboat in the distance. The scene transitions to a close-up of footprints in the sand leading toward the water.",
418
+ "A futuristic cyberpunk city at night with neon lights reflecting on wet streets. Flying cars zoom between towering skyscrapers as holographic advertisements flicker in the rain. The camera follows a mysterious figure in a high-tech trench coat walking through the crowded streets.",
419
+ "An animated explainer video showing how solar panels work. Friendly cartoon characters demonstrate sunlight hitting photovoltaic cells, creating electricity that powers a happy home. The animation includes clear labels and cheerful music in the background.",
420
+ "A time-lapse of a bustling city square from morning to night. People rush by in fast motion as shadows grow longer. The camera remains fixed while lights in office buildings turn on one by one, creating a beautiful pattern against the darkening sky."
421
+ ];
422
+
423
+ randomExampleBtn.addEventListener('click', function() {
424
+ const randomExample = examples[Math.floor(Math.random() * examples.length)];
425
+ promptInput.value = randomExample;
426
+
427
+ // Show a toast notification
428
+ showToast('Random example loaded!', 'success');
429
+ });
430
+
431
+ // Enhance prompt button
432
+ enhancePromptBtn.addEventListener('click', function() {
433
+ if (promptInput.value.trim() === '') {
434
+ showToast('Please enter some text first', 'error');
435
+ return;
436
+ }
437
+
438
+ // Simulate AI enhancing the prompt
439
+ const enhancedPrompt = enhancePrompt(promptInput.value);
440
+ promptInput.value = enhancedPrompt;
441
+
442
+ // Show a toast notification
443
+ showToast('Prompt enhanced with AI!', 'success');
444
+ });
445
+
446
  // Generate video simulation
447
  generateBtn.addEventListener('click', function() {
 
 
448
  if (promptInput.value.trim() === '') {
449
+ showToast('Please enter a description for your video', 'error');
450
  return;
451
  }
452
 
453
  // Show loading state
454
  generateBtn.disabled = true;
455
  generateBtn.innerHTML = '<i class="fas fa-spinner animate-spin mr-2"></i> Generating...';
456
+
457
+ // Clear previous content and show generating animation
458
+ previewContent.innerHTML = `
459
+ <div class="flex flex-col items-center justify-center h-full">
460
+ <div class="generating-animation mb-4">
461
+ <i class="fas fa-video text-5xl text-purple-400"></i>
462
+ </div>
463
+ <p class="text-gray-500">Creating your ${selectedStyle} video...</p>
464
+ </div>
465
+ `;
466
+
467
  progressContainer.classList.remove('hidden');
468
  resultActions.classList.add('hidden');
469
 
 
479
  if (progress === 100) {
480
  clearInterval(interval);
481
  setTimeout(() => {
482
+ // Show result with the selected style thumbnail
483
+ showGeneratedVideo();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
484
  }, 500);
485
  }
486
  }, 300);
487
  });
488
 
489
+ // Regenerate button
490
+ regenerateBtn.addEventListener('click', function() {
491
+ generateBtn.click();
492
+ });
 
 
 
493
 
494
+ // Download button
495
+ downloadBtn.addEventListener('click', function() {
496
+ showToast('Video download started!', 'success');
497
+ // In a real app, this would trigger an actual download
498
+ });
499
+
500
+ // Share button
501
+ shareBtn.addEventListener('click', function() {
502
+ showToast('Share options displayed', 'info');
503
+ // In a real app, this would show share options
504
  });
505
+
506
+ // Function to show generated video
507
+ function showGeneratedVideo() {
508
+ previewContent.innerHTML = `
509
+ <div class="video-thumbnail" style="background-image: url('${videoThumbnails[selectedStyle]}')">
510
+ <div class="video-overlay">
511
+ <button class="play-button">
512
+ <i class="fas fa-play text-white text-xl"></i>
513
+ </button>
514
+ </div>
515
+ <div class="video-info">
516
+ <h4 class="text-white font-medium">${selectedStyle.charAt(0).toUpperCase() + selectedStyle.slice(1)} Style Video</h4>
517
+ <p class="text-white text-opacity-80 text-sm">${lengthSlider.value} seconds • Based on: "${promptInput.value.substring(0, 50)}${promptInput.value.length > 50 ? '...' : ''}"</p>
518
+ </div>
519
+ </div>
520
+ `;
521
+
522
+ progressContainer.classList.add('hidden');
523
+ resultActions.classList.remove('hidden');
524
+ generateBtn.disabled = false;
525
+ generateBtn.innerHTML = '<i class="fas fa-play-circle mr-2"></i> Generate Video';
526
+
527
+ // Show success toast
528
+ showToast('Video generated successfully!', 'success');
529
+ }
530
+
531
+ // Function to enhance prompt (simulated)
532
+ function enhancePrompt(prompt) {
533
+ const enhancements = [
534
+ "Add cinematic lighting and dramatic angles to ",
535
+ "Create an animated version of ",
536
+ "Transform this into a professional business presentation about ",
537
+ "Generate a 3D rendered scene of ",
538
+ "Make a sketch-style illustration of ",
539
+ "Add futuristic elements to "
540
+ ];
541
+
542
+ const details = [
543
+ " with vibrant colors and dynamic camera movements.",
544
+ ", ensuring high production quality and professional polish.",
545
+ ". Include smooth transitions between scenes.",
546
+ ". Add appropriate background music and sound effects.",
547
+ ". Focus on creating emotional impact through visuals.",
548
+ ". Optimize for social media sharing."
549
+ ];
550
+
551
+ const randomEnhancement = enhancements[Math.floor(Math.random() * enhancements.length)];
552
+ const randomDetail = details[Math.floor(Math.random() * details.length)];
553
+
554
+ return randomEnhancement + prompt + randomDetail;
555
+ }
556
+
557
+ // Function to show toast notifications
558
+ function showToast(message, type) {
559
+ const toast = document.createElement('div');
560
+ toast.className = `fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-lg text-white ${
561
+ type === 'success' ? 'bg-green-500' :
562
+ type === 'error' ? 'bg-red-500' :
563
+ 'bg-blue-500'
564
+ }`;
565
+ toast.textContent = message;
566
+ document.body.appendChild(toast);
567
+
568
+ setTimeout(() => {
569
+ toast.classList.add('opacity-0', 'transition-opacity', 'duration-300');
570
+ setTimeout(() => {
571
+ toast.remove();
572
+ }, 300);
573
+ }, 3000);
574
+ }
575
  });
576
  </script>
577
  <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=Amin44/app" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>