J’ai beaucoup utilisé ceci, ainsi que mon composant Blocs de page d’accueil. Deux suggestions :
Classes par défaut
J’ai ajusté le composant pour qu’il ajoute toujours une classe homepage au corps et une classe active à un lien de la barre latérale avec href=\"/custom\". Ces fonctionnalités pourraient probablement être des valeurs par défaut pour le modificateur ?
api.onPageChange(() => {
const currentRoute = router.currentRoute.name;
const customHomepageLink = document.querySelector(
'.sidebar-section-link[href=\"/custom\"]'
);
if (currentRoute === "discovery.custom") {
document.body.classList.add("homepage");
if (customHomepageLink) {
customHomepageLink.classList.add("active");
}
} else {
document.body.classList.remove("homepage");
if (customHomepageLink) {
customHomepageLink.classList.remove("active");
}
}
});
});
(Je voulais initialement ajouter le lien de la barre latérale par défaut, mais ne pas pouvoir modifier un tel lien dans l’interface me semble être un inconvénient majeur, voir How can I edit sidebar links that are added with api.addCommunitySectionLink?)
Premier rendu rapide
Je ne saurais pas comment aborder cela techniquement. Mais je me demande, si nous arrivons sur une page d’accueil personnalisée, qui affiche généralement une sélection de contenu limitée, pourrions-nous améliorer le FCP (First Contentful Paint) de la page d’accueil et l’afficher déjà pendant que le reste de l’application se charge ? Peut-être que je comprends mal la nature de l’architecture d’application unique ici… il est un peu décevant d’être d’abord présenté à l’animation de chargement, puis d’atterrir sur une page assez simple, qui en soi pourrait être là instantanément.