gopallikehack commited on
Commit
c011cfa
·
verified ·
1 Parent(s): 64672e2

Create script.js

Browse files
Files changed (1) hide show
  1. script.js +65 -0
script.js ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // ===== FORM HANDLER =====
2
+ document.getElementById('videoForm').addEventListener('submit', async function(e) {
3
+ e.preventDefault();
4
+
5
+ const prompt = document.getElementById('prompt').value.trim();
6
+ const language = document.getElementById('language').value;
7
+ const duration = parseInt(document.getElementById('duration').value) || 45;
8
+ const voiceEn = document.getElementById('voiceEn').value;
9
+ const voiceHi = document.getElementById('voiceHi').value;
10
+ const loading = document.getElementById('loading');
11
+ const resultDiv = document.getElementById('result');
12
+
13
+ if (!prompt) {
14
+ alert('❌ Please enter a prompt!');
15
+ return;
16
+ }
17
+
18
+ loading.style.display = 'block';
19
+ resultDiv.style.display = 'none';
20
+
21
+ try {
22
+ const response = await fetch('/generate-video', {
23
+ method: 'POST',
24
+ headers: {
25
+ 'Content-Type': 'application/json'
26
+ },
27
+ body: JSON.stringify({
28
+ prompt,
29
+ language,
30
+ duration,
31
+ voice_en: voiceEn,
32
+ voice_hi: voiceHi
33
+ })
34
+ });
35
+
36
+ const data = await response.json();
37
+
38
+ if (data.error) {
39
+ throw new Error(data.error);
40
+ }
41
+
42
+ loading.style.display = 'none';
43
+ resultDiv.style.display = 'block';
44
+
45
+ const videoEl = document.getElementById('videoOutput');
46
+ videoEl.src = data.video_url;
47
+ videoEl.load();
48
+
49
+ document.getElementById('downloadBtn').href = data.video_url;
50
+
51
+ } catch (error) {
52
+ loading.style.display = 'none';
53
+ alert('❌ Error: ' + error.message);
54
+ }
55
+ });
56
+
57
+ // ===== LANGUAGE TOGGLE =====
58
+ document.getElementById('language').addEventListener('change', function() {
59
+ const lang = this.value;
60
+ document.getElementById('voiceEnGroup').style.display = lang === 'en' ? 'block' : 'none';
61
+ document.getElementById('voiceHiGroup').style.display = lang === 'hi' ? 'block' : 'none';
62
+ });
63
+
64
+ // Initialize
65
+ document.getElementById('language').dispatchEvent(new Event('change'));