MZhaovo's picture
Upload folder using huggingface_hub
425b9a7
raw
history blame
3.41 kB
var key_down_history = [];
var currentIndex = -1;
var gradioContainer = null;
var isInIframe = (window.self !== window.top);
var currentTime = new Date().getTime();
let windowWidth = window.innerWidth;
let lines_json = []
let lines_praise = []
function addInit() {
return true;
}
function gradioApp() {
const elems = document.getElementsByTagName('gradio-app');
const elem = elems.length == 0 ? document : elems[0];
if (elem !== document) {
elem.getElementById = function(id) {
return document.getElementById(id);
};
}
return elem.shadowRoot ? elem.shadowRoot : elem;
}
function initialize() {
gradioObserver.observe(gradioApp(), { childList: true, subtree: true });
gradioContainer = gradioApp().querySelector(".gradio-container");
fetch('file=assets/lines.json')
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
lines_json = data;
set_speak_examples();
})
.catch(error => {
console.error('There has been a problem with your fetch operation:', error);
});
return true;
}
function set_speak_examples() {
buttons = gradioApp().querySelectorAll("#examples div button");
speak_input = gradioApp().querySelector("#speak_input label textarea");
let lines_praise = lines_json["夸夸你 | Praise"];
let lines_scripts = lines_json["游戏台词 | Scripts"];
let lines_meme = lines_json["玩梗 | Meme"];
let praiseArray = Object.values(lines_praise);
let scriptsArray = Object.values(lines_scripts);
let memeArray = Object.values(lines_meme);
buttons[0].addEventListener("click", function() {
const randomString = praiseArray[Math.floor(Math.random() * praiseArray.length)];
speak_input.value = randomString;
var event = new Event('input', {
bubbles: true,
cancelable: true,
});
speak_input.dispatchEvent(event);
});
buttons[1].addEventListener("click", function() {
const randomString = scriptsArray[Math.floor(Math.random() * scriptsArray.length)];
speak_input.value = randomString;
var event = new Event('input', {
bubbles: true,
cancelable: true,
});
speak_input.dispatchEvent(event);
});
buttons[2].addEventListener("click", function() {
const randomString = memeArray[Math.floor(Math.random() * memeArray.length)];
speak_input.value = randomString;
var event = new Event('input', {
bubbles: true,
cancelable: true,
});
speak_input.dispatchEvent(event);
});
}
// 监视页面内部 DOM 变动
var gradioObserver = new MutationObserver(function (mutations) {
for (var i = 0; i < mutations.length; i++) {
if (mutations[i].addedNodes.length) {
if (addInit()) {
gradioObserver.disconnect();
return;
}
}
}
});
// 监视页面变化
window.addEventListener("DOMContentLoaded", function () {
windowWidth = window.innerWidth;
gradioApp().addEventListener("render", initialize);
isInIframe = (window.self !== window.top);
});
console.log("Welcome to TalkingFlower!");