Banner de bienvenida de Link

Estoy haciendo algunas pruebas (durante meses… no preguntes).

Al volver a ello, parece que desde una actualización, la barra de bienvenida ahora solo aparece cuando el usuario ha cerrado sesión.

¿Hay alguna forma de que la barra aparezca para todos, independientemente del estado de inicio de sesión?

Gracias

Martyn

1 me gusta

Lo acabo de probar un poco y no veo este problema, ¿es posible que hayas descartado el banner haciendo clic en la x de la esquina? si ese es el caso, tendrías que borrar el localStorage de tu navegador para volver a verlo.

3 Me gusta

Buena idea, le echaré un vistazo.
Gracias.

Intenté borrar el almacenamiento local, intenté borrar los datos del navegador, probé en Edge (¡voy a intentar limpiarme durante semanas!)… todavía sin éxito :frowning:

¿Cómo configuraste los ajustes de nivel de confianza máximo y ocultar para el personal?
¿Probaste con un usuario nuevo creado para realizar pruebas?

3 Me gusta

¿Sería posible mostrar diferentes banners para usuarios registrados y no registrados, o que todos los enlaces del banner no sean visibles para los usuarios no registrados?

1 me gusta

@Aurora

Una forma sería crear enlaces para los usuarios que han iniciado sesión y seguir los enlaces para los usuarios que han cerrado sesión (en orden, de modo que tengas dos grupos de enlaces).

Luego, con algo de CSS, ocultas un grupo u otro.
Hay una clase CSS anon que podrías usar.

Por ejemplo, digamos que tienes dos enlaces para usuarios que han iniciado sesión y 3 para usuarios que han cerrado sesión:

  • enlace para usuarios que han iniciado sesión 1
  • enlace para usuarios que han iniciado sesión 2
  • enlace para usuarios que han cerrado sesión 1
  • enlace para usuarios que han cerrado sesión 2
  • enlace para usuarios que han cerrado sesión 3

En CSS, puedes hacer:

/* Usuarios que han cerrado sesión: Oculta los dos primeros enlaces */
html.anon .featured-banner-link > div:nth-child(-n+2) {
    display: none !important;
}

/* Usuarios que han iniciado sesión: Oculta los últimos tres enlaces */
html:not(.anon) .featured-banner-link > div:nth-last-child(-n+3) {
    display: none !important;
}

¿Te funcionaría?

5 Me gusta

¡Sí! ¡Muchas gracias! ¡Eso es muy útil!

3 Me gusta

En el área de enlaces, en el campo del icono, ¿no sería posible que se autocompletara para facilitar la búsqueda del icono que queremos?

Si no, al menos incluir un enlace directo al sitio web de FontAwesome haría más obvio que ese es el proveedor de iconos, además de dirigir a la persona directamente a la fuente.

Por ejemplo, descargué el componente y lo instalé, luego, al crear el enlace, tuve que volver a este tema para leer sobre él y así saber que es FontAwesome. Solo una sugerencia para que sea más rápido y fácil agregar iconos.

EDITAR: Usé el nombre de su sitio web, pero no agrega los iconos:

Por ejemplo, este:

image

que parece ser gratuito:

Entonces, ¿cuáles se supone que debemos usar?

También noté un problema con el Resumen aquí en este tema. Dice Welcome Link Banner es un banner simple que te permite agregar texto personalizado y 1-4 enlaces, pero en realidad me permite agregar más enlaces. Pude agregar 6 (y si sigo haciendo clic, sigue agregando más enlaces).

Si 4 es de hecho el objetivo, entonces creo que sería mejor si después de agregar el cuarto enlace, el + banner link desapareciera o se pusiera en gris.

1 me gusta

Estoy de acuerdo en que sería útil. Sin embargo, esto no es específico de este TC. Algunos tipos de entrada no están disponibles en TC en comparación con el núcleo/plugins.

Veré si puedo hacer un PR para mejorar la descripción.

Es posible que también necesites añadir iconos que no están incluidos en Discourse por defecto a la configuración svg_icons.

Este debería ser tu problema.

Sí, puedes añadir tantos como quieras. No hay límite.
Implica que está diseñado para funcionar mejor con 1-4 enlaces.

2 Me gusta

Gracias

Oh, no sabía que no cargaba todos los iconos disponibles. Pensé que estaba leyendo directamente del sitio web de FA. Agregué un icono que no se cargaba y ahora es visible. Muchas gracias.
¿Cómo puedo ver cuáles están disponibles? ¿Hay una lista o es como agregar, ver si no aparece y luego agregarlo?

Ya veo. Creo que es la redacción entonces. Quizás algo como
El banner de enlace de bienvenida es un banner simple que te permite agregar texto y enlaces personalizados (recomendado: hasta 4 enlaces). o algo así.

Muchas gracias por tu ayuda. ¡Me alegra que los iconos ahora sean visibles! :slight_smile:

2 Me gusta

Sí, esa sería la forma más fácil.

2 Me gusta

La actualización del tema “Welcome Link Banner” provocó un error de compilación de SCSS y el bloqueo del sitio

