using System.Text.RegularExpressions;

namespace SkyArtShop.Services
{
    public class SlugService
    {
        public string GenerateSlug(string text)
        {
            if (string.IsNullOrWhiteSpace(text))
                return string.Empty;

            // Convert to lowercase
            var slug = text.ToLowerInvariant();

            // Replace spaces with hyphens
            slug = slug.Replace(" ", "-");

            // Replace & with "and"
            slug = slug.Replace("&", "and");

            // Remove invalid characters
            slug = Regex.Replace(slug, @"[^a-z0-9\-]", "");

            // Replace multiple hyphens with single hyphen
            slug = Regex.Replace(slug, @"-+", "-");

            // Trim hyphens from start and end
            slug = slug.Trim('-');

            return slug;
        }
    }
}
