Componente de tema de Guest Gate

Hola @KhoiUSA :wave: Gracias, fusioné una actualización: DEV: Migrate FA5 icons to FA6 by VaperinaDEV · Pull Request #25 · VaperinaDEV/discourse-guest-gate-theme-component · GitHub :slightly_smiling_face:

6 Me gusta

¡Gracias por la actualización!

3 Me gusta

Hola, hemos intentado instalar este componente en una nueva instancia de Discourse, pero recibimos un error cuando se muestra el modal:

El enlace es a esta publicación.

Dado que la publicación es de 2023, parece sorprendente que se requiera esta actualización para este componente. ¿Nos preguntamos si hemos hecho algo mal con nuestra instalación?

Hola :waving_hand: ¿Puedes eliminar el componente y reinstalar este: GitHub - VaperinaDEV/discourse-guest-gate-theme-component: Forced login / registration popup insired by Quora para asegurarte de que se usa el componente correcto?

1 me gusta

¡Gracias! ¡Ahora está funcionando!

Dicho esto, tengo problemas para actualizar el texto del modal. Puedo actualizar el título correctamente, pero no parece que pueda editar el texto principal. ¿Estoy editando los campos incorrectos?

Resulta que solo necesitábamos habilitar la configuración apropiada:

1 me gusta

Hola @Don Gracias por un componente tan agradable. Veo la intención (de hecho, el título) del componente de ser activado por usuarios invitados/anónimos. ¿Se podrían agregar configuraciones para condiciones basadas en grupos o niveles de confianza? Estoy tratando de presentar una ventana modal para usuarios registrados que visitan cualquier tema en una categoría específica. Esto complementaría Discourse-subscriptions y category-lockdown.

Hola @Don
Gracias por el componente. Usamos tu plugin en el foro https://community.escapecollective.com/. Pero tenemos un problema: al configurar el parámetro max_guest_topic_views a más de 1 (en nuestro caso, 3), la ventana modal aparece por un momento y luego desaparece inmediatamente. Creo que esto se debe a que Discourse realiza una actualización de página “suave” (enrutamiento SPA de Ember) al cargar JS, y en ese momento el contador de vistas se reinicia y la ventana modal desaparece de inmediato. Creo que esto sucedió después de actualizar Discourse a la versión 3.5.0.beta9-dev. Por favor, ayúdame a resolver esto.

ezgif-5e4b84ca418b8a

Como un punto de datos, estoy intentando reproducir esto y no puedo.

Acabo de actualizar a la última versión y este componente de tema parece estar funcionando.

1 me gusta

@merefield Gracias por tu respuesta, pero sí, estamos usando el tema predeterminado. Puedes comprobarlo tú mismo en https://community.escapecollective.com/. Aquí tienes otro vídeo que muestra el problema:

ezgif-7af28737d709fa

¿Aparece algo en la consola de JavaScript?

@merefield nada

1 me gusta

Hola :wave:

Esto parece ser un problema con el componente temático Topic Cards. Cuando haces clic en el título del tema, también forzará una carga completa de la página, lo que causa el problema aquí. Si abres un tema haciendo clic en algún lugar fuera del título, entonces el Guest Gate puede funcionar normalmente porque no forzará una recarga de página, por lo que solo ocurrirá la carga de la SPA.

Por favor, informa del problema en el tema del componente temático Topic Cards.

2 Me gusta

Hola @Don
Sí, tienes razón, si deshabilito el componente Topic Cards, todo funciona como se esperaba. Escribiré en el hilo de Topic Cards ya que necesitamos ambos componentes.
¡Gracias!

1 me gusta

Topic List Previews también tiene una opción de formato amplio para Tiles similar a Topic Cards… y está funcionando con GG actualmente. Quizás puedas probar eso mientras esperas una solución para Topic Cards…

1 me gusta

Hola a todos,
Gracias por el plugin, funciona perfectamente.
Solo tengo una pregunta: no he visto ninguna configuración para centrar el título. ¿Es normal?

¡Genial componente :+1:, quería saber si es posible hacer saltos de línea o párrafos en el campo custom_gate.little_text

Gracias por sus comentarios

1 me gusta

Hola :waving_hand:

Sí, absolutamente. Dado que custom_gate.little_text se renderiza como htmlSafe, puedes usar HTML allí. Por ejemplo, puedes usar <br> para saltos de línea o etiquetas <p> para párrafos separados.

Por ejemplo:

Primera línea.<br>
Segunda línea.

o

<p>Primer párrafo.</p>
<p>Segundo párrafo.</p>
1 me gusta

Hola :waving_hand:

Lo siento por la demora.

Sí, aún no hay una configuración para esto, pero puedes lograrlo con un simple componente de tema.

.d-modal.gate {
  .d-modal__title {
    margin: auto;
  }
}
1 me gusta

