Login-Weiterleitung und/oder Gruppen-Seiten-Banner-Komponente

Diese Komponente ermöglicht es Ihnen, Benutzer nach der Anmeldung überallhin umzuleiten, und erlaubt es Ihnen außerdem, ein Willkommensbanner auf der Gruppen-Seite ( /g ) einzublenden.

Sie ist mit zwei unabhängigen Teilen aufgebaut, sodass Sie überallhin umleiten können, wohin Sie möchten, oder sie nur verwenden können, um ein Banner auf der Gruppenseite einzublenden. Das Standardverhalten besteht darin, neue Benutzer auf die Gruppenseite umzuleiten, wo ein Willkommensbanner sie ermutigt, Gruppen beizutreten, um ihnen die Interaktion mit Ihrer Community zu erleichtern.

Sie können diese Komponente auch verwenden, um Benutzer unterhalb eines bestimmten Vertrauenslevels bei der Anmeldung auf eine Seite umzuleiten, oder Benutzer, die weniger als eine von Ihnen ausgewählte Anzahl von Gruppen beigetreten sind.

First Login Redirect (Weiterleitung beim ersten Login)

Eine Discourse-Themenkomponente, die Benutzer ohne Gruppenmitgliedschaften auf eine benutzerdefinierte Seite umleitet und ein anpassbares Willkommensbanner anzeigt.

Funktionen

  • :counterclockwise_arrows_button: Intelligente Weiterleitung - Leitet Benutzer ohne Gruppenmitgliedschaften bei der Anmeldung auf eine benutzerdefinierte Seite um
  • :artist_palette: Anpassbares Banner - Farbenfrohes Willkommensbanner auf der Gruppenseite
  • :gear: Vollständig konfigurierbar - Weiterleitung und Banner unabhängig voneinander aktivieren/deaktivieren
  • :bust_in_silhouette: Gruppenbasierte Logik - Stoppt die Weiterleitung, sobald der Benutzer einer Gruppe beitritt
  • :bullseye: Vertrauenslevel-bewusst - Banner-Sichtbarkeit kann durch Vertrauenslevel eingeschränkt werden
  • :rainbow: Regenbogenverlauf - Auffälliger 6-farbiger Verlaufshintergrund (mit Umschalter für einfarbig)
  • :mobile_phone: Mobil responsiv - Banner passt sich mobilen Bildschirmen an

Installation

  1. Gehen Sie in der Discourse-Admin-Konsole zu Anpassen → Themen → Komponenten und klicken Sie auf Installieren

  2. Wählen Sie Aus einem Git-Repository und fügen Sie ein:

    https://github.com/focallocal/first-login-redirect
    
  3. Fügen Sie die Komponente nach der Installation Ihrem aktiven Thema hinzu

Funktionsweise

Weiterleitungslogik

  • Prüft, ob der Benutzer Mitglied einer Gruppe ist
  • Erkennt, wann er zur Startseite navigiert
  • Leitet ihn zur konfigurierten URL weiter (Standard: /g)
  • Stoppt die Weiterleitung, sobald er einer Gruppe beitritt
  • Kann unabhängig vom Banner deaktiviert werden

Willkommensbanner

  • Wird standardmäßig auf der Gruppenindexseite (/g) angezeigt
  • Sichtbarkeit wird durch Vertrauenslevel-Einstellungen gesteuert
  • Kann unabhängig von der Weiterleitung deaktiviert werden
  • Wird automatisch ausgeblendet, sobald der Benutzer Vertrauenslevel 1 erreicht
  • Wird oben in der Gruppenliste über den Outlet before-groups-index positioniert

Anpassung

Theme-Einstellungen (Admin-Panel)

Alle Anpassungen können im Discourse-Admin-Panel vorgenommen werden, ohne Code bearbeiten zu müssen!

  1. Gehen Sie zu Admin → Anpassen → Themen
  2. Klicken Sie auf Ihr Thema, das diese Komponente enthält
  3. Gehen Sie zu Einstellungen und suchen Sie den Abschnitt „First Login Redirect“

Verfügbare Einstellungen:

Weiterleitungseinstellungen:

  • Weiterleitung aktivieren: Schaltet die Weiterleitungsfunktion ein/aus (Standard: true)
  • Min. erforderliche Gruppen: Wie viele benutzererstellte Gruppen beigetreten sein müssen, bevor die Weiterleitung stoppt (Standard: 1)
    • Automatische Gruppen (wie trust_level_0, everyone) zählen nicht
  • Weiterleitungs-URL: Wohin Benutzer ohne Gruppen gesendet werden (Standard: /g)
    • Beispiele: /g (Gruppen), /categories, /about, /latest

