Uncategorized

Test Post

<style>     /* Styles for the popup */     .center {         display: flex;         flex-direction: column;         justify-content: center;         align-items: center;     }       body {         overflow: hidden;         /* Hide scrollbars */     }       #launchButton {         background-color: #0074d9;         /* Set the background color to a blue shade */         color: #fff;         /* Set the text color to white */         padding: 5px 10px;         /* Add some padding to the button */         border: none;         /* Remove the button border */         cursor: pointer;         /* Change the cursor to a hand pointer on hover */         font-size: 20px;         /* Set the font size */         border-radius: 0;         /* Remove border radius */     } </style> <div class=”center”>     <button id=”launchButton”>Get Measurements</button> </div>   <script>     // Button to launch the Photo To Measurement Web App     const launchButton = document.getElementById(“launchButton”);       function getToken() {         return new Promise((resolve, reject) => {             const tokenURL = “https://api-p2s.3dmeasureup.ai/domain-auth-token/”;             const xhttp = new XMLHttpRequest();             xhttp.open(“GET”, tokenURL, true);             xhttp.onreadystatechange = function () {                 if (this.readyState == 4) {                     if (this.status == 200) {                         const res = JSON.parse(this.responseText);                         console.log(res.token);                         resolve(res.token);                     } else {                         reject(new Error(`Error: ${this.status} – ${this.responseText}`));                     }                 }             };             xhttp.send();         });     }       // Event listener to launch and receive data from the Photo To Measure App     launchButton.addEventListener(“click”, () => {         getToken();         const tokenURL = “https://api-p2s.3dmeasureup.ai/domain-auth-token”;         var xhttp = new XMLHttpRequest();         xhttp.open(“GET”, tokenURL, true);         xhttp.send();           xhttp.onreadystatechange = function () {             if (this.readyState == 4) {                 if (this.status == 200) {                     const res = JSON.parse(this.responseText);                     const childWindow = window.open(`https://app-p2s.3dmeasureup.ai/index.html?auth_handler=${res.token}`, ‘_blank’);                     // const childWindow = window.open(`http://127.0.0.1:6591/index.html?auth_handler=${res.token}`, ‘_blank’);                       // Listen for messages from the child window                     window.addEventListener(“message”, (event) => {                         if (event.origin === “https://app-p2s.3dmeasureup.ai”) {                             // Handle data received from the child window                             const data = event.data;                             if (data.status == false) {                                 launchButton.textContent = “Try Again…”;                                   // Set a timeout to revert the text back to “Get Measurements” after 3 seconds                                 setTimeout(() => {                                     launchButton.textContent = “Get Measurements”;                                 }, 3000);                             } else {                                 const measurement = {};                                 data.forEach(item => {                                     // Convert label to lowercase and remove spaces                                     const key = item.label.toLowerCase().replace(/\s/g, ”);                                     // Round length to 2 decimal places                                     const value = Math.round(item.length * 100) / 100;                                     // Assign key-value pair to the measurement object                                     measurement[key] = value;                                 });                                 // Store data in session storage                                 sessionStorage.setItem(‘measurementData’, JSON.stringify(measurement));                             }                         }                     });                     const parentURL = window.location.href;                     childWindow.postMessage(parentURL, “*”);                 } else if (this.status == 403) {                     console.log(this.responseText);                 } else if (this.status == 500) {                     console.log(this.responseText);                 } else if (this.status == 0) {                     console.log(“Request failed”);                 }             }         };     }); </script>