website-builder-frontend/lib/sites.ts
S M Fahim Hossen dd9691acdc update
2025-09-25 10:53:13 +06:00

53 lines
1.1 KiB
TypeScript

export interface SiteData {
heroTitle: string;
heroSubtitle: string;
}
export interface Site {
id: number;
userId: number;
slug: string;
name: string;
template: string;
data: SiteData;
}
// Get sites from localStorage
export function getUserSites(): Site[] {
if (typeof window === "undefined") return []; // SSR safe
const data = localStorage.getItem("userSites");
return data ? JSON.parse(data) : [];
}
// Save sites to localStorage
export function saveUserSites(sites: Site[]) {
localStorage.setItem("userSites", JSON.stringify(sites));
}
export function createSite({
userId,
businessName,
template,
}: {
userId: number;
businessName: string;
template: string;
}): Site {
const sites = getUserSites();
const id = sites.length + 1;
const slug = `site-${id}`;
const newSite: Site = {
id,
userId,
slug,
name: businessName,
template,
data: {
heroTitle: `Welcome to ${businessName}`,
heroSubtitle: "Best products ever",
},
};
sites.push(newSite);
saveUserSites(sites);
return newSite;
}