Lo he estado usando bastante, junto con mi Bloques de página de inicio componente. Dos sugerencias:
Clases predeterminadas
Ajusté el componente para que siempre agregue una clase homepage al cuerpo y una clase active a un enlace de la barra lateral con href=\"/custom\". ¿Podrían estas características ser valores predeterminados para el modificador?
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");
}
}
});
});
(Inicialmente quería agregar el enlace de la barra lateral por defecto, pero no poder editar dicho enlace en la interfaz me parece un inconveniente real, ver How can I edit sidebar links that are added with api.addCommunitySectionLink?)
Primera pintura rápida
No sabría cómo abordar esto técnicamente. Pero me pregunto, si aterrizamos en una página de inicio personalizada, que típicamente muestra una selección de contenido limitada, ¿podríamos mejorar el FCP para la página de inicio y renderizarla ya mientras el resto de la aplicación se está cargando? Quizás estoy malinterpretando la naturaleza de la arquitectura de aplicación única aquí… simplemente se siente un poco decepcionante ser presentado primero con la animación de carga, y luego aterrizar en una página bastante simple, que por sí sola podría estar allí al instante.