Pulsante Nuovo Intestazione Argomento

I guess best behaviour would be to start the composer with empty category if the user does not have the permission to create new topic in the current one? Potentially with a modal and a notice about such.

Volevo avere anche questa funzionalità, quindi ho fatto un fork del repository e ho fatto in modo che mostrasse il pulsante “Nuovo argomento” sia agli utenti anonimi che a quelli registrati. Se un utente anonimo fa clic sul pulsante, viene reindirizzato alla finestra modale di accesso/registrazione.

Repository: GitHub - Peterlollo/discourse-new-topic-button-for-all-users-theme-component: Adds new topic button to header and shows it to every user regardless of logged in status

2 Mi Piace

Ci sono alcuni nomi di classi obsoleti, quindi gli stili non vengono visualizzati come previsto. Aggiunto un PR per aggiornarli: FIX: update declarations by nolosb · Pull Request #6 · discourse/discourse-new-topic-button-theme-component · GitHub

4 Mi Piace

È possibile aggiornare questo plugin alla nuova versione?

1 Mi Piace

Ho appena unito un refactor di questo componente in modo che funzioni con questi aggiornamenti: Upcoming Header Changes - Preparing Themes and Plugins

Il componente dovrebbe funzionare come prima, con alcuni piccoli miglioramenti (rifletterà lo stato di bozza e reagirà alle autorizzazioni correnti di categoria e tag). Se noti nuovi problemi, faccelo sapere.

5 Mi Piace

Ho appena aggiunto una nuova impostazione show_to_anon (disabilitata per impostazione predefinita) che farà questo.

3 Mi Piace

Quanto sarebbe “fattibile” aggiungere un menu a tendina simile al componente dropdown wizard di nolo?

Poiché stiamo utilizzando il wizard personalizzato per creare nuovi argomenti in categorie specifiche, vorremmo essenzialmente collegarli nei menu a tendina. Inoltre, vorremmo aggiungere alcuni collegamenti riservati allo staff (come “Nuova categoria” e “Nuovo gruppo”) al pulsante.

Ciao, non sono riuscito a utilizzare l’icona “pencil” di fontAwesome free in questo componente anche dopo averla aggiunta alle impostazioni “svg icon subset”. Hai qualche idea?

1 Mi Piace

Non credo ci sia un’icona pencil gratuita nella versione 5

Penso sia lo stesso per pencil in v5 è pencil-alt

4 Mi Piace

Grazie! Funziona!

2 Mi Piace

Un post è stato diviso in un nuovo argomento: Nessun pulsante Nuovo argomento

Ciao,

È possibile aggiornare il TC con il nuovo bozza di aggiornamento?

Grazie

2 Mi Piace

Richiesta: aggiungere un’opzione per definire i colori del pulsante (sfondo, testo + icona) sia per un tema chiaro che scuro. Poiché i nuovi argomenti fanno parte della crescita di una community, avere un pulsante colorato ha un maggiore impatto.

Grazie

È abbastanza facile da fare con CSS:

(puoi scegliere come target temi scuri e chiari con CSS)


modifica: aggiunta di un esempio corretto

#new-create-topic {
    background-color: light-dark(red,green);
}

Imposterà il colore del pulsante su rosso in un tema chiaro e su verde in un tema scuro.

2 Mi Piace

Non ho ancora familiarità con il CSS in Discourse. Ho familiarità con il CSS, ma non ho ancora iniziato a esplorarlo all’interno di Discourse.
Come/dove lo aggiungo?

Penso ancora che questa potrebbe essere una funzionalità per evitare di aggiungere ulteriore complessità e per le persone che non hanno familiarità con il CSS, rende semplicemente il componente più facile da personalizzare.

1 Mi Piace

O sul tuo tema o su un nuovo componente del tema, che deve poi essere incluso nel tuo tema:


Ho aggiunto il codice CSS nel mio post precedente.

1 Mi Piace

Stavo anche testando :hover e funziona per il pulsante e il testo, ma non per l’icona, a meno che non passi il mouse sopra l’icona stessa. Sai come selezionare l’icona quando passi il mouse sopra il pulsante, anche se il mouse non è sopra l’icona?

#new-create-topic:hover {
    background-color: light-dark(red,red);
    color: light-dark(red,white);
}

#new-create-topic .d-icon:hover {
    color: light-dark(red,white);
}
1 Mi Piace

La tua seconda regola significa che stai puntando all’icona quando passi il mouse sull’icona, non sul pulsante.

Usando la sintassi SCSS, che

#new-create-topic:hover {
    background-color: light-dark(red,red);
    color: light-dark(red,white);
}
#new-create-topic:hover .d-icon {
    color: light-dark(red,white);
}

(inoltre non c’è bisogno di light-dark(red,red); se usi lo stesso colore per chiaro e scuro)

Consiglierei SCSS poiché è più facile riordinare il nostro codice, ma è qualcosa di nuovo da imparare 😄
#new-create-topic:hover {
    background-color: light-dark(red,red);
    .d-icon, & {
        color: light-dark(red,white);
    }
}
1 Mi Piace

Hai ragione. Colpa mia… Grazie!

Questi sono solo test. In realtà sto usando il tema predefinito e non so se quel tema abbia entrambe le opzioni?

Per quanto riguarda SCSS, l’ho imparato qualche anno fa, ma era qualcosa che non ho mai usato veramente dato che non sono uno sviluppatore. Uso HTML e CSS abbastanza spesso, quindi ho un po’ più familiarità con questi due.

1 Mi Piace

Ho trovato questo codice per apportare questa modifica, ma non sono sicuro che sia il modo migliore per farlo:

<script type="text/discourse-plugin" version="0.8">
  api.onPageChange(() => {
    const newTopicButton = document.querySelector('.header-create-topic');
    const draftsButton = document.querySelector('.topic-drafts-menu-trigger');

    if (newTopicButton && draftsButton && !document.querySelector('.fk-header-buttons')) {
      const wrapper = document.createElement('div');
      wrapper.className = 'fk-header-buttons';

      const parent = newTopicButton.parentNode;
      parent.insertBefore(wrapper, newTopicButton);

      wrapper.appendChild(newTopicButton);
      wrapper.appendChild(draftsButton);
    }
  });
</script>