Componente Banner Pagina di Login Redirect e/o Gruppo

Questo componente ti consente di reindirizzare gli utenti ovunque desideri dopo l’accesso e ti permette anche di inserire un banner di benvenuto nella pagina dei gruppi ( /g ).

È costruito con entrambe le parti indipendenti, quindi puoi reindirizzare dove vuoi, o usarlo solo per inserire un banner nella pagina dei gruppi. Il comportamento predefinito è reindirizzare i nuovi utenti alla pagina dei gruppi dove un banner di benvenuto li incoraggia a unirsi ai gruppi per aiutarli a interagire con la tua community.

Puoi anche utilizzare questo componente per reindirizzare gli utenti con un certo livello di fiducia a una pagina all’accesso, o gli utenti che si sono uniti a meno di un numero di gruppi che selezioni.

First Login Redirect (Reindirizzamento Primo Accesso)

Un componente tema di Discourse che reindirizza gli utenti senza iscrizioni a gruppi a una pagina personalizzata e visualizza un banner di benvenuto personalizzabile.

Caratteristiche

  • :counterclockwise_arrows_button: Reindirizzamento Intelligente - Reindirizza gli utenti senza iscrizioni a gruppi a una pagina personalizzata all’accesso
  • :artist_palette: Banner Personalizzabile - Banner di benvenuto colorato sulla pagina dei gruppi
  • :gear: Completamente Configurabile - Abilita/disabilita reindirizzamento e banner in modo indipendente
  • :bust_in_silhouette: Logica basata sui Gruppi - Interrompe il reindirizzamento una volta che l’utente si unisce a qualsiasi gruppo
  • :bullseye: Consapevolezza del Livello di Fiducia - La visibilità del banner può essere limitata in base al livello di fiducia
  • :rainbow: Sfumatura Arcobaleno - Sfondo con sfumatura a 6 colori accattivante (con interruttore per colore solido)
  • :mobile_phone: Responsive per Mobile - Il banner si adatta agli schermi mobili

Installazione

  1. Nella console di amministrazione di Discourse, vai su Personalizza → Temi → Componenti e fai clic su Installa

  2. Scegli Da un repository Git e incolla:

    https://github.com/focallocal/first-login-redirect
    
  3. Una volta installato, aggiungi il componente al tuo tema attivo

Come Funziona

Logica di Reindirizzamento

  • Controlla se l’utente è membro di qualche gruppo
  • Rileva quando naviga verso la homepage
  • Lo reindirizza all’URL configurato (predefinito: /g)
  • Smette di reindirizzare una volta che si unisce a qualsiasi gruppo
  • Può essere disabilitato indipendentemente dal banner

Banner di Benvenuto

  • Viene visualizzato sulla pagina indice dei gruppi (/g) per impostazione predefinita
  • La visibilità è controllata dalle impostazioni del livello di fiducia
  • Può essere disabilitato indipendentemente dal reindirizzamento
  • Viene nascosto automaticamente una volta che l’utente raggiunge il Livello di Fiducia 1
  • Posizionato in cima all’elenco dei gruppi utilizzando l’outlet before-groups-index

Personalizzazione

Impostazioni Tema (Pannello Admin)

Tutta la personalizzazione può essere effettuata dal pannello di amministrazione di Discourse senza modificare il codice!

  1. Vai su Admin → Personalizza → Temi
  2. Fai clic sul tuo tema che include questo componente
  3. Vai su Impostazioni e trova la sezione “First Login Redirect”

Impostazioni Disponibili:

Impostazioni di Reindirizzamento:

  • Abilita Reindirizzamento: Attiva/disattiva la funzione di reindirizzamento (predefinito: true)
  • Gruppi Minimi Richiesti: Quanti gruppi creati dall’utente devono essere uniti prima che il reindirizzamento si interrompa (predefinito: 1)
    • I gruppi automatici (come trust_level_0, everyone) non contano
  • URL di Reindirizzamento: Dove inviare gli utenti senza gruppi (predefinito: /g)
    • Esempi: /g (gruppi), /categories, /about, /latest

