social library
Chat and sharing widgets built on sheen: people with their presence, chat rows and friend requests, message bubbles, cards for shared music, reactions, a composer, a typing indicator, a friend picker and a listen-together banner.
Import it next to package:sheen/sheen.dart (it uses package:sheen/music.dart for the playing bars).
Classes
- SheenAvatarStack
- Two to four avatars overlapping, for a group chat or the people listening together.
- SheenChatBubble
- A message: text in a bubble (mine in the accent at the end, theirs muted at the start), or any child such as a SheenShareCard, with the sender's name above it in groups and reactions under it.
- SheenChatRow
- One chat in a list: who it is with, the last message, its time and how many messages are unread.
- SheenComposer
- The bar at the bottom of a chat: a button to share music, a field that grows to five lines, and Send in the accent (disabled while the field is empty). It sits above the keyboard and the home indicator.
-
SheenFriendChoice<
T> - Someone (or a group) to pick in a SheenFriendPicker.
-
SheenFriendPicker<
T> - A grid of friends and groups to send something to, as a share sheet shows them: tap to pick, tap again to drop; the picked ones get an accent ring.
- SheenListenTogetherBanner
- Listening together in a chat: who hosts, what plays, and Join or Leave, on the accent.
- SheenPresenceAvatar
- A SheenAvatar with the person's presence: a green dot when online, playing bars while they listen.
- SheenPresenceItem
- One friend in a SheenPresenceStrip.
- SheenPresenceStrip
- The friends listening now, in a row that scrolls sideways: avatar with playing bars, name, song.
- SheenReactionBar
- The emoji to react with, in a floating pill; the one I chose is marked.
- SheenReactionCount
- One reaction under a message: its emoji, how many chose it, and whether I did.
- SheenReactions
- The reaction chips under a message; tapping one calls onTap (an app adds or removes mine).
- SheenRequestCard
- A request from someone new: their avatar, a line about them, and Accept / Decline.
- One button under a SheenShareCard ("Like", "Play next", "Save a copy").
- Music shared in a chat: the cover with a play button, what it is ("Song · 3:12", "Playlist · 24 songs"), the title, the artist, the sender's note and up to two actions.
- SheenSocialScope
- Provides SheenSocialStrings to the social widgets below it.
- SheenSocialStrings
- The words the social widgets show or announce when you give them none.
- SheenTypingIndicator
- Three dots that rise in turn while someone types; still under Reduce Motion.
- SheenUnreadCount
- A count in an accent pill, for unread messages.
Enums
- SheenPresence
- What a person is doing, as their avatar shows it.
Functions
-
showSheenReactionBar(
{required BuildContext context, required Rect anchor, String? chosen, List< String> emojis = SheenReactionBar.defaults}) → Future<String?> -
Opens SheenReactionBar over a dimmed screen, right above
anchor(the message, in global coordinates, as SheenChatBubble.onReact gives it) or under it when there is no room above. Returns the emoji picked, or null.