IAMTFRMZA commited on
Commit
6fcac76
ยท
verified ยท
1 Parent(s): ce2ef23

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -34
app.py CHANGED
@@ -140,44 +140,50 @@ with gr.Blocks(theme=gr.themes.Soft()) as app:
140
  image_state = gr.State()
141
  client_id = gr.State()
142
 
143
- left_col = gr.Column(visible=True, scale=1)
144
- with left_col:
145
- image_display = gr.Image(label="๐Ÿ–ผ๏ธ Document", type="filepath", show_download_button=False, height=600)
146
-
147
- center_col = gr.Column(scale=2)
148
- with center_col:
149
- chat = gr.Chatbot(label="๐Ÿ’ฌ Chat", height=600)
150
- with gr.Row():
151
- user_prompt = gr.Textbox(placeholder="Ask your question...", show_label=False, scale=8)
152
- send_btn = gr.Button("Send", variant="primary", scale=2)
153
- with gr.Row():
154
- clear_chat_btn = gr.Button("๐Ÿ—‘๏ธ Clear Chat")
155
-
156
- right_col = gr.Column(visible=True, scale=1)
157
- with right_col:
158
- gr.Markdown("### ๐ŸŽ™๏ธ Voice Input")
159
- voice_input = gr.Audio(label="Tap to Record", streaming=True, type="numpy", show_label=True)
160
- voice_transcript = gr.Textbox(label="Transcript", lines=2, interactive=False)
161
- with gr.Row():
162
- voice_send_btn = gr.Button("๐ŸŸข Send Voice to Assistant")
163
- clear_transcript_btn = gr.Button("๐Ÿงน Clear Transcript")
164
-
165
- def toggle_left_panel():
166
- new_vis = not left_col.visible
167
- new_center_scale = 2 if new_vis and right_col.visible else (3 if new_vis or right_col.visible else 4)
168
- return gr.update(visible=new_vis), gr.update(scale=new_center_scale)
169
-
170
- def toggle_right_panel():
171
- new_vis = not right_col.visible
172
- new_center_scale = 2 if new_vis and left_col.visible else (3 if new_vis or left_col.visible else 4)
173
- return gr.update(visible=new_vis), gr.update(scale=new_center_scale)
174
-
175
  with gr.Row():
176
  toggle_left_btn = gr.Button("๐Ÿ“„ Toggle Document Panel")
177
  toggle_right_btn = gr.Button("๐ŸŽ™๏ธ Toggle Voice Panel")
178
 
179
- toggle_left_btn.click(fn=toggle_left_panel, outputs=[left_col, center_col])
180
- toggle_right_btn.click(fn=toggle_right_panel, outputs=[right_col, center_col])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
181
 
182
  send_btn.click(fn=handle_chat, inputs=[user_prompt, chat_state, thread_state, image_state],
183
  outputs=[user_prompt, chat, thread_state, image_state])
 
140
  image_state = gr.State()
141
  client_id = gr.State()
142
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143
  with gr.Row():
144
  toggle_left_btn = gr.Button("๐Ÿ“„ Toggle Document Panel")
145
  toggle_right_btn = gr.Button("๐ŸŽ™๏ธ Toggle Voice Panel")
146
 
147
+ with gr.Row(equal_height=True) as layout:
148
+ left_col = gr.Column(visible=True, scale=1)
149
+ with left_col:
150
+ image_display = gr.Image(label="๐Ÿ–ผ๏ธ Document", type="filepath", show_download_button=False, height=600)
151
+
152
+ center_col = gr.Column(scale=2)
153
+ with center_col:
154
+ chat = gr.Chatbot(label="๐Ÿ’ฌ Chat", height=600)
155
+ with gr.Row():
156
+ user_prompt = gr.Textbox(placeholder="Ask your question...", show_label=False, scale=8)
157
+ send_btn = gr.Button("Send", variant="primary", scale=2)
158
+ with gr.Row():
159
+ clear_chat_btn = gr.Button("๐Ÿ—‘๏ธ Clear Chat")
160
+
161
+ right_col = gr.Column(visible=True, scale=1)
162
+ with right_col:
163
+ gr.Markdown("### ๐ŸŽ™๏ธ Voice Input")
164
+ voice_input = gr.Audio(label="Tap to Record", streaming=True, type="numpy", show_label=True)
165
+ voice_transcript = gr.Textbox(label="Transcript", lines=2, interactive=False)
166
+ with gr.Row():
167
+ voice_send_btn = gr.Button("๐ŸŸข Send Voice to Assistant")
168
+ clear_transcript_btn = gr.Button("๐Ÿงน Clear Transcript")
169
+
170
+ def toggle_left_panel(current_visibility, right_visible):
171
+ new_vis = not current_visibility
172
+ center_scale = 2 if new_vis and right_visible else (3 if new_vis or right_visible else 4)
173
+ return gr.update(visible=new_vis), gr.update(scale=center_scale)
174
+
175
+ def toggle_right_panel(left_visible, current_visibility):
176
+ new_vis = not current_visibility
177
+ center_scale = 2 if new_vis and left_visible else (3 if new_vis or left_visible else 4)
178
+ return gr.update(visible=new_vis), gr.update(scale=center_scale)
179
+
180
+ toggle_left_btn.click(fn=toggle_left_panel,
181
+ inputs=[left_col, right_col],
182
+ outputs=[left_col, center_col])
183
+
184
+ toggle_right_btn.click(fn=toggle_right_panel,
185
+ inputs=[left_col, right_col],
186
+ outputs=[right_col, center_col])
187
 
188
  send_btn.click(fn=handle_chat, inputs=[user_prompt, chat_state, thread_state, image_state],
189
  outputs=[user_prompt, chat, thread_state, image_state])