using System.ComponentModel.DataAnnotations; namespace BewerbungsSeite.Models.SiteContent; /// /// Bereich "Kontakt" (section id="contact"). Enthaelt nur die Texte; /// das Formular selbst bleibt Bestandteil der Seite und ist nicht editierbar. /// public class ContactSection { [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 InfoBoxes { get; set; } = new(); /// Einleitungstext oberhalb der Formularfelder. [StringLength(ContentLimits.FormIntro, ErrorMessage = ContentLimits.TooLongMessage)] public string FormHeading { get; set; } = string.Empty; } /// Eine Kontaktangabe (Standort, Telefon, E-Mail, ...). public class ContactInfoItem { /// CSS-Klasse des Icons, z. B. "flaticon-call". [StringLength(ContentLimits.IconClass, ErrorMessage = ContentLimits.TooLongMessage)] public string Icon { get; set; } = string.Empty; [StringLength(ContentLimits.FactLabel, ErrorMessage = ContentLimits.TooLongMessage)] public string Title { get; set; } = string.Empty; [StringLength(ContentLimits.FactValue, ErrorMessage = ContentLimits.TooLongMessage)] public string Text { get; set; } = string.Empty; /// Optional: macht den Text zum Link, z. B. "tel:0797367355". [StringLength(ContentLimits.Url, ErrorMessage = ContentLimits.TooLongMessage)] public string LinkUrl { get; set; } = string.Empty; }