Je ne suis toujours pas sûr de pourquoi j’avais supprimé la prise en charge des pages d’accueil par défaut et anonymes auparavant. Je les ai remises.
Maintenant, s’il y a un custom_default_homepage, il l’utilise à moins qu’il n’y ait une correspondance de groupe. S’il y a une anon_page et que l’utilisateur est anonyme, il l’utilise.
Je n’ai pas réussi à déterminer comment ni quand la page mobile devrait être définie (est-ce pour les utilisateurs anonymes ? tous les utilisateurs ? est-ce que cela remplace la page par défaut ? la carte de groupe ?), alors je l’ai supprimée. Si vous utilisez cette page mobile, dites-moi ce que vous pensez qu’elle devrait remplacer (je pense peut-être la définir comme page par défaut s’ils sont sur mobile, mais s’il y a une page de groupe, alors l’utiliser ? Toujours pas clair sur ce qu’il faut faire pour les utilisateurs anonymes par rapport aux connectés – je suppose qu’il faut peut-être des versions mobiles pour chacun d’eux ?).
Voici le code :
let url = null;
if (settings.custom_default_homepage) {
url = settings.custom_default_homepage.replace(/^\/+/g, "");
}
if (user) {
if (user.primary_group_name && settings.group_page_map) {
let groupMap = settings.group_page_map.replace(",", ":").split("|");
const mapEntry = groupMap.find((value) =>
RegExp(user.primary_group_name).test(value)
);
if (mapEntry) {
url = mapEntry.split(":")[1].replace(/^\/+/g, "");
}
}
} else if (settings.anon_page) {
url = settings.anon_page.replace(/^\/+/g, "");
}
Et puis cela change la page d’accueil seulement si url a une valeur.