| 77 | }; |
| 78 | |
| 79 | const fetchScreenshot = async () => { |
| 80 | try { |
| 81 | const timestamp = new Date().getTime(); |
| 82 | const res = await axios.get( |
| 83 | `${BACKEND_URL}/screenshots/updated_screen.png?timestamp=${timestamp}`, |
| 84 | { |
| 85 | responseType: "blob", |
| 86 | } |
| 87 | ); |
| 88 | console.log("Screenshot fetched successfully"); |
| 89 | const imageUrl = URL.createObjectURL(res.data); |
| 90 | setResponseData((prev) => { |
| 91 | if (prev?.screenshot && prev.screenshot !== "placeholder.png") { |
| 92 | URL.revokeObjectURL(prev.screenshot); |
| 93 | } |
| 94 | return { |
| 95 | ...prev, |
| 96 | screenshot: imageUrl, |
| 97 | screenshotTimestamp: new Date().getTime(), |
| 98 | }; |
| 99 | }); |
| 100 | } catch (err) { |
| 101 | console.error("Error fetching screenshot:", err); |
| 102 | setResponseData((prev) => ({ |
| 103 | ...prev, |
| 104 | screenshot: "placeholder.png", |
| 105 | screenshotTimestamp: new Date().getTime(), |
| 106 | })); |
| 107 | } |
| 108 | }; |
| 109 | |
| 110 | const normalizeAnswer = (answer) => { |
| 111 | return answer |