Modale Argomenti stile Facebook: è meglio?

Mi piacerebbe molto testare la tua versione @Don :heart_eyes:

Ciao :waving_hand:

Certo, assolutamente! Inizialmente, ho integrato questa funzionalità direttamente nel mio tema personalizzato, quindi ho dovuto estrarla e dividerla in un componente tema autonomo.

Nel mio sito, attivo la modale tramite un pulsante dedicato, mentre questo componente tema la attiva direttamente al clic su un argomento.

Puoi provarlo su Theme Creator qui:

Wow, sembra molto veloce. Mi piace davvero. Sarei molto interessato se lo rendessi open-source. Ottimo lavoro

Non ho usato il libro dei volti da un periodo di tempo contato in decenni, quindi non c’è alcun riferimento lì, ma comunque… Don, questo sembra davvero elegante. Non mi aspettavo di piacermi, ma su un telefono scommetto che potrebbe essere davvero figo. Di nuovo, nessun riferimento a Facebook, ma per me è come a metà strada tra un forum normale e una chat.

Ha un aspetto e una sensazione molto eleganti. Molto figo :chefs_kiss:

Sembra fare un sacco di richieste di rete… Continuo a imbattermi nei limiti di frequenza mentre lo provo sul creatore di temi. Sembra che debba recuperare tutto il contenuto degli argomenti dall’elenco degli argomenti anche se non entri nell’argomento (il che spiega perché sembra così veloce)?

Sì, ho originariamente creato questo componente per il mio sito personale, che utilizza un layout personalizzato delle card in cui sullo schermo si vedono solo 1–2 argomenti alla volta. In quella configurazione, il prefetching della viewport funziona senza problemi, senza raggiungere i limiti di rate. Tuttavia, nelle liste standard di argomenti basate su tabelle di Discourse, sono visibili contemporaneamente molti più argomenti, facendo riempire la coda di prefetch molto più rapidamente durante lo scroll.

Questo è in realtà il motivo principale per cui non ho ancora condiviso ufficialmente il componente: sapevo che questo comportamento doveva essere adattato prima ai layout standard.

Hai perfettamente ragione: per renderlo un componente solido e a uso generale, devo ottimizzarlo.

Ho aggiunto alcune impostazioni che in precedenza erano hardcoded, in modo che il componente possa adattarsi facilmente a layout diversi.

C’è possibilità di renderlo open source così posso provarci un po’ :slight_smile: Mi piace :wink:

Onestamente, penso che questo si adatti meglio al tuo tema e non alla lista standard di argomenti

Ho appena aggiunto due nuove impostazioni per renderlo molto più flessibile per layout personalizzati:

  • trigger_style: Scegli tra rendere cliccabile l’intera riga dell’argomento (row) o aggiungere una piccola icona di espansione (button) che apre l’anteprima lasciando intatto il normale link dell’argomento.

  • plugin_outle: Quando si utilizza lo stile pulsante, è possibile specificare l’esatto plugin outlet in cui viene renderizzata l’icona di espansione (impostazione predefinita: topic-list-after-title).

Questo consente ai temi personalizzati di collegare il pulsante di attivazione ai propri plugin outlet personalizzati, secondo le necessità.

Ho appena attivato questo componente autonomo esatto sul mio sito. Ho rimosso completamente il mio codice originale dal tema e l’ho sostituito con questo componente in esecuzione tramite <PluginOutlet />.

Inoltre, ho anche corretto un bug relativo alla funzionalità di tracciamento delle letture.

Vorrei testarlo in un ambiente di produzione live per un breve periodo per assicurarmi che tutto sia solido prima di renderlo open-source.


A proposito, ho temporaneamente cambiato l’anteprima del Theme Creator sul tipo di attivatore pulsante per un breve periodo, così puoi testarlo!