export function slugifyPortfolioTitle(value: string) {
  return value
    .normalize("NFD")
    .replace(/[\u0300-\u036f]/g, "")
    .toLowerCase()
    .replace(/[^a-z0-9]+/g, "-")
    .replace(/^-+|-+$/g, "")
    .slice(0, 90) || "realisation";
}

export function portfolioProjectSlug(title: string, id: number) {
  return `${slugifyPortfolioTitle(title)}-${id}`;
}

export function portfolioProjectHref(project: { id: number; title: string }) {
  return project.id > 0 ? `/realisations/${portfolioProjectSlug(project.title, project.id)}` : "/portfolio";
}

export function portfolioProjectId(slug: string) {
  const match = slug.match(/-(\d+)$/);
  return match ? Number(match[1]) : null;
}
