Necesito añadir un nuevo botón a la barra lateral (o a otro lugar que también se pueda discutir), que simplemente active el valor de un campo personalizado del usuario. Configuramos el modo “SFW”, básicamente invirtiendo este enfoque. Pero como el valor es opcional para que el usuario lo establezca y el sitio web es NSFW por defecto, llevaría tiempo que un usuario entrara en la configuración de su perfil para encontrar una casilla de verificación pequeña y poco evidente.
Por eso, la idea de poner un botón con dos estados (Activado/Desactivado) que cambie el valor del campo personalizado para el usuario. El estado por defecto es NSFW (casilla de verificación del usuario sin marcar, o 0). El segundo estado es SFW (casilla de verificación del usuario marcada).
¿Cuándo lo necesitas hecho?
Me parece que debería ser una tarea rápida para un desarrollador experimentado de componentes temáticos Tómate tu tiempo.
¿Cuál es tu presupuesto, en USD, que puedes ofrecer para esta tarea?
¡Qué componente temático tan increíble es User Field Prompt! No importa con qué frecuencia visite Discourse Meta, siempre es asombroso encontrar algo nuevo sobre Discourse.
La tarea descrita es diferente del concepto de campos de publicaciones. Y tampoco está pensada para jugar con otros componentes temáticos como Welcome Link Banner que mencionaste.
La personalización máxima que veo ahora es introducir opciones básicas de personalización como:
Campos de texto de Discourse para que el administrador pueda Crear/Actualizar/Eliminar botones basándose en el ejemplo de numerosos componentes temáticos como Enlaces de encabezado personalizados (iconos)
El administrador podría dar al botón:
Un nombre (ID para fines de CSS)
Nombres de iconos SVG para ambos estados (requiere que esté presente en los sprites de font-awesome o en SVGs personalizados del sitio web)
Aún no he jugado con él, pero también hay publicación de páginas.
Imagino que el código puede ayudar a tener algunas ideas. Hay algunos componentes que usan campos de usuario. Una adición más reciente es una especie de palabras vigiladas para el miembro que ocultará, ¿creo?, las publicaciones con el término de palabra.
También hay algunos componentes temáticos que usan un interruptor en el menú de hamburguesa o en la cabecera, si no me equivoco.
Los enlaces de cabecera personalizados también pueden funcionar, posiblemente.
No estoy seguro, pero con una casilla de verificación, ¿podrías copiar el enlace para ese usuario, prefieres una casilla de verificación?
Gracias, necesito actualizar la dirección del sitio. El cliente cambió de .ai a .com.
La idea que mencioné anteriormente. Podrías mirar el código fuente del prompt del campo de usuario para tener una idea del código que necesitas para activar/desactivar tu configuración de usuario nsfw. Luego, podrías mirar algo como el componente de tema Light/Dark toggle y combinar ideas para el toggle para manipular tu configuración de usuario nsfw.
De acuerdo, ahora lo entiendo. Bueno, parece que estás reinventando la rueda de esta solución que mencioné en la primera publicación: Our solution for blurring NSFW content
Hace lo que mencionas. Examina el valor del campo del usuario y establece la clase CSS a través de JS. Asegúrate de usar el código de este mensaje como base, porque el que se usa en la primera publicación se basa en métodos obsoletos de Discourse.
Además, puedes echar un vistazo a esto: CSS Classes for Current User's Groups para ajustar la apariencia y funcionalidad de tu sitio web según los grupos de usuarios
En cuanto al interruptor en sí, y tu referencia a Interruptor Claro/Oscuro, supongo que puede ser interesante investigarlo para los futuros desarrolladores de este componente que me gustaría compartir públicamente tan pronto como esté terminado. @Lhc_fl está trabajando ahora en algo y esperemos que podamos probarlo nosotros mismos en producción primero