Barra laterale chat

:information_source: Riepilogo Si apre automaticamente e visualizza la chat come una barra laterale, finché c’è spazio, e sfrutta l’altezza
:hammer_and_wrench: Repository GitHub - Arkshine/discourse-chat-sidebar
:question: Guida all’installazione Come installare un tema o un componente del tema
:open_book: Nuovo ai temi di Discourse? Guida per principianti all’uso dei temi di Discourse

Installa questo componente del tema

Crediti: @Alon1 (richiesta sponsorizzata)[1]

Questo componente del tema mira ad aprirsi automaticamente e visualizzare la chat come una barra laterale, finché c’è spazio, e sfruttare l’altezza.

  • Supporto per il ridimensionamento delle finestre
  • Supporto per il composer
  • Può essere fissato al contenuto o alla finestra su entrambi i lati
  • L’utente può scegliere la posizione (salvata nella memoria locale del browser)
  • Può tornare allo stato originale della chat se era stata precedentemente aperta
  • Le preferenze originali dell’utente della chat non vengono toccate
  • Supporto parziale per i temi (la maggior parte di quelli più diffusi)

Dovrebbe funzionare sulla maggior parte dei temi.
Fammi sapere se mancano opzioni o se qualcosa non funziona su un tema! :smile:

Impostazioni

Nome Predefinito Descrizione
breakpoint auto Breakpoint in px per la visualizzazione della barra laterale della chat.
Imposta su auto per utilizzare la larghezza predefinita della barra laterale e del contenuto come breakpoint naturale (consigliato).
width 400px Larghezza della barra laterale della chat.
position [2] right Posizione della barra laterale della chat.

left: Fissato al lato sinistro del contenuto
right: Fissato al lato destro del contenuto
outside-left: Fissato al lato sinistro della finestra
outside-right: Fissato al lato destro della finestra
theme_style Quando possibile, utilizza lo stile del tema corrente su queste posizioni della barra laterale della chat.
Disponibile solo per la maggior parte dei temi più diffusi.
Questa non è un’impostazione affidabile (il nome del tema può essere modificato).
Disabilita per utilizzare lo stile del tema predefinito.
allow_user_preference[3] Consenti agli utenti di impostare le proprie preferenze per la barra laterale della chat.
Nota: questo viene salvato nella memoria locale del browser dell’utente.

Valori disponibili:
position: Consenti agli utenti di impostare la posizione della barra laterale della chat

Da fare

  • Test
  • Transizioni più fluide
  • Altre preferenze utente?

Note di sviluppo

Inizialmente, ho provato a inserire il componente <ChatDrawer /> in un altro outlet in modo che fosse più facile da manipolare e mantenerlo nel flusso. Sfortunatamente, il componente originale non può essere soppresso del tutto (sto pensando agli eventi). Almeno, non ho trovato un modo per sovrascriverlo.

Questo mi lascia senza scelta se non seguire la strada difficile del JS a costo di un po’ più di intensità della CPU ma meno invasivo (anche se il ridimensionamento manuale avviene solo a volte).


  1. Se interessato, il caso d’uso di Alon qui. ↩︎

  2. Assicurati di aggiornare la pagina. ↩︎

  3. Importante: questa impostazione utilizza l’ultima API per mostrare l’icona nell’header e richiede l’ultima versione di Discourse. ↩︎

24 Mi Piace

Ottimo lavoro! :clap: :slight_smile:

Supporta questo https://meta.discourse.org/t/discourse-bars-a-sidebar-framework/298216, perché sarebbe bello combinarlo con altri widget della barra laterale?

7 Mi Piace

Purtroppo, al momento non può supportare le Discourse Bars.

Il componente utilizza il drawer della chat originale e il posizionamento è fatto manualmente.
A meno che non possiamo usare/spostare il componente originale <ChatDrawer /> dove vogliamo, credo che sarebbe difficile. Sono d’accordo, però; sarebbe fantastico! :slight_smile:

Almeno può essere visualizzato accanto alla barra laterale della Bar

Il mio componente utilizza l’elemento #main-outlet-wrapper come riferimento, quindi tutto ciò che è all’interno funzionerà bene.

4 Mi Piace

OMG questo è fantastico!

3 Mi Piace

Funziona solo se il riquadro laterale è compresso? Ho notato che se non comprimo il mio riquadro laterale, la barra laterale della chat non viene visualizzata.

1 Mi Piace

In questa versione attuale, non forza la riduzione del contenuto principale, se non c’è abbastanza spazio per posizionare la barra laterale della chat. È per progettazione.

Forse ci sono situazioni in cui questo può essere utile. Non mi dispiace aggiungere un’opzione utente per consentirlo. :thinking:

1 Mi Piace

Ok, ho capito, grazie per il componente, funziona in modo piuttosto ordinato.

1 Mi Piace

Credo che questo componente non funzioni più da 3.6.0.beta2-latest? non importa cosa scelgo, è sempre a destra come l’esperienza di base… Funziona per qualcuno?

Questo componente ora funziona come previsto! Stavo testando quasi sempre sul mio schermo utente del macbook e quando il componente non ha abbastanza spazio, semplicemente non mostra nulla, il che è probabilmente il motivo per cui mi sono confuso. Ora funziona perfettamente.

2 Mi Piace

Non ho ancora testato, ma grazie per la segnalazione, controllerò presto!

2 Mi Piace

super componente :+1: è un’ottima idea

Ho aperto una PR per correggere le deprecazioni note. :+1:

Grazie a @DevTeVe per averla testata!

4 Mi Piace

Grazie mille per esserti speso così tanto per aiutarmi :heart: !

Quindi, ho parlato offline con @Arkshine e, dato che avevo alcuni suggerimenti, abbiamo deciso che questo era un posto migliore per lasciarli!

  1. Finestra della chat ridimensionabile (larghezza e altezza)
  2. Consentire che rimanga mobile anche se copre il testo sullo schermo.
  3. Sarebbe fantastico se anche la larghezza fosse automatica; in questo modo, troverebbe sempre un modo per adattarsi, anche se sembra piccolo, e nelle impostazioni (non predefinite), avremmo qualcosa come “px minimi” e un avviso che dice: “Se impostato, la chat tornerà allo stato predefinito se non è almeno del valore xxx”.
2 Mi Piace