using TeleWave.Domain.Broadcast;

namespace TeleWave.Application.Broadcast;

public sealed record ChannelSummaryDto(Guid Id, string Name, string Slug, bool IsEnabled);

public sealed record ChannelDto(
    Guid Id,
    string Name,
    string Slug,
    bool IsEnabled,
    int? Number,
    int UtcOffsetMinutes,
    TimeOnly DayStartTime,
    Guid? TemplateId,
    Guid? FillerAssetId,
    /// <summary>Оверлеи и фильтр зрительской части — всё опционально (см. 6.8).</summary>
    ViewerSettingsDto Viewer
);

/// <summary>Как канал выглядит у зрителя: логотип-оверлей, часы, аналоговый фильтр.</summary>
public sealed record ViewerSettingsDto(
    Guid? LogoImageId,
    LogoCorner LogoCorner,
    double LogoOpacity,
    bool ShowClock,
    double AnalogFilterStrength
);
