JeCabrera commited on
Commit
b9ca27e
·
verified ·
1 Parent(s): b2ac269

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -9
app.py CHANGED
@@ -189,9 +189,9 @@ def display_examples():
189
  for idx, ejemplo in enumerate(ejemplos):
190
  with cols[idx]:
191
  if st.button(ejemplo["texto"], key=f"ejemplo_{idx}", help=ejemplo["prompt"]):
192
- selected_prompt = ejemplo["prompt"]
193
-
194
- return selected_prompt
195
 
196
  # Cargar variables de entorno
197
  load_dotenv()
@@ -260,6 +260,15 @@ for message in state.messages:
260
  # Capturar entrada del usuario antes de renderizar el menú inicial
261
  user_prompt = st.chat_input('Describe tu audiencia y el objetivo de tu Reel...')
262
 
 
 
 
 
 
 
 
 
 
263
  # Inicializar el chat con el prompt unificado una sola vez por chat nuevo
264
  if 'system_prompt_initialized_chat_id' not in st.session_state:
265
  st.session_state.system_prompt_initialized_chat_id = None
@@ -277,19 +286,24 @@ if (
277
 
278
  # Renderizar menú inicial en un contenedor limpiable
279
  initial_menu_container = st.container()
280
- selected_example_prompt = None
281
-
282
- if not state.has_messages() and not user_prompt:
 
 
 
283
  with initial_menu_container:
284
  display_initial_header()
285
- selected_example_prompt = display_examples()
286
 
287
  # Procesar entrada del usuario (oculta el menú inmediatamente)
288
  if user_prompt:
 
289
  initial_menu_container.empty()
290
  process_message(user_prompt, is_example=False)
291
 
292
  # Procesar ejemplo seleccionado (oculta el menú inmediatamente)
293
- if selected_example_prompt:
294
  initial_menu_container.empty()
295
- process_message(selected_example_prompt, is_example=True)
 
 
189
  for idx, ejemplo in enumerate(ejemplos):
190
  with cols[idx]:
191
  if st.button(ejemplo["texto"], key=f"ejemplo_{idx}", help=ejemplo["prompt"]):
192
+ st.session_state.pending_example_prompt = ejemplo["prompt"]
193
+ st.session_state.hide_initial_menu = True
194
+ st.rerun()
195
 
196
  # Cargar variables de entorno
197
  load_dotenv()
 
260
  # Capturar entrada del usuario antes de renderizar el menú inicial
261
  user_prompt = st.chat_input('Describe tu audiencia y el objetivo de tu Reel...')
262
 
263
+ if 'pending_example_prompt' not in st.session_state:
264
+ st.session_state.pending_example_prompt = None
265
+
266
+ if 'hide_initial_menu' not in st.session_state:
267
+ st.session_state.hide_initial_menu = False
268
+
269
+ if state.has_messages():
270
+ st.session_state.hide_initial_menu = True
271
+
272
  # Inicializar el chat con el prompt unificado una sola vez por chat nuevo
273
  if 'system_prompt_initialized_chat_id' not in st.session_state:
274
  st.session_state.system_prompt_initialized_chat_id = None
 
286
 
287
  # Renderizar menú inicial en un contenedor limpiable
288
  initial_menu_container = st.container()
289
+ if (
290
+ not st.session_state.hide_initial_menu
291
+ and not state.has_messages()
292
+ and not user_prompt
293
+ and not st.session_state.pending_example_prompt
294
+ ):
295
  with initial_menu_container:
296
  display_initial_header()
297
+ display_examples()
298
 
299
  # Procesar entrada del usuario (oculta el menú inmediatamente)
300
  if user_prompt:
301
+ st.session_state.hide_initial_menu = True
302
  initial_menu_container.empty()
303
  process_message(user_prompt, is_example=False)
304
 
305
  # Procesar ejemplo seleccionado (oculta el menú inmediatamente)
306
+ if st.session_state.pending_example_prompt:
307
  initial_menu_container.empty()
308
+ process_message(st.session_state.pending_example_prompt, is_example=True)
309
+ st.session_state.pending_example_prompt = None