Redirection de connexion et/ou composant de bannière de page de groupe

Ce composant vous permet de rediriger les utilisateurs où vous le souhaitez après la connexion, et vous permet également d’afficher une bannière de bienvenue sur la page des groupes ( /g ).

Il est construit avec deux parties indépendantes, vous pouvez donc rediriger où vous voulez, ou l’utiliser uniquement pour afficher une bannière sur la page des groupes. Le comportement par défaut est de rediriger les nouveaux utilisateurs vers la page de groupe où une bannière de bienvenue les encourage à rejoindre des groupes pour les aider à s’engager dans votre communauté.

Vous pouvez également utiliser ce composant pour rediriger les utilisateurs ayant un certain niveau de confiance vers une page à la connexion, ou les utilisateurs qui ont rejoint moins qu’un nombre de groupes que vous sélectionnez.

Redirection de première connexion

Un composant de thème Discourse qui redirige les utilisateurs sans appartenance à aucun groupe vers une page personnalisée et affiche une bannière de bienvenue personnalisable.

Fonctionnalités

  • :counterclockwise_arrows_button: Redirection Intelligente - Redirige les utilisateurs sans appartenance à aucun groupe vers une page personnalisée à la connexion
  • :artist_palette: Bannière Personnalisable - Bannière de bienvenue colorée sur la page des groupes
  • :gear: Entièrement configurable - Activez/désactivez la redirection et la bannière indépendamment
  • :bust_in_silhouette: Logique basée sur les groupes - Arrête la redirection dès que l’utilisateur rejoint un groupe
  • :bullseye: Sensible au niveau de confiance - La visibilité de la bannière peut être restreinte par niveau de confiance
  • :rainbow: Dégradé Arc-en-ciel - Arrière-plan à dégradé de 6 couleurs accrocheur (avec bascule pour une couleur unie)
  • :mobile_phone: Adapté aux mobiles - La bannière s’adapte aux écrans mobiles

Installation

  1. Dans la console d’administration de Discourse, allez à Personnaliser → Thèmes → Composants et cliquez sur Installer

  2. Choisissez À partir d’un dépôt Git et collez :

    https://github.com/focallocal/first-login-redirect
    
  3. Une fois installé, ajoutez le composant à votre thème actif

Comment ça marche

Logique de redirection

  • Vérifie si l’utilisateur est membre d’un groupe
  • Détecte quand il navigue vers la page d’accueil
  • Le redirige vers l’URL configurée (par défaut : /g)
  • Arrête la redirection une fois qu’il rejoint un groupe
  • Peut être désactivé indépendamment de la bannière

Bannière de bienvenue

  • S’affiche sur la page d’index des groupes (/g) par défaut
  • La visibilité est contrôlée par les paramètres de niveau de confiance
  • Peut être désactivé indépendamment de la redirection
  • Caché automatiquement une fois que l’utilisateur atteint le niveau de confiance 1
  • Positionné en haut de la liste des groupes en utilisant la sortie before-groups-index

Personnalisation

Paramètres du thème (Panneau d’administration)

Toute la personnalisation peut être effectuée à partir du panneau d’administration de Discourse sans modifier le code !

  1. Allez à Admin → Personnaliser → Thèmes
  2. Cliquez sur votre thème qui inclut ce composant
  3. Allez à Paramètres et trouvez la section « Redirection de première connexion »

Paramètres disponibles :

Paramètres de redirection :

  • Activer la redirection : Activez/désactivez la fonctionnalité de redirection (par défaut : vrai)
  • Groupes minimum requis : Nombre de groupes créés par l’utilisateur qu’ils doivent rejoindre avant que la redirection ne s’arrête (par défaut : 1)
    • Les groupes automatiques (comme trust_level_0, everyone) ne comptent pas
  • URL de redirection : Où envoyer les utilisateurs sans groupes (par défaut : /g)
    • Exemples : /g (groupes), /categories, /about, /latest

