Pinned chat message + brand wordmark assets. Chat can pin one message to a banner above the feed: ChatMessage.IsPinned, MainViewModel.PinnedChatMessage + Pin/ClearPinnedChatMessageCommand (Helpers/RelayCommandGeneric.cs), LeftPanel pinned-message border bound via NotNullToVis with the feed nudged down.

This commit is contained in:
2026-10-10 14:54:08 -07:00
parent 8e1d6f44db
commit 931ab46783
9 changed files with 56 additions and 1 deletions
+10
View File
@@ -22,6 +22,16 @@ public partial class MainViewModel : ViewModelBase
/// left panel can subscribe to its changes.</summary>
public ObservableCollection<ChatMessage> ChatMessages => _chatLayer.Messages;
private ChatMessage? _pinnedChatMessage;
public ChatMessage? PinnedChatMessage
{
get => _pinnedChatMessage;
set => SetProperty(ref _pinnedChatMessage, value);
}
public RelayCommand<ChatMessage> PinChatMessageCommand => new((m) => { PinnedChatMessage = m; });
public RelayCommand ClearPinnedChatMessageCommand => new(_ => { PinnedChatMessage = null; });
/// <summary>The Add → YouTube Chat menu item: enabled only while no chat layer exists
/// anywhere — one chat overlay per layout.</summary>
public bool CanAddYouTubeChat