Table of Contents

Namespace EchoHub.Client.UI

Classes

ChannelListSource

Custom list data source for colored channel list rendering. Active channel gets a > indicator, unread channels are bright with a count badge.

ChatColors

Shared color attributes for chat rendering (timestamps, system messages).

ChatLine

A single line in the chat, composed of colored segments.

ChatListSource

Custom list data source for chat messages with per-segment coloring.

ChatSegment

A colored text segment within a chat line.

ColorHelper

Helper to parse hex colors to Terminal.Gui Attributes.

ConnectDialog

A Terminal.Gui dialog for entering server connection and authentication details. Includes a saved servers selector when saved servers are available.

ConnectDialogResult

Result returned from the connect dialog.

CreateChannelDialog
CreateChannelResult
EmojiHelper

Converts emoji grapheme clusters to text shortcodes for safe TUI rendering. Terminal width calculations for emoji are unreliable across different terminals, so we replace them with fixed-width ASCII shortcodes for display only.

MainWindow

Main Terminal.Gui window for the EchoHub chat client.

ProfileEditDialog

A Terminal.Gui dialog for editing the user's profile (display name, bio, nickname color).

ProfileEditResult

Result returned from the profile edit dialog.

ProfileViewDialog

Dialog for viewing a user's server profile. Shows Edit Profile / Set Status buttons when viewing own profile.

StatusDialog

A Terminal.Gui dialog for setting the user's status and status message.

StatusDialogResult

Result returned from the status dialog.

UserListSource

Custom list data source for the online users panel with per-user nickname colors.

Enums

ProfileAction

Action selected by the user in their own profile dialog.