Spaces:
Build error
Build error
| // SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. | |
| // SPDX-License-Identifier: MIT | |
| // | |
| // Permission is hereby granted, free of charge, to any person obtaining a | |
| // copy of this software and associated documentation files (the "Software"), | |
| // to deal in the Software without restriction, including without limitation | |
| // the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
| // and/or sell copies of the Software, and to permit persons to whom the | |
| // Software is furnished to do so, subject to the following conditions: | |
| // | |
| // The above copyright notice and this permission notice shall be included in | |
| // all copies or substantial portions of the Software. | |
| // | |
| // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
| // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | |
| // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
| // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
| // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | |
| // DEALINGS IN THE SOFTWARE. | |
| () => { | |
| // file to customize behavior | |
| console.log('js loaded', window.location.href); | |
| //handle launch | |
| let reload = false; | |
| let gradioURL = new URL(window.location.href); | |
| if(gradioURL.searchParams.has('cookie')) { | |
| const secureCookie = gradioURL.searchParams.get('cookie'); | |
| gradioURL.searchParams.delete('cookie'); | |
| // to do set the cookie | |
| const SESSION_COOKIE_EXPIRY = 60 * 60 * 24; // 1 day | |
| //document.cookie = `_s_chat_=${secureCookie}; path=${location.pathname}; max-age=${SESSION_COOKIE_EXPIRY}; samesite=strict`; | |
| document.cookie = `_s_chat_=${secureCookie}; path=${location.pathname}; samesite=strict`; | |
| reload = true; | |
| } | |
| if( | |
| !gradioURL.searchParams.has('__theme') || | |
| (gradioURL.searchParams.has('__theme') && gradioURL.searchParams.get('__theme') !== 'dark') | |
| ) { | |
| gradioURL.searchParams.delete('__theme'); | |
| gradioURL.searchParams.set('__theme', 'dark'); | |
| reload = true; | |
| } | |
| if(reload) { | |
| window.location.replace(gradioURL.href); | |
| } | |
| //tool tip | |
| var elements = document.getElementsByClassName("tooltip-component"); | |
| console.log('elements found', elements.length) | |
| Array.prototype.forEach.call(elements, function (element) { | |
| // Get the tooltip content based on the element's ID | |
| var tooltipContent = getTooltipContent(element.id); | |
| console.log('tooltip content', tooltipContent); | |
| if(tooltipContent) { | |
| var tooltip = document.createElement("div"); | |
| // var tooltipContentElement = document.getElementById("tooltip-content-element"); | |
| // tooltipContentElement.forEach(className => { | |
| // tooltip.classList.add(className); | |
| // }); | |
| tooltip.classList.add("tooltip"); | |
| tooltip.style.display = "none"; | |
| tooltip.innerHTML = tooltipContent; | |
| document.body.appendChild(tooltip); | |
| element.addEventListener("mouseover", function () { | |
| console.log('mouse over', elements.length); | |
| var rect = element.getBoundingClientRect(); | |
| tooltip.style.left = rect.left + "px"; | |
| tooltip.style.top = (rect.bottom + 5) + "px"; | |
| tooltip.style.display = "block"; | |
| }); | |
| element.addEventListener("mouseout", function () { | |
| tooltip.style.display = "none"; | |
| }); | |
| } | |
| }); | |
| // Function to get tooltip content based on the element's ID | |
| function getTooltipContent(elementId) { | |
| // Example logic, you can customize it based on your needs | |
| if (elementId === "shutdown-btn") { | |
| return "Shutdown"; | |
| } else if (elementId === "dataset-regenerate-index-btn") { | |
| return "Refresh dataset"; | |
| } else if (elementId === "dataset-update-source-edit-button") { | |
| return "Change folder path"; | |
| } else if (elementId === "chatbot-retry-button") { | |
| return "Regenerate response"; | |
| } else if (elementId === "chatbot-reset-button") { | |
| return "Clear chat"; | |
| } else if (elementId === "chatbot-undo-button") { | |
| return "Undo"; | |
| } | |
| return null; | |
| } | |
| } |