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 | |
| ) |