Spaces:
Sleeping
Sleeping
import gradio as gr | |
class State: | |
def __init__(self): | |
self.context = "This Adrega component is designed to answer questions provided by API" | |
self.question = "What does this component do?" | |
state = State() | |
js = "window.onMessage = (event) => {alert('Test message received: ')}" | |
def update_values(context, question): | |
output = context + "\n" + question | |
state.context = context | |
state.question = question | |
return output | |
def process_message(message): | |
# Handle incoming messages | |
state.context = message | |
return message | |
with gr.Blocks(js=js) as demo: | |
with gr.Row(): | |
project_data = gr.Textbox( | |
label="Project Data", | |
lines=2, | |
value=state.context, | |
elem_id="project_data" | |
) | |
question = gr.Textbox( | |
label="Question", | |
lines=2, | |
value=state.question, | |
elem_id="question" | |
) | |
output = gr.Textbox( | |
label="Output", | |
elem_id="output" | |
) | |
# Add interface for update_values function | |
update_btn = gr.Button("Update Values") | |
update_btn.click( | |
fn=update_values, | |
inputs=[project_data, question], | |
outputs=output | |
) | |
# Launch the app | |
demo.launch( | |
server_name="0.0.0.0", | |
share=True, | |
allowed_paths=["*"] # Be careful with this in production | |
) |