Bannereinstellungen:

  • Banner anzeigen: Schaltet das Banner ein/aus (Standard: true)
  • Min. Vertrauenslevel: Mindestvertrauenslevel, um das Banner zu sehen (0-4, Standard: 0)
  • Max. Vertrauenslevel: Maximalvertrauenslevel, um das Banner zu sehen (0-4, Standard: 4)
  • Banner-Überschrift: Haupttext in großer Schrift
  • Banner-Unterüberschrift: Kleinerer erklärender Text

Typografie:

  • Überschriften-Schriftgröße: Größe der Hauptüberschrift (Standard: 2.5em)
  • Unterüberschriften-Schriftgröße: Größe der Unterüberschrift (Standard: 1.25em)
  • Textschatten aktivieren: Schaltet den Textschatten für bessere Lesbarkeit ein/aus
  • Textleuchten aktivieren: Schaltet den äußeren Leuchteffekt ein/aus

Farben:

  • Verlauf verwenden: Aktiviert/deaktiviert den Verlauf (wenn deaktiviert, wird eine einfarbige Farbe verwendet)
  • Verlaufsfarbe 1-6: Passen Sie jede Farbe im Verlauf an
    • Standard: Pink → Orange → Gelb → Grün → Cyan
    • Setzen Sie „Verlauf verwenden“ auf AUS für eine einfarbige Farbe mit Farbe 1
  • Einheitlicher Farb-Banner:
    • Setzen Sie „Verlauf verwenden“ auf AUS und stellen Sie Farbe 1 auf Ihre gewünschte Farbe ein (z. B. #FF5722 für Orange).

Layout:

  • Banner-Polsterung: Platz innerhalb des Banners (Standard: 3rem 2rem)
  • Abgerundete Ecken (Border Radius): Abrundung der Ecken (Standard: 12px, verwenden Sie 0 für quadratisch)

Beispiele

Nur für TL0 anzeigen (neue Benutzer):
Setzen Sie Min. Vertrauenslevel = 0, Max. Vertrauenslevel = 0

Für alle außer Admins anzeigen:
Setzen Sie Min. Vertrauenslevel = 0, Max. Vertrauenslevel = 3

Einfarbiges Banner:
Schalten Sie „Verlauf verwenden“ aus und stellen Sie Farbe 1 auf Ihre gewünschte Farbe ein (z. B. #FF5722 für Orange).

Zweifarbiger Verlauf:
Schalten Sie „Verlauf verwenden“ ein und stellen Sie die Farben 1-3 auf eine Farbe und die Farben 4-6 auf eine andere Farbe ein.

Größerer Text:
Setzen Sie die Überschrift auf 3em und die Unterüberschrift auf 1.5em.

Keine Effekte:
Deaktivieren Sie sowohl „Textschatten“ als auch „Textleuchten“ für flachen Text.

Weiterleitung deaktivieren (Nur Banner)

Löschen oder kommentieren Sie die Datei aus:
javascripts/discourse/api-initializers/first-login-redirect.js

Vertrauenslevel-Anforderung ändern

Ändern Sie in beiden Initialisierer-Dateien:

currentUser.trust_level === 0

zu:

currentUser.trust_level <= 1  // TL0 und TL1

Technische Details

  • API-Version: 1.8.0 (moderne Discourse-API)
  • Komponententyp: Glimmer-Komponente mit Template-Tag
  • Plugin-Outlet: before-groups-index
  • Kompatibilität: Discourse 2.8.0+

Fehlerbehebung

F: Weiterleitung funktioniert nicht
A: Leeren Sie den sessionStorage Ihres Browsers und testen Sie mit einem neuen Trust Level 0-Konto

F: Banner wird beim Testen nicht angezeigt
A: Überprüfen Sie, ob Sie sich auf der Route /g befinden und als TL0-Benutzer angemeldet sind, oder überprüfen Sie die in den Admin-Einstellungen festgelegten Werte. Suchen Sie im Browser-Konsolenprotokoll nach Fehlern.

F: Weiterleitungsschleife
A: Die sessionStorage-Prüfung sollte dies verhindern. Sollte es dennoch auftreten, leeren Sie den Browser-Cache und den sessionStorage.

Lizenz

MIT — Public Happiness Movement

Hallo, ich sehe, dass Sie bereits einige Theme Components erstellt haben. Würden Sie in Erwägung ziehen, der Gruppe @theme_authors beizutreten, damit Sie Themen in der Kategorie Theme component erstellen können? Danke.

1 „Gefällt mir“

Ich bin eher ein Projektmanager, aber KI macht es viel einfacher, mit engerem Code zu erstellen, also sicher. Danke.