Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -190,6 +190,17 @@ with col2:
|
|
190 |
st.session_state.nivel_conciencia,
|
191 |
st.session_state.formato
|
192 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
# Guardar en session_state
|
194 |
st.session_state.perfil_cliente = perfil_cliente
|
195 |
# Resetear el estado de env铆o
|
@@ -199,18 +210,18 @@ with col2:
|
|
199 |
if not isinstance(st.session_state.perfil_cliente, str):
|
200 |
st.error("Error al generar el perfil de cliente ideal")
|
201 |
else:
|
|
|
|
|
|
|
202 |
# Aplicar estilos del contenedor
|
203 |
st.markdown(styles["results_container"], unsafe_allow_html=True)
|
204 |
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
# Mostrar el contenido como Markdown (no dentro del HTML)
|
213 |
-
st.markdown(st.session_state.perfil_cliente)
|
214 |
|
215 |
# Opci贸n para descargar
|
216 |
st.download_button(
|
@@ -223,18 +234,18 @@ with col2:
|
|
223 |
st.warning("Por favor, completa los campos de producto y habilidades antes de generar el perfil.")
|
224 |
# Mostrar resultados anteriores si existen
|
225 |
elif st.session_state.perfil_cliente:
|
|
|
|
|
|
|
226 |
# Aplicar estilos del contenedor
|
227 |
st.markdown(styles["results_container"], unsafe_allow_html=True)
|
228 |
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
# Mostrar el contenido como Markdown (no dentro del HTML)
|
237 |
-
st.markdown(st.session_state.perfil_cliente)
|
238 |
|
239 |
# Opci贸n para descargar
|
240 |
st.download_button(
|
|
|
190 |
st.session_state.nivel_conciencia,
|
191 |
st.session_state.formato
|
192 |
)
|
193 |
+
|
194 |
+
# Limpiar el perfil si contiene datos de formato raw
|
195 |
+
if isinstance(perfil_cliente, str):
|
196 |
+
# Eliminar cualquier diccionario o estructura JSON que pueda estar en el texto
|
197 |
+
if perfil_cliente.strip().startswith('{') and '}' in perfil_cliente:
|
198 |
+
import re
|
199 |
+
# Buscar el contenido real despu茅s del diccionario
|
200 |
+
match = re.search(r'}\s*(.*)', perfil_cliente, re.DOTALL)
|
201 |
+
if match:
|
202 |
+
perfil_cliente = match.group(1).strip()
|
203 |
+
|
204 |
# Guardar en session_state
|
205 |
st.session_state.perfil_cliente = perfil_cliente
|
206 |
# Resetear el estado de env铆o
|
|
|
210 |
if not isinstance(st.session_state.perfil_cliente, str):
|
211 |
st.error("Error al generar el perfil de cliente ideal")
|
212 |
else:
|
213 |
+
# Crear un contenedor para el resultado
|
214 |
+
result_container = st.container()
|
215 |
+
|
216 |
# Aplicar estilos del contenedor
|
217 |
st.markdown(styles["results_container"], unsafe_allow_html=True)
|
218 |
|
219 |
+
with result_container:
|
220 |
+
# Mostrar el t铆tulo
|
221 |
+
st.markdown("<div class='results-title'>Tu Cliente Ideal</div>", unsafe_allow_html=True)
|
222 |
+
|
223 |
+
# Mostrar el contenido como Markdown
|
224 |
+
st.markdown(st.session_state.perfil_cliente)
|
|
|
|
|
|
|
225 |
|
226 |
# Opci贸n para descargar
|
227 |
st.download_button(
|
|
|
234 |
st.warning("Por favor, completa los campos de producto y habilidades antes de generar el perfil.")
|
235 |
# Mostrar resultados anteriores si existen
|
236 |
elif st.session_state.perfil_cliente:
|
237 |
+
# Crear un contenedor para el resultado
|
238 |
+
result_container = st.container()
|
239 |
+
|
240 |
# Aplicar estilos del contenedor
|
241 |
st.markdown(styles["results_container"], unsafe_allow_html=True)
|
242 |
|
243 |
+
with result_container:
|
244 |
+
# Mostrar el t铆tulo
|
245 |
+
st.markdown("<div class='results-title'>Tu Cliente Ideal</div>", unsafe_allow_html=True)
|
246 |
+
|
247 |
+
# Mostrar el contenido como Markdown
|
248 |
+
st.markdown(st.session_state.perfil_cliente)
|
|
|
|
|
|
|
249 |
|
250 |
# Opci贸n para descargar
|
251 |
st.download_button(
|