using System.ComponentModel.DataAnnotations; namespace BewerbungsSeite.Models.SiteContent; /// Bereich "Projekte" (section id="projects"). public class ProjectsSection { [StringLength(ContentLimits.Kicker, ErrorMessage = ContentLimits.TooLongMessage)] public string Kicker { get; set; } = string.Empty; [StringLength(ContentLimits.Heading, ErrorMessage = ContentLimits.TooLongMessage)] public string Title { get; set; } = string.Empty; [StringLength(ContentLimits.Heading, ErrorMessage = ContentLimits.TooLongMessage)] public string TitleHighlight { get; set; } = string.Empty; public List Items { get; set; } = new(); } /// Eine Projektkarte. public class ProjectItem { [StringLength(ContentLimits.Url, ErrorMessage = ContentLimits.TooLongMessage)] public string Image { get; set; } = string.Empty; [StringLength(ContentLimits.AltText, ErrorMessage = ContentLimits.TooLongMessage)] public string ImageAlt { get; set; } = string.Empty; [StringLength(ContentLimits.CardTitle, ErrorMessage = ContentLimits.TooLongMessage)] public string Title { get; set; } = string.Empty; /// Optionaler fett gesetzter Auftakt vor der Beschreibung, z. B. "Ziel:". [StringLength(ContentLimits.DetailHeading, ErrorMessage = ContentLimits.TooLongMessage)] public string DescriptionLead { get; set; } = string.Empty; [StringLength(ContentLimits.ParagraphText, ErrorMessage = ContentLimits.TooLongMessage)] public string Description { get; set; } = string.Empty; /// Zwischentitel mit Text ("TECH:", "Meine Arbeit:", ...). public List Details { get; set; } = new(); public List Links { get; set; } = new(); /// true = breite Karte ueber die volle Breite mit Bild links. public bool Wide { get; set; } }