Redirección de inicio de sesión y/o componente de banner de página de grupo

Este componente le permite redirigir a los usuarios a donde desee después de iniciar sesión, y también le permite colocar un banner de bienvenida en la página de grupos ( /g ).

Está construido con ambas partes independientes, por lo que puede redirigir a donde quiera, o usarlo solo para colocar un banner en la página de grupos. El comportamiento predeterminado es redirigir a los nuevos usuarios a la página de grupos donde un banner de bienvenida los anima a unirse a grupos para ayudarles a interactuar con su comunidad.

También puede usar este componente para redirigir a usuarios con un cierto nivel de confianza a una página al iniciar sesión, o a usuarios que se han unido con menos de una cantidad de grupos que usted seleccione.

First Login Redirect

Un componente de tema de Discourse que redirige a los usuarios sin membresías de grupo a una página personalizada y muestra un banner de bienvenida personalizable.

Características

  • :counterclockwise_arrows_button: Redirección Inteligente - Redirige a los usuarios sin membresías de grupo a una página personalizada al iniciar sesión
  • :artist_palette: Banner Personalizable - Banner de bienvenida colorido en la página de grupos
  • :gear: Totalmente Configurable - Habilita/deshabilita la redirección y el banner de forma independiente
  • :bust_in_silhouette: Lógica basada en Grupos - Deja de redirigir una vez que el usuario se une a cualquier grupo
  • :bullseye: Conocimiento del Nivel de Confianza - La visibilidad del banner se puede restringir por nivel de confianza
  • :rainbow: Degradado Arcoíris - Fondo de degradado de 6 colores llamativo (con interruptor para color sólido)
  • :mobile_phone: Adaptable a Móviles - El banner se adapta a las pantallas móviles

Instalación

  1. En la consola de administración de Discourse, vaya a Personalizar → Temas → Componentes y haga clic en Instalar

  2. Elija Desde un repositorio Git y pegue:

    https://github.com/focallocal/first-login-redirect
    
  3. Una vez instalado, agregue el componente a su tema activo

Cómo Funciona

Lógica de Redirección

  • Comprueba si el usuario es miembro de algún grupo
  • Detecta cuándo navega a la página de inicio
  • Lo redirige a la URL configurada (predeterminado: /g)
  • Deja de redirigir una vez que se une a cualquier grupo
  • Se puede deshabilitar independientemente del banner

Banner de Bienvenida

  • Se muestra en la página de índice de grupos (/g) por defecto
  • La visibilidad se controla mediante la configuración del nivel de confianza
  • Se puede deshabilitar independientemente de la redirección
  • Se oculta automáticamente una vez que el usuario alcanza el Nivel de Confianza 1
  • Posicionado en la parte superior de la lista de grupos usando el outlet before-groups-index

Personalización

Configuración del Tema (Panel de Administración)

¡Toda la personalización se puede realizar desde el panel de administración de Discourse sin editar código!

  1. Vaya a Administración → Personalizar → Temas
  2. Haga clic en su tema que incluye este componente
  3. Vaya a Configuración y busque la sección “First Login Redirect”

Configuraciones Disponibles:

Configuración de Redirección:

  • Habilitar Redirección: Activar/desactivar la función de redirección (predeterminado: true)
  • Grupos Mínimos Requeridos: ¿Cuántos grupos creados por el usuario debe unirse antes de que se detenga la redirección (predeterminado: 1)?
    • Los grupos automáticos (como trust_level_0, everyone) no cuentan
  • URL de Redirección: A dónde enviar a los usuarios sin grupos (predeterminado: /g)
    • Ejemplos: /g (grupos), /categories, /about, /latest

Configuración del Banner:

  • Mostrar Banner: Activar/desactivar el banner (predeterminado: true)
  • Nivel de Confianza Mínimo: Nivel de confianza mínimo para ver el banner (0-4, predeterminado: 0)
  • Nivel de Confianza Máximo: Nivel de confianza máximo para ver el banner (0-4, predeterminado: 4)
  • Encabezado del Banner: Texto grande principal
  • Subtítulo del Banner: Texto explicativo más pequeño

Tipografía:

  • Tamaño de Fuente del Encabezado: Tamaño del encabezado principal (predeterminado: 2.5em)
  • Tamaño de Fuente del Subtítulo: Tamaño del subtítulo (predeterminado: 1.25em)
  • Sombra de Texto Habilitada: Activar/desactivar la sombra de texto para legibilidad
  • Resplandor de Texto Habilitado: Activar/desactivar el efecto de resplandor exterior

Colores:

  • Usar Degradado: Habilitar/deshabilitar el degradado (si está deshabilitado, usa color sólido)
  • Color de Degradado 1-6: Personalice cada color en el degradado
    • Predeterminado: Rosa → Naranja → Amarillo → Verde → Cian
    • Configure “Usar Degradado” en OFF para color sólido usando Color 1

Diseño:

  • Relleno del Banner: Espacio dentro del banner (predeterminado: 3rem 2rem)
  • Radio del Borde: Redondez de la esquina (predeterminado: 12px, use 0 para cuadrado)

Ejemplos

Mostrar solo para TL0 (usuarios nuevos):
Establezca Nivel de Confianza Mínimo = 0, Nivel de Confianza Máximo = 0

Mostrar para todos excepto administradores:
Establezca Nivel de Confianza Mínimo = 0, Nivel de Confianza Máximo = 3

Banner de Color Sólido:
Desactive “Usar Degradado” y establezca el Color 1 en el color deseado (ej. #FF5722 para naranja).

Degradado de Dos Tonos:
Active “Usar Degradado” y establezca los colores 1-3 en un color, y los colores 4-6 en otro.

Texto Más Grande:
Establezca el encabezado en 3em y el subtítulo en 1.5em.

Sin Efectos:
Desactive tanto “Sombra de Texto” como “Resplandor de Texto” para texto plano.

Deshabilitar Redirección (Solo Banner)

Elimine o comente el archivo:
javascripts/discourse/api-initializers/first-login-redirect.js

Cambiar Requisito de Nivel de Confianza

En ambos archivos de inicializador, cambie:

currentUser.trust_level === 0

a:

currentUser.trust_level <= 1  // TL0 y TL1

Detalles Técnicos

  • Versión de API: 1.8.0 (API moderna de Discourse)
  • Tipo de Componente: Componente Glimmer con etiqueta de plantilla
  • Outlet de Plugin: before-groups-index
  • Compatibilidad: Discourse 2.8.0+

Solución de Problemas

P: La redirección no funciona
R: Borre el sessionStorage de su navegador y pruebe con una cuenta nueva de Nivel de Confianza 0

P: El banner no se muestra al probar
R: Verifique que está en la ruta /g e inició sesión como usuario TL0, o los valores que estableció en administración. Revise la consola del navegador en busca de errores.

P: Bucle de redirección
R: La comprobación de sessionStorage debería prevenir esto. Si ocurre, borre la caché del navegador y el sessionStorage.

Licencia

MIT — Movimiento por la Felicidad Pública

Hola, veo que ya has creado algunos Componentes de Tema. ¿Considerarías unirte al grupo @theme_authors, para que puedas crear temas en la categoría Theme component? Gracias.

1 me gusta

Soy más un gerente de proyectos, pero la IA lo está haciendo mucho más fácil de construir con código más ajustado, así que seguro. Gracias.