BCards/src/BCards.Web/Configuration/TenantSettings.cs
Ricardo Carneiro 127424fc70 feat: tema por tenant (cores, gradiente) e categorias SpicyLinks
- TenantSettings recebe HeroGradient, PrimaryColor, PrimaryColorDark e DefaultCategories
- _Layout injeta CSS custom properties (--tenant-primary, --tenant-gradient) sobrescrevendo Bootstrap
- CategoryService usa DefaultCategories do tenant quando configurado
- SpicyLinks: gradiente vermelho/rosa, cor primária #e63946, categorias de criadores de conteúdo

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 20:07:43 -03:00

50 lines
2.4 KiB
C#

namespace BCards.Web.Configuration;
public class TenantSettings
{
public string SiteName { get; set; } = "BCards";
public string SiteDescription { get; set; } = "Crie sua página profissional com links organizados. A melhor alternativa para ter sua bio / links. Criada para profissionais e empresas no Brasil.";
public string Tagline { get; set; } = "Crie sua bios / links Profissional";
public string SupportEmail { get; set; } = "suporte@bcards.site";
public string ContentFolder { get; set; } = "bcards";
public bool AgeGated { get; set; } = false;
public string UrlExample { get; set; } = "bcards.site/corretor/seu-nome";
public string DpoEmail { get; set; } = "dpo@bcards.site";
public List<LinkTypeConfig> AllowedLinkTypes { get; set; } = new();
// Hero section
public string HeroHeadline { get; set; } = "Sua presença digital profissional em um só lugar";
public string HeroDescription { get; set; } = "Organize todos os seus links, portfólio, contatos e redes sociais em uma página única e elegante.";
public string HeroCtaText { get; set; } = "Criar Minha Página Grátis";
// Features section
public string FeaturesHeadline { get; set; } = "Por que escolher o {SiteName}?";
public List<TenantFeature> Features { get; set; } = new();
// Bottom CTA section
public string CtaHeadline { get; set; } = "Pronto para começar?";
public string CtaDescription { get; set; } = "Crie sua página agora mesmo e comece a organizar seus links.";
public string CtaButtonText { get; set; } = "Começar Grátis";
// SEO / Layout
public string MetaKeywords { get; set; } = "cartão digital, página de links, bio links, linktree brasil, página profissional";
public string FooterTagline { get; set; } = "Sua presença online, simplificada.";
// Branding / Colors
public string HeroGradient { get; set; } = "linear-gradient(135deg, #667eea 0%, #764ba2 100%)";
public string PrimaryColor { get; set; } = "#0d6efd";
public string PrimaryColorDark { get; set; } = "#0a58ca";
// Category seeding (se vazio, usa os padrões do BCards)
public List<CategorySeedItem> DefaultCategories { get; set; } = new();
}
public class CategorySeedItem
{
public string Name { get; set; } = "";
public string Slug { get; set; } = "";
public string Icon { get; set; } = "";
public string Description { get; set; } = "";
public List<string> SeoKeywords { get; set; } = new();
}