Files
Ely-GPUI-Components/src/messaging/mod.rs
T
ZacharyZhang-NYandClaude Opus 5.5 5ade2bed74 Messaging · Stickers and GIFs: a sticker picker and a GIF picker
StickerPicker shows stickers a pack at a time, chosen above with a
segmented control; a search spans every pack and keeps the stickers
whose names hold it. Arrows move, Enter or a press picks. It reuses the
glyph grid, now forms::picks, which takes its columns and cell size and
titles from the host, so emoji, icons and stickers share one searchable
grid; forms::glyphs keeps the emoji and icon pickers.

GifPicker packs host GIFs in two columns, each moving, under a search
it owns; the host hears the trimmed words only when they change, and
categories fill the search while it is empty. Waiting, it shows tiles
in GIF shapes; finding nothing, it says so. Each GIF is a Tab stop that
a press, Enter or Space picks.

The share toggle now shows its state, as the microphone and camera do.
The gallery ships line-drawn stickers and small GIFs made from its own
pictures.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 23:00:15 -04:00

33 lines
916 B
Rust

mod call;
mod channels;
mod gifs;
mod header;
mod incoming;
mod members;
mod messages;
mod people;
mod pins;
mod receipt;
mod status;
mod stickers;
mod thread;
mod tiles;
#[cfg(all(test, feature = "test-support"))]
mod tests;
pub use call::{CallControls, HuddleIndicator, VoiceCallBar};
pub use channels::{ChannelItem, ChannelList, ChatRow, DirectMessageItem};
pub use gifs::{Gif, GifPicker, Gifs};
pub use header::ChannelHeader;
pub use incoming::IncomingCallDialog;
pub use members::{Member, MemberList};
pub use messages::{ChatMessage, UnreadDivider};
pub use people::{OnlineStatus, UserProfileCard};
pub use pins::{PinnedMessage, PinnedMessages};
pub use receipt::{Delivery, ReadReceipt};
pub use status::{ClearAfter, Status, StatusSetter};
pub use stickers::{Sticker, StickerPack, StickerPicker};
pub use thread::{MessageThread, ThreadPanel};
pub use tiles::{ParticipantTile, ScreenShareView, VideoCallGrid};