Right-click on a nickname. Shows PM, Whois, Copy, Ignore, Address Book, P2P actions (when identified), and Op actions (when viewer is op).
Basic (regular user)
Identified user (P2P actions)
Op viewer (full menu)
<.chat_context_menu
visible
type={:nick} target_nick="Brutus"
viewer_nick="Troll"
viewer_is_identified
viewer_is_op
on_action="handle_ctx_action"
/>
Self-targeting (Ignore disabled) and ignored user (Unignore shown).
Self target
Ignored user
<.chat_context_menu type={:nick} target_nick="Troll" is_target_self />
<.chat_context_menu type={:nick} target_nick="Spammer" is_target_ignored />
Right-click on a URL in chat. Open, Copy, or Save to URL list.
<.chat_context_menu
visible
type={:url} target_url="https://example.com/article"
on_action="handle_ctx_action"
/>
Right-click on a #channel name. Join (disabled if already joined), Copy, Info.
Not joined
Already joined
<.chat_context_menu type={:channel} target_channel="#elixir" />
<.chat_context_menu type={:channel} target_channel="#lobby" is_already_joined />
Right-click on a message body. Copy, Reply, Delete (own messages only), Ignore Sender.
Own message
Other user's message
<.chat_context_menu
type={:message} target_message={%{
id: "msg-1",
text: "Hello!",
nick: "Troll",
has_urls: false,
is_own: true
}} viewer_nick="Troll"
is_target_self
on_action="handle_ctx_action"
/>