Temos o plugin Pavilion Event que cria uma página /Calendar.
Estou querendo ajustar a página do calendário usando CSS/HTML/Componentes de Tema para torná-la o mais amigável possível.
Como temos apenas algumas categorias onde permitimos a criação de Eventos, filtrei com sucesso o menu suspenso de categorias no compositor para incluir apenas as categorias relevantes.
A parte em que estou tendo dificuldades é definir a categoria padrão no compositor usando CSS/HTML (para que eu possa usar condições para ativá-la nas páginas corretas - como a página do calendário).
O objetivo é que em todos os outros lugares do Discourse a categoria padrão seja ‘Geral’, mas se o usuário estiver criando um tópico a partir da página do Calendário (a página já tem a funcionalidade ‘Novo Tópico’) - a categoria do compositor muda para ‘Planejamento de Eventos’ por padrão, e ativa o template anexado à categoria ‘Planejamento de Eventos’.
Alguém pode me indicar a direção certa?
Obrigado
1 curtida
Para referência - o código que obtive até agora:
Corpo HTML
<!-- Usado para sinalizar a página do Calendário adicionando a classe calendar-page ao corpo -->
<script>
// Verifica se o URL termina com "/calendar"
if (window.location.href.endsWith("/calendar")) {
// Adiciona uma classe ao corpo para acionar a regra CSS
document.body.classList.add('calendar-page');
}
</script>
<!-- Altera 'Add Topic' para 'Add Event' na tela do calendário -->
<script>
// Verifica se o corpo tem a classe "hide-on-calendar"
if (document.body.classList.contains('calendar-page')) {
// Atualiza o texto do botão
const button = document.querySelector('.main-content.calendar .d-button-label');
if (button) {
button.textContent = 'Add Event';
}
}
</script>
CSS
// Oculta categorias de eventos que não são Eventos
body.calendar-page li.select-kit-row.category-row[title]:not([title="Private Events"]):not([title="Public Events"]):not([title="Induction Sessions"]):not([title="Space Bookings"]) {
display: none;
}
Se alguém tiver alguma sugestão sobre como capturar um valor definido nas configurações de categoria por um plugin (neste caso, a configuração do plugin de Eventos “Permitir que eventos sejam adicionados a tópicos nesta categoria.”) para que eu não precise codificar as categorias em código, isso também seria ótimo… mas sei que estou pedindo muito.