Spaces:
Sleeping
Sleeping
| # This module is created for the layout of the main page | |
| import time | |
| import gradio as gr | |
| import constants | |
| def __respond(message, chat_history): # A function for the chatbot, so the chatbot can reply the message | |
| botMessage = constants.automaticAnswer(message) # Calling the function in constants to create an automatic respond | |
| chat_history.append((message, botMessage)) # Display the dialogue on the chat panel | |
| time.sleep(2) # Create a small delay | |
| return chat_history | |
| def render(): # Render the main page | |
| firstRow = gr.Row(visible=False) # It will be invisible if the landing page is still on display | |
| with firstRow: # In the first row | |
| chatbot = gr.Chatbot(height=680) # Creating the chat panel and bot | |
| secondRow = gr.Row(visible=False) # It will be invisible if the landing page is still on display | |
| with secondRow: # In the second row | |
| with gr.Column(): # Make the components stacked under the chat panel | |
| with gr.Row(): # Make the components side by side | |
| chooseResp = gr.Dropdown(choices=constants.QUESTIONS, interactive=True, show_label=False, | |
| container=False, ) # User prompted reply | |
| submitButton = gr.Button("Submit", interactive=True, variant='primary', scale=0, ) # Submit button | |
| clearButton = gr.ClearButton([chooseResp, chatbot], scale=0, variant='primary') # Clear button | |
| submitButton.click(fn=__respond, inputs=[chooseResp, chatbot], outputs=chatbot) # Event listener if the | |
| # button is clicked | |
| return firstRow, secondRow | |