Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
| 193 |
-
|
| 194 |
-
|
| 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 |
-
|
| 281 |
-
|
| 282 |
-
|
|
|
|
|
|
|
|
|
|
| 283 |
with initial_menu_container:
|
| 284 |
display_initial_header()
|
| 285 |
-
|
| 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
|
| 294 |
initial_menu_container.empty()
|
| 295 |
-
process_message(
|
|
|
|
|
|
| 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
|