check_input / app.py
jy-raychen's picture
hidden
38b8062 verified
import gradio as gr
# --- Init params ---
def init_params(text, request: gr.Request):
youtube_link = ""
password_text = ""
block_ready_flag = "READY"
admin = gr.update(visible=True)
return admin, password_text, youtube_link, block_ready_flag
HEAD = """
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
svg.markmap {{
width: 100%;
height: 100vh;
}}
</style>
<script src="https://cdn.jsdelivr.net/npm/markmap-autoloader@0.15.2"></script>
<script>
const mind_map_tab_button = document.querySelector("#mind_map_tab-button");
if (mind_map_tab_button) {
mind_map_tab_button.addEventListener('click', function() {
const mind_map_markdown = document.querySelector("#mind_map_markdown > label > textarea");
if (mind_map_markdown) {
// 当按钮被点击时,打印当前的textarea的值
console.log('Value changed to: ' + mind_map_markdown.value);
markmap.autoLoader.renderAll();
}
});
}
</script>
"""
with gr.Blocks(theme=gr.themes.Base(primary_hue=gr.themes.colors.orange, secondary_hue=gr.themes.colors.amber, text_size = gr.themes.sizes.text_lg), head=HEAD) as demo:
with gr.Row() as admin:
password = gr.Textbox(label="Password", type="password", elem_id="password_input", visible=True)
youtube_link = gr.Textbox(label="Enter YouTube Link", elem_id="youtube_link_input", visible=True)
video_id = gr.Textbox(label="video_id", visible=True)
# file_upload = gr.File(label="Upload your CSV or Word file", visible=False)
# web_link = gr.Textbox(label="Enter Web Page Link", visible=False)
user_data = gr.Textbox(label="User Data", elem_id="user_data_input", visible=True)
block_ready_flag = gr.Textbox(label="load_ready_flag", elem_id="block_ready_flag", value="LOADING", visible=True)
youtube_link_btn = gr.Button("Submit_YouTube_Link", elem_id="youtube_link_btn", visible=True)
with gr.Row() as data_state:
content_subject_state = gr.State() # 使用 gr.State 存储 content_subject
# init_params
init_outputs = [
admin,
password,
youtube_link,
block_ready_flag,
]
demo.load(
init_params,
inputs =[youtube_link],
outputs = init_outputs
)
block_ready_flag.visible = False
demo.launch(allowed_paths=["videos"], server_name="0.0.0.0", server_port=7860)