Hola,

Recientemente me encontré con un problema crítico al actualizar el tema “Welcome Link Banner” en mi foro de Discourse.

:stop_sign: Resumen del problema:

  • Después de actualizar el tema, el sitio se bloqueó inmediatamente.
  • El modo seguro (/safe-mode) tampoco era accesible.
  • El error registrado fue:
CssSyntaxError: Missed semicolon in common.scss (MiniRacer::RuntimeError)
  • Este error de SCSS impidió que Discourse compilara los activos, lo que provocó que el frontend fallara por completo.

:magnifying_glass_tilted_left: Causa raíz:

  • El archivo common.scss actualizado dentro del tema “Welcome Link Banner” tenía un error de sintaxis (falta el punto y coma ;).
  • Como resultado, la compilación de activos se rompió y Discourse no pudo servir ni siquiera la interfaz de usuario básica.

:hammer_and_wrench: Cómo lo resolví:

Como no pude acceder a la interfaz web (ni siquiera al Modo Seguro), tuve que solucionarlo manualmente:

  1. Conéctese por SSH al servidor.

  2. Ingrese al contenedor de la aplicación:

    ./launcher enter app
    
  3. Abra la consola de Rails:

    RAILS_ENV=production rails c
    
  4. Deshabilite el tema defectuoso:

    Theme.where(name: "Welcome Link Banner").update_all(enabled: false)
    
  5. Salga de la consola de Rails.

  6. Limpie todos los activos compilados:

    RAILS_ENV=production rake assets:clobber
    
  7. Reconstruya la aplicación:

    ./launcher rebuild app
    

Después de estos pasos, el foro volvió a estar en línea.


:light_bulb: Sugerencia:

  • Quizás añadir una verificación adicional de sintaxis SCSS durante la carga/actualización del tema, antes de aplicar el tema a los sitios de producción.
  • Esto podría ayudar a evitar bloqueos completos del sitio causados por pequeños errores de CSS.
1 me gusta

Eso es extraño. No falta ningún punto y coma en el CSS de este componente.
Tampoco veo ningún cambio en el historial. :thinking:

Por cierto, si /safe-mode no funciona, puedes intentar añadir directamente ?safe_mode=no_themes a la URL.

3 Me gusta

Hmm, yo también revisé y no veo este problema, ¿se personalizó el componente? ¿o tal vez algo salió mal en el proceso de actualización?

1 me gusta

Puede entrar en conflicto con otro componente que estoy desarrollando.

2 Me gusta

1 - Descarté el banner, pero quiero probar algunas cosas, así que necesito recuperarlo. ¿Cómo?
2 - Noté que al menos en el móvil, cuando estoy en la página de Canales, el banner interrumpe por completo todo el diseño:

3 - ¿Es posible excluir el banner de ciertas páginas, aparte de usar CSS? Soy consciente de que hay un menú desplegable con homepage,discovery,all, pero eso es demasiado limitado.

Creo que borrar la caché puede ayudar, porque se almacena en localStorage:

Lo hice:

pero no funcionó. Estoy usando Cloudflare y he tenido problemas con su caché. ¿Debo esperar un poco más, o como es localStorage, no está relacionado?

No soy un experto en eso. Solo estoy adivinando…

¿Hay alguna forma de eliminar eso a través de la ventana de Herramientas para desarrolladores? Recuerdo haber eliminado algunas cosas allí en un momento dado cuando estaba trabajando en un sitio web.

Actualización: Le pedí ayuda a ChatGPT según tu respuesta y obtuve esto:

Borrar la caché del navegador no afecta a localStorage, que es donde se almacena el estado de desestimación. Necesitas eliminar el elemento de localStorage manualmente.

Haz esto:

  1. Abre el sitio de Discourse.

  2. Presiona F12 o haz clic derecho → Inspeccionar para abrir las Herramientas de desarrollador.

  3. Ve a la pestaña Consola.

  4. Pega esto y presiona Enter:

    localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");
    
  5. Actualiza la página.

Esto restablecerá el estado de desestimación y el Banner de Bienvenida debería aparecer de nuevo.


Luego pregunté si también podía hacerlo manualmente, y sí, puedo, yendo a la pestaña Aplicación, luego en la barra lateral yendo a Almacenamiento > Localstorage y eliminando la “entrada”:

image


Permíteme agradecerte por señalarme la dirección correcta.

Entonces, mi pregunta ahora es: si así es como lo hago en mi escritorio, ¿cómo puedo hacerlo en el móvil? ChatGPT dijo que podía agregar esto a la barra de direcciones y “ejecutarlo”, pero no ayudó:

javascript:localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");

EDIT: ¡funcionó! Lo estaba haciendo mal. ChatGPT dejó claro ahora que necesitaba abrir el foro, luego en esa misma pestaña, ejecutar javascript:localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");, no en una nueva pestaña, que es lo que estaba haciendo.

Nuevamente, gracias por tu respuesta, porque definitivamente ayudó a acotar las cosas. :raising_hands:

1 me gusta