CINXE.COM
CaboodleAI Portal
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <link href="/images/favicon.png" rel="shortcut icon" type="image/png"> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="theme-color" content="#000000" /> <link rel="apple-touch-icon" href="/logos/favicon.png" /> <link rel="manifest" href="/manifest.json" /> <link rel="stylesheet" href="/css/font-awesome.min.css"> <title>CaboodleAI Portal</title> <style> body { font-family: Arial, Helvetica, sans-serif; } /* The Modal (background) */ .modal { display: none; /* Hidden by default */ position: fixed; /* Stay in place */ z-index: 10000; /* Sit on top */ padding-top: 100px; /* Location of the box */ left: 0; top: 0; width: 100%; /* Full width */ height: 100%; /* Full height */ overflow: auto; /* Enable scroll if needed */ background-color: rgb(0, 0, 0); /* Fallback color */ background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */ } /* Modal Content */ .modal-content { background-color: #fefefe; margin: auto; padding: 20px; border: 1px solid rgb(143, 55, 233); width: 40%; } .modal-button { height: 30px; color: rgb(255, 255, 255); fill: rgb(255, 255, 255); background-color: rgb(143, 55, 233); border: 1px solid rgb(143, 55, 233); min-width: 130px; max-width: initial; cursor: pointer; } </style> <script type="module" crossorigin src="/assets/index.f71a58c4-5eb4-42.js"></script> <link rel="modulepreload" crossorigin href="/assets/jspdf.b258ee4f-0054-44.js"> <link rel="modulepreload" crossorigin href="/assets/@ckeditor/ckeditor5-react.f5542937-e6c2-4c.js"> <link rel="modulepreload" crossorigin href="/assets/@material-ui/core.f477fa1b-d1df-47.js"> <link rel="modulepreload" crossorigin href="/assets/react-redux.6d1ade67-20e4-4c.js"> <link rel="modulepreload" crossorigin href="/assets/redux.91e6be96-2751-49.js"> <link rel="modulepreload" crossorigin href="/assets/redux-thunk.14870c9e-1982-4e.js"> <link rel="modulepreload" crossorigin href="/assets/history.611df9f5-b8be-4e.js"> <link rel="modulepreload" crossorigin href="/assets/react-router-dom.93c7f5bb-d501-49.js"> <link rel="modulepreload" crossorigin href="/assets/ckeditor5.dab027fc-56c0-40.js"> <link rel="modulepreload" crossorigin href="/assets/react-color.9c206bb0-da8b-48.js"> <link rel="modulepreload" crossorigin href="/assets/react-virtualized.360671e1-46fa-4b.js"> <link rel="modulepreload" crossorigin href="/assets/react-quill.1866455e-9edb-4a.js"> <link rel="modulepreload" crossorigin href="/assets/crypto-js.60d35004-dece-4b.js"> <link rel="modulepreload" crossorigin href="/assets/react-sortable-hoc.e36b7a68-51f4-41.js"> <link rel="modulepreload" crossorigin href="/assets/recharts.3c71283d-584d-4b.js"> <link rel="modulepreload" crossorigin href="/assets/universal-cookie.ac93d6c2-61d5-4d.js"> <link rel="modulepreload" crossorigin href="/assets/localforage.fb3fbe4f-010e-49.js"> <link rel="modulepreload" crossorigin href="/assets/moment.6c1f73a4-43f8-43.js"> <link rel="modulepreload" crossorigin href="/assets/yup.93117203-9761-42.js"> <link rel="modulepreload" crossorigin href="/assets/jwt-decode.9865ba8f-b591-47.js"> <link rel="modulepreload" crossorigin href="/assets/oidc-client.712d5b7e-806f-4c.js"> <link rel="modulepreload" crossorigin href="/assets/moment-timezone.c65e296d-589d-4c.js"> <link rel="modulepreload" crossorigin href="/assets/reselect.a9e1d404-4183-47.js"> <link rel="modulepreload" crossorigin href="/assets/@material-ui/lab.4161f9ca-c8f8-4b.js"> <link rel="modulepreload" crossorigin href="/assets/comlink.807dcbac-95cb-42.js"> <link rel="stylesheet" href="/assets/index-ffcf7edb.css"> </head> <body> <noscript>You need to enable JavaScript to run this app.</noscript> <div id="root" style="min-height: 100%"></div> <div id="myModal" class="modal"> <div class="modal-content"> <p>New version of portal available, click on reload button to update</p> <button class="modal-button">Reload</button> </div> </div> <input type="hidden" value="production" id="node_env_mode" /> <input type="hidden" value="1732085314508" id="build_id" /> <script> function getCookie(cname) { let name = cname + "="; let ca = decodeURIComponent(document.cookie).split(';'); for (let i = 0; i < ca.length; i++) { let c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } function setCookie(cname, cvalue, exdays) { const d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); let expires = "expires=" + d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; } const mode = document.querySelector("#node_env_mode").value; const buildId = document.querySelector("#build_id").value; const cacheBuildId = getCookie('buildId'); if (cacheBuildId !== buildId && mode === 'production') { var modal = document.getElementById("myModal"); var button = document.getElementsByClassName("modal-button")[0]; modal.style.display = "block"; button.onclick = function () { modal.style.display = "none"; setCookie('buildId', buildId, 365) window.location.reload() } } if (mode === "production" && window.location.origin !== "https://staging-portal.caboodleai.net" && typeof window.__REACT_DEVTOOLS_GLOBAL_HOOK__ === 'object') { __REACT_DEVTOOLS_GLOBAL_HOOK__.inject = function () { }; } </script> <script src="https://www.google.com/recaptcha/api.js" defer></script> </body> </html>