¡La Puerta de Invitados 2.0 está por llegar! :rocket:

Actualmente se está desarrollando una nueva versión de Puerta de Invitados, y esta es una actualización mucho más grande que un simple aumento de versión.

La versión 2.0 trae un sistema de activación rediseñado, una implementación más moderna, muchas más opciones de personalización y una mejor compatibilidad con las versiones actuales de Discourse.

:rocket: Nuevo sistema de activación

El cambio más importante en 2.0 es que ya no estás limitado a las vistas de página.

Ahora puedes elegir cómo debe activarse la Puerta de Invitados:

  • Vistas de página: muestra la puerta después de un número configurable de vistas de página

  • Tiempo: muéstrala después de pasar una cierta cantidad de tiempo en una página

  • Desplazamiento: muéstrala después de que el visitante alcance un porcentaje configurable de la página

  • Lightbox: muéstrala cuando un invitado abra una imagen

  • Cualquiera: permite que múltiples tipos de activadores activen la puerta

Esto hace posible crear estrategias de bloqueo para invitados mucho más sofisticadas.

:repeat_button: Nuevo comportamiento de repetición

Ahora puedes controlar lo que sucede después de que se haya mostrado la Puerta de Invitados:

  • Repetir activador: muéstrala nuevamente cada vez que ocurra el activador configurado

  • Vistas de página aleatorias: muéstrala nuevamente después de un número aleatorio de vistas de página

  • Una vez por sesión: muéstrala solo una vez durante la sesión del navegador

También hay un nuevo umbral configurable para repeticiones aleatorias de vistas de página.

La configuración existente de “Mostrar solo una vez” sigue siendo compatible por compatibilidad con versiones anteriores.

:stopwatch: Visualización diferida

La puerta ahora puede mostrarse con un retraso configurable después de que se active un activador.

Por ejemplo, puedes activar la puerta después de un 50% de profundidad de desplazamiento, pero esperar otros 750 ms antes de abrir el modal.

Esto puede hacer que la experiencia se sienta mucho menos intrusiva.

:artist_palette: Más control sobre el modal

La versión 2.0 añade varias nuevas opciones de personalización:

  • Modal compacto, estándar o ancho

  • Mostrar u ocultar el título del modal

  • Posicionamiento de título configurable

  • Comportamiento responsivo mejorado

:framed_picture: Puerta personalizada mejorada

La Puerta Personalizada también ha recibido una actualización sustancial.

Ahora puedes:

  • Añadir texto alternativo (alt) a la imagen personalizada

  • Controlar mejor el contenido del texto personalizado

  • Usar contenido HTML en el campo de texto pequeño personalizado, incluyendo párrafos y saltos de línea

  • Controlar mejor los colores y el espaciado

El contenido personalizado también se maneja de manera más limpia en la nueva implementación.

:gear: Implementación modernizada

Bajo el capó, Guest Gate 2.0 ha sido significativamente modernizado.

La antigua implementación dependía del inicializador de plugin legado, el seguimiento de páginas de Discourse y el manejo de lightbox basado en jQuery.

2.0 ahora utiliza el inicializador de API moderna de Discourse y las APIs de cambio de página, con un controlador de puerta dedicado responsable de gestionar activadores, temporizadores, oyentes de desplazamiento, estado de sesión y estado del modal.

Esto también hace que el componente sea más fácil de mantener y extender en el futuro.

:counterclockwise_arrows_button: Se tienen en cuenta las instalaciones existentes

Uno de los objetivos importantes de 2.0 fue evitar obligar a los usuarios existentes a reconstruir manualmente su configuración.

La nueva versión incluye una migración de configuraciones que convierte las configuraciones antiguas de Guest Gate a sus equivalentes nuevos.

Por ejemplo, la configuración antigua max_guest_topic_views se migra automáticamente a la nueva configuración de vistas de página y comportamiento de repetición.

La configuración antigua de lightbox también se mapea automáticamente al nuevo sistema de activación.

Por lo tanto, actualizar debería preservar el comportamiento de las instalaciones existentes lo más cerca posible.

:broom: Configuración más limpia

Una serie de configuraciones existentes también han sido limpiadas y sus descripciones reescritas para hacer la interfaz de administrador más fácil de entender.

La lógica de Iniciar sesión / Registrarse, Discourse Connect, URL personalizada y botón también ha sido reorganizada internamente.


¿Qué sigue?

Guest Gate 2.0 está siendo finalizado y probado actualmente.

Esta versión está diseñada para ser una base sólida para futuras funciones de Guest Gate, mientras que da a los administradores mucho más control sobre cuándo, dónde y cómo aparece la puerta.

Si ya estás usando Guest Gate, tu configuración existente debería migrarse automáticamente al actualizar.


:test_tube: ¿Quieres probar v2.0 temprano?

Puedes probar la rama aquí: Rama v2.0 de GitHub

6 Me gusta