using System.Text.Json.Serialization;
namespace DeepDrftModels.Enums;
///
/// The channel a share was performed through (Phase 16 §1b). Today both originate from
/// SharePopover's clipboard actions; a future native/Web-Share button would add a channel
/// without reshaping the metric. Serialized as its string name on the wire.
///
[JsonConverter(typeof(JsonStringEnumConverter))]
public enum ShareChannel
{
/// Copy-link — the canonical track or release URL placed on the clipboard.
Link,
/// Copy-embed — the <iframe> snippet for the single-track FramePlayer.
Embed
}
///
/// What a share targets (Phase 16 §1b). Tracks and releases are both shareable; the popover knows
/// which it is at the point of the action, so no server-side resolution is needed for shares.
/// Serialized as its string name on the wire.
///
[JsonConverter(typeof(JsonStringEnumConverter))]
public enum ShareTargetType
{
/// The share targets a single track, addressed by its vault EntryKey.
Track,
/// The share targets a release, addressed by its public EntryKey.
Release
}