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;
}