Interruttore automatico del tema per la modalità scura

:warning: Discourse ora supporta Automatic Dark Mode color scheme switching nel core; questo componente è ora deprecato e non dovrebbe più essere utilizzato.

Repository:

https://github.com/pmusaraj/discourse-dark-mode

Istruzioni per l’installazione: Installing a theme or theme component

Cosa fa?

Questo componente consente il passaggio automatico a un tema scuro quando il browser è impostato sulla modalità scura. Funziona solo per gli utenti registrati su tutti i browser che supportano la query media prefers-color-scheme.

Per impostazione predefinita, questo componente è abilitato e i singoli utenti possono disattivarlo nella schermata Preferenze > Interfaccia. Gli amministratori possono anche impostare il componente come disabilitato di default; in tal caso, gli utenti vedranno un pulsante per abilitare il passaggio automatico nelle preferenze dell’interfaccia.

Come funziona?

Se il browser è in modalità scura, questo componente ricaricherà Discourse con il tema scuro abilitato. Se il browser torna alla modalità chiara, questo componente ricaricherà con il tema predefinito abilitato.

Ricaricherà anche se la modalità scura viene attivata o disattivata mentre l’utente è sul sito (come mostrato nel video sopra).

(Se hai più di due temi abilitati e l’utente ha selezionato un tema diverso da quello predefinito o scuro, questo componente non farà nulla, ovvero rispetterà la scelta dell’utente.)

Configurazione

  • Assicurati di avere un tema scuro installato e che sia selezionabile dagli utenti
  • Aggiungi questo componente sia al tema predefinito che al tema scuro (molto importante: se non lo aggiungi a entrambi i temi, gli utenti non potranno tornare al tema predefinito)
  • Nelle impostazioni del componente, inserisci l’ID del tuo tema scuro in dark theme id
28 Mi Piace

Awesome, although flux is overkill just to toggle dark mode on the mac. Night Owl will do the same thing without interfering with anything else.

4 Mi Piace

Ho appena aggiornato questo componente del tema per renderlo compatibile con iOS 13 (che sarà fornito anche con la modalità scura e un’opzione per attivarla automaticamente la sera).

9 Mi Piace

Grazie per questo fantastico componente, lo stavo cercando da tempo! Purtroppo non riesco a farlo funzionare. Forse è qualcosa di banale, ma dove posso trovare l’ID del tema scuro? È semplicemente il nome del tema?

1 Mi Piace

Grazie!

L’ID è il numero del tema presente nell’URL quando lo selezioni nell’area di amministrazione. Ad esempio, in questo URL: /admin/customize/themes/39, l’ID è 39.

1 Mi Piace

Fantastico, funziona alla perfezione, grazie! Spero davvero che questo diventi parte dell’installazione standard del discorso.

2 Mi Piace

Google Chrome ora supporta la modalità scura su iOS 13 e iPadOS 13. Non sono molto sicuro riguardo al supporto della modalità scura per Google Chrome su MacOS Mojave o MacOS Catalina.

Quando arriverà il supporto per Google Chrome?

Dovrebbe già funzionare su Chrome: sotto il cofano utilizza la query media prefers-color-scheme e il supporto nei browser è piuttosto buono al giorno d’oggi: Can I use... Support tables for HTML5, CSS3, etc

Oh, è bello sentirlo! :grinning:

Sì, anch’io spero davvero che questo diventi parte dell’installazione standard di Discourse. Alcune persone si limitano ad aggiornare i loro forum senza andare oltre.

1 Mi Piace

@pmusaraj una cosa che ho notato è che la commutazione funziona solo per gli utenti collegati. Esiste un modo per impostarla automaticamente anche per gli utenti anonimi che non hanno ancora creato un account (ad esempio, passare al tema scuro mentre si utilizza una finestra di navigazione in incognito)?

1 Mi Piace

Non funziona per me :-/

Solo per i futuri aggiornamenti: sarebbe ottimo se ci fosse un menu a discesa per scegliere quello giusto.

La funzionalità “prefers-color-scheme” è supportata anche da Windows. L’ultima versione beta di Chrome e l’ultima versione di Firefox supportano questa query media.

5 Mi Piace

Questo componente sembra creare un problema con la versione 2.4.0.beta11+39. Nella mia community riservata solo agli utenti registrati, la schermata di accesso all’indirizzo https://mydomain/login risulta vuota. Funziona normalmente quando questo componente viene disattivato.

Non riesco a riprodurlo localmente con l’ultima versione di Discourse e l’ultima versione del componente. Quando la schermata di accesso è vuota, compare un errore nella console del browser?

Aggiornamento: il problema che Thomas stava riscontrando è stato ora risolto nel componente. Grazie per la segnalazione!

4 Mi Piace

+1 per aver reso questa parte parte del nucleo di Discourse

4 Mi Piace