Erste Seite deaktivieren, die zur Anmeldung weiterleitet

Hallo,

ich bewirke derzeit eine langsame Weiterleitung, um zu vermeiden, dass auf der initialen Seite auf den einzigen Login-Button geklickt werden muss.

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";
    }
  });
});

Dies schließt Pfade aus, von denen aus der Datenverkehr nicht weitergeleitet werden soll.


Dies ist nicht ideal, wird jedoch derzeit auf https://physicswithethan.discourse.diy verwendet.