Ainda não tenho certeza do porquê de ter removido o suporte para as páginas iniciais padrão e anônimas antes. Recoloquei-as.
Agora, se houver um custom_default_homepage, ele o usa, a menos que haja uma correspondência de grupo. Se houver uma anon_page e o usuário for anônimo, ele a usa.
Não consegui descobrir como ou quando a página móvel deve ser definida (é para usuários anônimos? todos os usuários? ela substitui a página padrão? o mapa de grupos?), então a excluí. Se você estiver usando essa página móvel, diga-me o que você acha que ela deve substituir (acho que talvez configurá-la como a página padrão se eles estiverem no celular, mas se houver uma página de grupo, então usar essa? Ainda não está claro o que fazer para anônimos versus logados – acho que talvez precise haver versões móveis para todos eles?).
Aqui está o código:
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, "");
}
E então ele muda a página inicial apenas se url tiver um valor.