namespace DigitalData.Core.Application.Abstraction.DTO
{
///
/// Represents settings related to user cookie consent dialogs. Designed to be serialized into JSON format for use with JavaScript frontend libraries,
/// such as the bootstrap-cookie-consent-settings at the GitHub repository: https://github.com/shaack/bootstrap-cookie-consent-settings
///
public class CookieConsentSettings
{
///
/// URL to the privacy policy page.
///
public string? PrivacyPolicyUrl { get; set; }
///
/// URL to the legal notice page.
///
public string? LegalNoticeUrl { get; set; }
///
/// URL to the content of the dialog box.
///
public string? ContentURL { get; set; }
///
/// CSS class for the 'Agree' button.
///
public string? ButtonAgreeClass { get; set; }
///
/// CSS class for the 'Don't Agree' button.
///
public string? ButtonDontAgreeClass { get; set; }
///
/// CSS class for the 'Save' button.
///
public string? ButtonSaveClass { get; set; }
///
/// Language in which the modal is displayed.
///
public string? Lang { get; set; }
///
/// Default language for the modal if the user's browser language is not supported.
///
public string? DefaultLang { get; set; }
///
/// Name of the cookie used to store the consent status.
///
public string? CookieName { get; set; }
///
/// Number of days the cookie will be stored.
///
public int CookieStorageDays { get; set; }
///
/// Identifier for the modal dialog element.
///
public string? ModalId { get; set; }
///
/// Indicates whether to also store the settings in the browser's localStorage.
///
public bool AlsoUseLocalStorage { get; set; }
///
/// List of categories for cookie consent.
///
public List? Categories { get; set; }
}
}