60a30b9422ec1df5b9722e2dbb4aa85d504dbf9f
This commit introduces the ability to display stickers within message bubbles.
Key changes:
- `Attachments.kt`: Added handling for `AttachmentType.STICKER`. If an attachment type is unsupported, a placeholder text is now displayed.
- `Sticker.kt`: New composable created to render `VkStickerDomain` using `AsyncImage`.
- `MessageBubble.kt`:
- Adjusted background alpha for sticker messages to make the bubble transparent.
- Minor refactoring of `minDateContainerWidth` and `dateContainerWidth` initialization.
- `VkStickerDomain.kt`: Added `getUrl()` function to construct sticker image URLs, with options for specifying width and background.
fast-messenger
Unofficial messenger for russian social network VKontakte
Functionality
- Authorization
- 2FA support
- Resend otp
- Captcha support
- Support for new authorization with service and refresh tokens
- Handle token expiration
- Ability to export/import tokens
- 2FA support
- Conversations list
- Pagination
- Manual refresh
- Pin & unpin conversations
- Delete conversations
- Archive
- View archived conversations
- Archive & unarchive conversations
- Friends list
- Sort alphabetically, by priority or random
- Separate tab with only friends who are online
- Settings screen
- TODO
- Chat screen
- Pagination
- Manual refresh
- Message bubbles
- Text
- Date
- Read status
- Edit status
- Sending status
- Message's attachments
- Photo
- Video
- Audio
- File
- Link
- TODO
- Send messages
- Pinned message
- Pin & unpin messages
- Reply to message
- Delete message
- Select multiple messages
- Delete
- Forward
- Forward in current chat
- Send attachments to chat
- TODO
- Chat materials (attachments)
- Separate tabs for each attachment type
- Pagination
- Manual refresh
- View attachments
- Open photo
- Internal viewer
- External viewer
- Open video in external player
- TODO
- Open photo
- Separate tabs for each attachment type
- Caching
- TODO
Languages
Kotlin
100%