feat: implement dynamic home page with configurable blog and category settings

This commit is contained in:
2026-04-23 13:41:51 +02:00
parent 33ec11d6db
commit 88e4c13b9f
7 changed files with 341 additions and 15 deletions

View File

@@ -75,3 +75,14 @@ export async function deleteBlogPost(id: string) {
return { success: false, error: "Erreur lors de la suppression" };
}
}
export async function getBlogPosts() {
try {
return await prisma.blogPost.findMany({
orderBy: { date: 'desc' }
});
} catch (error) {
console.error("Failed to fetch blog posts:", error);
return [];
}
}

View File

@@ -20,7 +20,15 @@ export async function getSiteSettings() {
twitterUrl: "",
instagramUrl: "",
linkedinUrl: "",
footerText: "© 2025 Afrohub. Tous droits réservés."
footerText: "© 2025 Afrohub. Tous droits réservés.",
homeBlogShow: true,
homeBlogTitle: "Derniers Articles",
homeBlogSubtitle: "Toutes les actualités de l'entrepreneuriat africain.",
homeBlogCount: 3,
homeBlogSelection: "latest",
homeBlogIds: [],
homeBlogCategories: [],
homeCategories: ["Technologie & IT", "Agriculture & Agrobusiness", "Mode & Textile", "Cosmétique & Beauté"]
};
if (!settings) return defaultSettings;
@@ -43,7 +51,7 @@ export async function updateSiteSettings(data: any) {
});
revalidatePath('/settings');
revalidatePath('/', 'layout'); // Revalidate all public pages because footer/header might use it
revalidatePath('/', 'layout');
return { success: true, settings };
} catch (error) {