from dotenv import load_dotenv
import streamlit as st
import os
import google.generativeai as genai
import random
from streamlit import session_state as state
# Configurar la página con el sidebar colapsado
st.set_page_config(
page_title="Tu App",
page_icon="🚀",
layout="wide",
initial_sidebar_state="collapsed"
)
st.markdown("""
""", unsafe_allow_html=True)
# Centrar el título y el subtítulo
st.markdown("
Enchanted Hooks
", unsafe_allow_html=True)
st.markdown("Imagina poder conjurar títulos que no solo informan, sino que encantan. Esta app es tu varita mágica en el mundo del copywriting, transformando cada concepto en un titular cautivador que deja a todos deseando más.
", unsafe_allow_html=True)
# Añadir CSS personalizado para el botón
st.markdown("""
""", unsafe_allow_html=True)
# Crear columnas
col1, col2 = st.columns([1, 2])
# Columnas de entrada
with col1:
target_audience = st.text_input("¿Quién es tu público objetivo?", placeholder="Ejemplo: Estudiantes Universitarios")
product = st.text_input("¿Qué producto tienes en mente?", placeholder="Ejemplo: Curso de Inglés")
number_of_headlines = st.selectbox("Número de Titulares", options=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], index=4)
# Crear un único acordeón para fórmula y creatividad
with st.expander("Personaliza tus titulares"):
temperature = st.slider("Creatividad", min_value=0.0, max_value=2.0, value=1.0, step=0.1)
selected_formula_key = st.selectbox(
"Selecciona una fórmula para tus titulares",
options=list(headline_formulas.keys())
)
selected_formula = headline_formulas[selected_formula_key]
# Botón de enviar
submit = st.button("Generar Titulares")
# Mostrar los titulares generados
if submit:
if target_audience and product and selected_formula:
try:
# Obtener la respuesta del modelo
generated_headlines = generate_headlines(number_of_headlines, target_audience, product, temperature, selected_formula)
col2.markdown(f"""
Observa la magia en acción:
{generated_headlines}
""", unsafe_allow_html=True)
except ValueError as e:
col2.error(f"Error: {str(e)}")
else:
col2.error("Por favor, proporciona el público objetivo, el producto y selecciona una fórmula.")