Estoy trabajando en algunos plugins específicos para nuestro foro y nos gustaría crear pequeñas acciones personalizadas similares a estas:
En particular, solo necesito poder colocar avisos como estos en los temas, pero con la capacidad de personalizar el icono y el texto.
¿Alguien podría guiarme a través de las construcciones, módulos, plantillas, etc., en las que tendría que integrarme para lograr esto tanto en el back-end como en el front-end, o podría indicarme un plugin existente que ya implemente esto?
¡Gracias!
david
(David Taylor)
17 Marzo, 2020 15:35
2
discourse-assign es probablemente el mejor ejemplo de esto:
# frozen_string_literal: true
class ::TopicAssigner
def self.backfill_auto_assign
deprecation_note
Assigner.backfill_auto_assign
end
def self.assigned_self?(text)
deprecation_note
Assigner.assigned_self?(text)
end
def self.auto_assign(post, force: false)
deprecation_note
Assigner.auto_assign(post, force)
end
def self.is_last_staff_post?(post)
deprecation_note
This file has been truncated. show original
Y luego, algo de código para agregar el icono y el contenido
https://github.com/discourse/discourse-assign/blob/master/assets/javascripts/discourse-assign/initializers/extend-for-assigns.js.es6#L158-L169
Gracias, esto ayudó mucho.
¿Cuál sería la mejor manera de hacer que el texto de la pequeña acción se muestre de forma más rica?
Actual:
Lo que quiero: (logré esto insertando manualmente la clase cooked en el div con la clase small-action-desc)
Revisé el código fuente sobre los transformadores de publicaciones, pero no encontré nada relacionado con esto
EDIT: terminé simplemente agregando esto como .scss
.custom-message {
ins {
background-color: dark-light-choose(
$success-low,
scale-color($success, $lightness: -60%)
);
}
del {
background-color: dark-light-choose(
$danger-low,
scale-color($danger, $lightness: -60%)
);
}
}