252f6ec21e1ec218b7f8ca871988fd7a90ab41d0
This commit refactors the PhotoViewScreen to be displayed as a Dialog instead of a separate navigation destination.
Key changes:
- Introduced `PhotoViewDialog` composable that wraps `PhotoViewRoute` in a `FullScreenDialog`.
- Modified `RootScreen` to use `PhotoViewDialog` for displaying images.
- Updated `PhotoViewViewModelImpl` to handle loading state and display a loader while downloading images.
- Made `Loader` and `ContainedLoader` colors configurable.
- Adjusted `PhotoViewScreen` UI:
- Set background to translucent black.
- Updated TopAppBar background color and icon tints.
- Improved vertical drag gesture for dismissing the viewer.
- Made `VkUserData.LastSeen.platform` nullable.
- Removed unused navigation functions related to the old PhotoViewScreen.
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
- Sticker
- Reply
- Forwarded messages
- Wall post
- Comment in wall post
- Poll
- 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%