mirror of
https://github.com/J3vb/OwnCord.git
synced 2026-09-03 03:50:00 +03:00
Client UI: - Design system: Colors, Typography, Controls resource dictionaries - Message actions: reply compose bar, hover edit/delete/reply buttons - Rich content: code blocks, attachments, system messages, content parser - Server strip: 72px sidebar with server icons, home button, add server - Status picker: popup for changing online/idle/dnd/invisible status - ConnectPage: server health check dots with auto-refresh - User popup: profile card with banner, avatar, roles, member since - Emoji picker: 6 categories, search, grid of Unicode emojis - Settings overlay: full-screen with sidebar navigation - Friends/DM view: sidebar + friends list with tabs (online/all/pending) - Toast notifications: auto-dismiss after 3s with fade animation Models & services: - Attachment model added to Message, ApiMessage, ChatMessagePayload - EditMessageAsync, DeleteMessageAsync, SendStatusChangeAsync APIs - MessageContentParser (code blocks, inline code, bold, italic) - EmojiData, ToastService, HealthStatusToBrushConverter Server (from prior session): - Voice room management, SFU, speaker detection - ACME/TLS support, config improvements - Protocol and schema updates Tests: 331 passing (61 converter + 24 voice service + 34 voice VM + 41 parser + 9 edit/delete + existing)
16 lines
447 B
C#
16 lines
447 B
C#
using System.Collections.ObjectModel;
|
|
|
|
namespace OwnCord.Client.Models;
|
|
|
|
/// <summary>
|
|
/// Groups members by their role for the member list sidebar.
|
|
/// </summary>
|
|
public sealed class MemberGroup
|
|
{
|
|
public string RoleName { get; init; } = string.Empty;
|
|
public string? RoleColor { get; init; }
|
|
public int Position { get; init; }
|
|
public ObservableCollection<User> Members { get; } = [];
|
|
public int MemberCount => Members.Count;
|
|
}
|