miracle-ema commited on
Commit
f6b8522
·
verified ·
1 Parent(s): 44f58cf

Upload 4 files

Browse files
Files changed (1) hide show
  1. static/script.js +15 -5
static/script.js CHANGED
@@ -8,15 +8,16 @@ document.getElementById("uploadForm").addEventListener("submit", async (e) => {
8
  const loadingElement = document.getElementById("loading");
9
  const errorElement = document.getElementById("error");
10
 
 
11
  visualizationImage.src = "";
12
  visualizationImage.classList.remove("loaded");
13
  generatedCodeElement.textContent = "";
14
  errorElement.textContent = "";
15
  errorElement.classList.add("hidden");
16
-
17
  loadingElement.classList.remove("hidden");
18
 
19
  try {
 
20
  const uploadFormData = new FormData();
21
  uploadFormData.append("file", fileInput.files[0]);
22
 
@@ -33,6 +34,7 @@ document.getElementById("uploadForm").addEventListener("submit", async (e) => {
33
  const uploadResult = await uploadResponse.json();
34
  console.log("✅ File uploaded:", uploadResult);
35
 
 
36
  const visFormData = new FormData();
37
  visFormData.append("filename", uploadResult.filename);
38
  visFormData.append("prompt", promptInput.value);
@@ -50,14 +52,22 @@ document.getElementById("uploadForm").addEventListener("submit", async (e) => {
50
  const result = await visResponse.json();
51
  console.log("🔹 Response from API:", result);
52
 
53
- if (result.plot_url) {
54
- visualizationImage.src = result.plot_url;
 
 
 
 
 
 
55
  visualizationImage.onload = () => {
56
  visualizationImage.classList.add("loaded");
57
  };
58
- generatedCodeElement.textContent = result.generated_code;
 
 
59
  } else {
60
- throw new Error("No plot URL received.");
61
  }
62
  } catch (error) {
63
  console.error("Error:", error);
 
8
  const loadingElement = document.getElementById("loading");
9
  const errorElement = document.getElementById("error");
10
 
11
+ // Reset UI
12
  visualizationImage.src = "";
13
  visualizationImage.classList.remove("loaded");
14
  generatedCodeElement.textContent = "";
15
  errorElement.textContent = "";
16
  errorElement.classList.add("hidden");
 
17
  loadingElement.classList.remove("hidden");
18
 
19
  try {
20
+ // Upload file
21
  const uploadFormData = new FormData();
22
  uploadFormData.append("file", fileInput.files[0]);
23
 
 
34
  const uploadResult = await uploadResponse.json();
35
  console.log("✅ File uploaded:", uploadResult);
36
 
37
+ // Generate visualization
38
  const visFormData = new FormData();
39
  visFormData.append("filename", uploadResult.filename);
40
  visFormData.append("prompt", promptInput.value);
 
52
  const result = await visResponse.json();
53
  console.log("🔹 Response from API:", result);
54
 
55
+ // Always display generated code if present
56
+ if (result.generated_code) {
57
+ generatedCodeElement.textContent = result.generated_code;
58
+ }
59
+
60
+ // Display plot or error
61
+ if (result.plot_base64) {
62
+ visualizationImage.src = `data:image/png;base64,${result.plot_base64}`;
63
  visualizationImage.onload = () => {
64
  visualizationImage.classList.add("loaded");
65
  };
66
+ } else if (result.error) {
67
+ errorElement.textContent = `Error: ${result.error}`;
68
+ errorElement.classList.remove("hidden");
69
  } else {
70
+ throw new Error("No plot or error message received.");
71
  }
72
  } catch (error) {
73
  console.error("Error:", error);