Disabilita la pagina iniziale che reindirizza a /login

Ciao,

sto attualmente implementando un reindirizzamento lento per evitare di dover premere l’unico pulsante di Accesso nella pagina iniziale.

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer("1.0", (api) => {
  api.onPageChange((url) => {
    const user = api.getCurrentUser();

    let path = url?.startsWith("http") ? new URL(url).pathname : url;
    path = path?.replace(/\/+$/, "") || "/";

    const allowedAnonPaths = ["/login", "/privacy", "/tos", "/pub/about-this-forum", "/safe-mode", "/pub/accessibility-statement"];

    if (!user && !allowedAnonPaths.includes(path)) {
      window.location.href = "/login";
    }
  });
});

questo esclude i percorsi da cui non si desidera reindirizzare il traffico.


Non è l’ideale, ma è attualmente in uso su https://physicswithethan.discourse.diy

Sono quasi certo che Discourse lo stia già facendo per te. Se non funziona, allora c’è qualcosa che non va nella tua configurazione :thinking:

Hmm, vedo che qui devi prima fare clic su un pulsante di accesso:

Ma non mi ha mai dato fastidio. Non credo che essere reindirizzati a un modulo di inserimento senza sapere dove si trova sia un’esperienza migliore. Qui ci sono meno informazioni su dove ti trovi:

Giusto :man_facepalming: Ho dimenticato che abbiamo gestito come caso particolare la “home-page”… Tutte le altre pagine dovrebbero mostrare immediatamente la pagina di login. Forse dovrebbe essere un’impostazione :thinking:

@pmusaraj ti ricordi perché abbiamo gestito la home page come caso particolare?

Sì, la maggior parte dei siti che richiedono l’accesso trae vantaggio dalla presenza di quella schermata di atterraggio. Ad esempio, se sono previste le registrazioni, includeranno pulsanti per registrarsi o accedere. Inoltre, offrono uno spazio per descrivere la community prima di mostrare il modulo.

Offriamo la possibilità di saltare questa schermata in un caso d’uso molto specifico: quando il sito dispone di un solo metodo di accesso esterno, tramite questa impostazione:

Risulta che quella impostazione era abilitata su https://physicswithethan.discourse.diy

quindi non ho modificato alcuna impostazione da prima di aver avviato questa discussione