Paramètres de la bannière :

  • Afficher la bannière : Activez/désactivez la bannière (par défaut : vrai)
  • Niveau de confiance minimum : Niveau de confiance minimum pour voir la bannière (0-4, par défaut : 0)
  • Niveau de confiance maximum : Niveau de confiance maximum pour voir la bannière (0-4, par défaut : 4)
  • Titre de la bannière : Texte principal en gros caractères
  • Sous-titre de la bannière : Texte explicatif plus petit

Typographie :

  • Taille de police du titre : Taille du titre principal (par défaut : 2.5em)
  • Taille de police du sous-titre : Taille du sous-titre (par défaut : 1.25em)
  • Ombre de texte activée : Activez l’ombre de texte pour la lisibilité
  • Lueur de texte activée : Activez l’effet de lueur externe

Couleurs :

  • Utiliser le dégradé : Activez/désactivez le dégradé (s’il est désactivé, utilise une couleur unie)
  • Couleur de dégradé 1-6 : Personnalisez chaque couleur du dégradé
    • Par défaut : Rose → Orange → Jaune → Vert → Cyan
    • Réglez « Utiliser le dégradé » sur NON pour une couleur unie en utilisant la Couleur 1

Mise en page :

  • Rembourrage de la bannière : Espace à l’intérieur de la bannière (par défaut : 3rem 2rem)
  • Rayon de la bordure : Arrondi des coins (par défaut : 12px, utilisez 0 pour carré)

Exemples

Afficher uniquement pour TL0 (nouveaux utilisateurs) :
Réglez Niveau de confiance minimum = 0, Niveau de confiance maximum = 0

Afficher pour tout le monde sauf les administrateurs :
Réglez Niveau de confiance minimum = 0, Niveau de confiance maximum = 3

Bannière de couleur unie :
Désactivez « Utiliser le dégradé » et réglez Couleur 1 sur la couleur souhaitée (par exemple, #FF5722 pour orange).

Dégradé bicolore :
Activez « Utiliser le dégradé » et réglez les couleurs 1-3 sur une couleur, les couleurs 4-6 sur une autre.

Texte plus grand :
Réglez le titre sur 3em et le sous-titre sur 1.5em.

Aucun effet :
Désactivez à la fois « Ombre de texte » et « Lueur de texte » pour un texte plat.

Désactiver la redirection (Bannière uniquement)

Supprimez ou commentez le fichier :
javascripts/discourse/api-initializers/first-login-redirect.js

Modifier l’exigence de niveau de confiance

Dans les deux fichiers d’initialisation, changez :

currentUser.trust_level === 0

en :

currentUser.trust_level <= 1  // TL0 et TL1

Détails techniques

  • Version de l’API : 1.8.0 (API Discourse moderne)
  • Type de composant : Composant Glimmer avec balise de modèle
  • Sortie de plugin : before-groups-index
  • Compatibilité : Discourse 2.8.0+

Dépannage

Q : La redirection ne fonctionne pas
R : Videz la sessionStorage de votre navigateur et testez avec un nouveau compte Niveau de confiance 0

Q : La bannière n’apparaît pas lors des tests
R : Vérifiez que vous êtes sur la route /g et connecté en tant qu’utilisateur TL0, ou les valeurs que vous avez définies dans l’administration. Vérifiez la console du navigateur pour les erreurs.

Q : Boucle de redirection
R : La vérification de la sessionStorage devrait empêcher cela. Si cela se produit, videz le cache du navigateur et la sessionStorage.

Licence

MIT — Mouvement pour le Bonheur Public

Bonjour, je vois que vous avez déjà créé des composants de thème. Envisageriez-vous de rejoindre le groupe @theme_authors, afin de pouvoir créer des sujets dans la catégorie Theme component ? Merci.

1 « J'aime »

Je suis davantage un chef de projet, mais l’IA facilite grandement la création avec un code plus propre, alors oui. Merci.