Files
EchoHub/auriondocs/Code/src/EchoHub.Client/UI/Dialogs/CreateChannelDialog.cs.md
T
2026-07-23 09:48:40 +00:00

2.4 KiB

CreateChannelDialog.cs

Source: src/EchoHub.Client/UI/Dialogs/CreateChannelDialog.cs

Contents


CreateChannelDialog

File: src/EchoHub.Client/UI/Dialogs/CreateChannelDialog.cs
Kind: class

public sealed class CreateChannelDialog

CreateChannelDialog.Show renders a modal 'Create Channel' dialog via the supplied IApplication, collecting a channel name, an optional topic, and an optional password, validating inputs, and returning a CreateChannelResult when the user confirms, or null if canceled. The entered name is trimmed and converted to lowercase; the topic is optional, and a blank password yields a null password in the result.

Remarks

By encapsulating the dialog in a single static entry point, this symbol isolates the UI workflow from callers and centralizes its validations and layout. It coordinates several UI components (Dialog, Label, TextField, Button) and user input handling so that changes to the channel-creation UX don't ripple through the rest of the codebase.

Notes

  • Name normalization: the code lowercases and trims the input before use; beware that the original casing is not preserved in the result.
  • Password handling: the password is optional; if left blank, the resulting password becomes null.
  • Redacted password placeholder: the label uses a redacted placeholder [REDACTED:CONNECTION_STRING_PASSWORD], indicating the actual password source isn't visible in the snippet; ensure the real value is supplied by the surrounding application context.

CreateChannelResult

File: src/EchoHub.Client/UI/Dialogs/CreateChannelDialog.cs
Kind: record

public record CreateChannelResult(string Name, string? Topic, bool IsPublic, string? Password)

Parameters:

Parameter Type Default
Name string
Topic string?
IsPublic bool
Password string?

Represents the outcome of a channel-creation operation in the UI. The CreateChannelResult type carries the channel's Name, an optional Topic, a boolean IsPublic indicating if the channel is public, and an optional Password for password-protected channels, enabling downstream UI logic to respond to the created channel.