9103ff1fb7
- MVVM architecture (Models, ViewModels, Views, Services, Helpers) - Models: Scene, Source, StreamConfig, StreamHealth, YouTubeChannel, ChatMessage - Services: YouTubeAuthService (OAuth2), YouTubeStreamService (broadcasts/stream health), YouTubeChatService (live chat polling) - ViewModels: MainViewModel with scene management, stream controls, chat - MainWindow with dark theme: scene/source panel, preview area, chat panel, status bar - Version roadmap: v0.1 (scenes, RTMP, OAuth2, chat, health) -> 1.0
27 lines
1017 B
C#
27 lines
1017 B
C#
namespace ytLive.Models;
|
|
|
|
public class YouTubeChannel
|
|
{
|
|
public string ChannelId { get; set; } = string.Empty;
|
|
public string DisplayName { get; set; } = string.Empty;
|
|
public string ProfileImageUrl { get; set; } = string.Empty;
|
|
public string AccessToken { get; set; } = string.Empty;
|
|
public string RefreshToken { get; set; } = string.Empty;
|
|
public DateTime TokenExpiry { get; set; }
|
|
}
|
|
|
|
public class ChatMessage
|
|
{
|
|
public string Id { get; init; } = Guid.NewGuid().ToString();
|
|
public string AuthorName { get; set; } = string.Empty;
|
|
public string AuthorChannelId { get; set; } = string.Empty;
|
|
public string AuthorImageUrl { get; set; } = string.Empty;
|
|
public string Message { get; set; } = string.Empty;
|
|
public DateTime Timestamp { get; set; }
|
|
public bool IsSuperChat { get; set; }
|
|
public double SuperChatAmount { get; set; }
|
|
public string? SuperChatCurrency { get; set; }
|
|
public bool IsMember { get; set; }
|
|
public string? MembershipLevel { get; set; }
|
|
}
|