Impostazioni Banner:

  • Mostra Banner: Attiva/disattiva il banner (predefinito: true)
  • Livello di Fiducia Minimo: Livello di fiducia minimo per vedere il banner (0-4, predefinito: 0)
  • Livello di Fiducia Massimo: Livello di fiducia massimo per vedere il banner (0-4, predefinito: 4)
  • Intestazione Banner: Testo principale grande
  • Sottotitolo Banner: Testo esplicativo più piccolo

Tipografia:

  • Dimensione Carattere Intestazione: Dimensione dell’intestazione principale (predefinito: 2.5em)
  • Dimensione Carattere Sottotitolo: Dimensione del sottotitolo (predefinito: 1.25em)
  • Ombra Testo Abilitata: Attiva/disattiva l’ombra del testo per la leggibilità
  • Bagliore Testo Abilitato: Attiva/disattiva l’effetto bagliore esterno

Colori:

  • Usa Sfumatura: Abilita/disabilita la sfumatura (se disabilitata, utilizza colore solido)
  • Colore Sfumatura 1-6: Personalizza ogni colore nella sfumatura
    • Predefinito: Rosa → Arancione → Giallo → Verde → Ciano
    • Imposta “Usa Sfumatura” su OFF per colore solido usando Colore 1

Layout:

  • Padding Banner: Spazio all’interno del banner (predefinito: 3rem 2rem)
  • Raggio Bordo: Arrotondamento degli angoli (predefinito: 12px, usa 0 per quadrato)

Esempi

Mostra solo per TL0 (nuovi utenti):
Imposta Livello di Fiducia Minimo = 0, Livello di Fiducia Massimo = 0

Mostra per tutti tranne gli amministratori:
Imposta Livello di Fiducia Minimo = 0, Livello di Fiducia Massimo = 3

Banner a Colore Solido:
Disattiva “Usa Sfumatura” e imposta Colore 1 sul colore desiderato (es. #FF5722 per arancione).

Sfumatura Bicolore:
Attiva “Usa Sfumatura” e imposta i colori 1-3 su un colore, i colori 4-6 su un altro.

Testo Più Grande:
Imposta l’intestazione su 3em e il sottotitolo su 1.5em.

Nessun Effetto:
Disabilita sia “Ombra Testo” che “Bagliore Testo” per testo piatto.

Disabilita Reindirizzamento (Solo Banner)

Elimina o commenta il file:
javascripts/discourse/api-initializers/first-login-redirect.js

Modifica Requisito Livello di Fiducia

In entrambi i file di inizializzazione, cambia:

currentUser.trust_level === 0

in:

currentUser.trust_level <= 1  // TL0 e TL1

Dettagli Tecnici

  • Versione API: 1.8.0 (API Discourse moderna)
  • Tipo Componente: Componente Glimmer con tag template
  • Plugin Outlet: before-groups-index
  • Compatibilità: Discourse 2.8.0+

Risoluzione dei Problemi

D: Il reindirizzamento non funziona
R: Cancella la sessionStorage del tuo browser e prova con un account Trust Level 0 appena creato

D: Il banner non viene visualizzato durante i test
R: Verifica di essere sulla rotta /g e di aver effettuato l’accesso come utente TL0, oppure controlla i valori impostati nell’amministrazione. Controlla la console del browser per eventuali errori.

D: Loop di reindirizzamento
R: Il controllo della sessionStorage dovrebbe prevenirlo. Se si verifica, cancella la cache del browser e la sessionStorage.

Licenza

MIT — Public Happiness Movement

Ciao, vedo che hai già creato alcuni Componenti Tema. Prenderesti in considerazione di unirti al gruppo @theme_authors, in modo da poter creare argomenti nella categoria Theme component? Grazie.

1 Mi Piace

Sono più un project manager, ma l’IA sta rendendo molto più facile costruire con codice più rigoroso, quindi certo. Grazie.