62 lines
1.8 KiB
TypeScript
62 lines
1.8 KiB
TypeScript
"use server";
|
|
|
|
import { prisma } from '@/lib/prisma';
|
|
import { revalidatePath } from 'next/cache';
|
|
|
|
export async function getSiteSettings() {
|
|
try {
|
|
const settings = await prisma.siteSetting.findUnique({
|
|
where: { id: 'singleton' }
|
|
});
|
|
|
|
// Default fallback values if not initialized
|
|
const defaultSettings = {
|
|
siteName: "Afrohub",
|
|
siteSlogan: "La plateforme de référence pour l'entrepreneuriat africain.",
|
|
contactEmail: "support@afrohub.com",
|
|
contactPhone: "+225 00 00 00 00 00",
|
|
address: "Abidjan, Côte d'Ivoire",
|
|
facebookUrl: "",
|
|
twitterUrl: "",
|
|
instagramUrl: "",
|
|
linkedinUrl: "",
|
|
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;
|
|
return settings;
|
|
} catch (error) {
|
|
console.error("Failed to fetch settings:", error);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
export async function updateSiteSettings(data: any) {
|
|
try {
|
|
const settings = await prisma.siteSetting.upsert({
|
|
where: { id: 'singleton' },
|
|
update: data,
|
|
create: {
|
|
id: 'singleton',
|
|
...data
|
|
}
|
|
});
|
|
|
|
revalidatePath('/settings');
|
|
revalidatePath('/', 'layout');
|
|
|
|
return { success: true, settings };
|
|
} catch (error) {
|
|
console.error("Failed to update settings:", error);
|
|
return { success: false, error: "Erreur lors de la mise à jour des paramètres" };
|
|
}
|
|
}
|