using Content.Shared.Whitelist;
using Robust.Shared.Prototypes;
namespace Content.Shared.FeedbackSystem;
///
/// Prototype that describes the contents of a feedback popup.
///
[Prototype]
public sealed partial class FeedbackPopupPrototype : IPrototype
{
///
[IdDataField]
public string ID { get; private set; } = null!;
///
/// What server the popup is from, you must edit the ccvar to include this for the popup to appear!
///
[DataField(required: true)]
public string PopupOrigin = string.Empty;
///
/// Title of the popup. This supports rich text so you can use colors and stuff.
///
[DataField(required: true)]
public string Title = string.Empty;
///
/// List of "paragraphs" that are placed in the middle of the popup. Put any relevant information about what to give
/// feedback on here! [bold]Rich text is allowed[/bold]
///
[DataField(required: true)]
public string Description = string.Empty;
///
/// The kind of response the player should expect to give; good examples are "Survey", "Discord Channel", "Feedback Thread" etc.
/// Will be listed near the "Open Link" button; rich text is not allowed.
///
[DataField]
public string? ResponseType;
///
/// A link leading to where you want players to give feedback. Discord channel, form etc...
///
[DataField]
public string? ResponseLink;
///
/// Should this feedback be shown when the round ends.
///
///
/// If this is false popups have to be shown to players by running the feedback:add
command.
/// This allows admins to show popups to only specific people.
///
[DataField]
public bool ShowRoundEnd = true;
///
/// Will only show this feedback at round end if there is a rule that fits in the whitelist
///
///
/// This will only work if is true.
/// If this is null it will show the feedback at round end regardless of the rules present
///
[DataField]
public EntityWhitelist? RuleWhitelist;
}