Commit Graph

49 Commits

Author SHA1 Message Date
melod1n 45ee0acea5 * refactor Conversation -> Convo
* extract Message and Convo mappers to core/domain module
* improve reply container text
2025-12-17 17:16:02 +03:00
melod1n 478639e427 Refactor: Extract RootScreen from MainActivity and fix reply message user
This commit refactors the UI composition logic by extracting it from `MainActivity` into a new, dedicated `RootScreen` composable. This improves the separation of concerns and simplifies `MainActivity`.

Additionally, a bug has been fixed where a replied-to message would incorrectly display the author of the parent message instead of its own author.

Key changes:
- Moved theme setup, permission handling, Long-Poll/Online service management, and navigation graph hosting into the new `RootScreen.kt`.
- `MainActivity` is now significantly simplified, delegating its UI composition to `RootScreen`.
- Corrected the user and group assignment for `replyMessage` in `MessagesRepositoryImpl` to ensure the correct author is displayed.
- Introduced `OnlineFriendsViewModel` to the `FriendsRoute` to separate the logic for online friends.
- Replaced `List` with a custom `ImmutableList` for `photoViewerInfo` state to improve Compose stability.
2025-12-15 22:24:17 +03:00
melod1n 3a272376c1 Refactor: replace material icons with local drawables and bump libs 2025-12-02 02:21:45 +03:00
melod1n 8cb3ed8784 some improvements, new feature 2025-08-27 05:17:40 +03:00
melod1n 4677e484d9 move strings in core/ui module
disable generating android resources everywhere except core/ui module
replace UiR with R
2025-08-27 04:53:46 +03:00
melod1n 3dae1fe101 Refactor: Introduce FullScreenContainedLoader and use rememberUpdatedState
This commit introduces `FullScreenContainedLoader` and replaces usages of `FullScreenLoader` where appropriate.

It also updates several composables to use `rememberUpdatedState` for lambda parameters to ensure the latest versions are used.

Additionally, the following changes are included:
- Add a setting to show/hide the attachment button in the chat input bar.
- Implement navigation to `PhotoViewScreen` when a photo attachment is clicked in a message.
- Add "Copy link" and "Copy image" actions to `PhotoViewScreen`.
- Remove unused settings and their corresponding logic from `SettingsViewModel` and `UserSettings`.
2025-06-24 14:44:51 +03:00
melod1n 17b5c944ac m3 expressive theme and full screen loader
revert pre-loading non-main screens
2025-06-20 21:55:17 +03:00
melod1n b63cc86e48 pre-warm up the main screens when the application is launched 2025-05-11 22:36:41 +03:00
melod1n 43539139e8 Simple attachments in messages history (#164)
* new attachments in messages history - photo, video, audio, file, link
* improve attachments in messages history and adjusted font size for logo's text in auth screen
* audio duration, file preview and url preview are now visible in attachments in messages history screen
* make MessageBubble width adapt to attachments container width
* topbar back icon crossfade animation
* implement rich text for message input
* handle click and long click on attachments
* added click and long click handlers for attachments in message bubbles
* enabled opening photos, files, and links when clicked.
* implemented basic long-click logging for photos.
* handled back press to return to Conversations from other tabs.
* corrected the logic for filtering and selecting video images.
* updated string resources for attachments, including a new "Clip" string.
* make MessageBubble mention text underline on out messages
2025-05-10 03:10:07 +03:00
melod1n 89748b72ed Update API version (#147)
* Bump VK Api version to 5.238
* Implemented new authorization flow (at the moment, without auto re-requesting token)
* Add support for sticker pack preview attachments
* Bump LongPoll to version 19
* Improved messages handling
* Fixed coloring issues
* Cache improvements
* Archive screen with full functionality
* Recomposition fixes
* Markdown support for messages bubbles
* Adjust app name font size based on screen width
* Navigation related improvements
* Add logout functionality
2025-04-04 20:43:59 +03:00
melod1n 5b5e8f8446 Implement scroll to top in friends and conversations screens 2025-03-29 22:31:48 +03:00
melod1n d46c72f7e6 improve login screen UI and logic & fixes for blur 2025-03-29 22:03:37 +03:00
melod1n 51356aa4dd chat materials pagination and ui improvements 2025-03-27 03:50:39 +03:00
melod1n 807c23926e reworked chat materials screen and some fixes 2025-03-27 02:27:19 +03:00
melod1n 0ae05709db feat: Add ordering functionality for friends list 2025-03-26 01:28:50 +03:00
melod1n 3fdb574971 some updates 2025-03-23 20:51:15 +03:00
melod1n 8dc47c3fa5 separated screens for friends tab 2025-03-23 19:53:58 +03:00
melod1n b2879d8756 Release 0.1.8 (#139)
* pagination in chat fixed
* other fixes and improvements

* fixed visual bug in progress bar in chat history

* Refactor: Enhance conversations and friends features

-   In `ConversationsScreen`, removed `isNeedToScrollToTop` and `onScrolledToTop`, and refactored toolbar container color logic. Added `NoItemsView` for empty conversation lists.
-   In `MainGraph`, added `onMessageClicked` for navigation to message history.
-   In `ApiEvent`, introduced `parseOrNull` for handling unknown event types.
-   In `ConversationsViewModel`, removed `scrollToTop` logic and refactored error handling.
-   In `FriendsViewModel`, refactored error handling and introduced `onErrorConsumed` and `handleError`.
-   In `FriendItem`, added an icon button to initiate sending a message to a friend.
-   In `strings.xml`, added or updated strings for session expiration, log out, refreshing, and empty friend lists.
-   In `RootScreen`, added `onMessageClicked` for navigating to messages.
-   In `FriendsList`, added `onMessageClicked` for handling message clicks.
-   In `MainScreen`, removed unused `MutableSharedFlow`.
-   In `FriendsScreen`, added support for showing errors, added `onMessageClicked`, and replaced `hazeChild` with `hazeEffect` and `hazeSource`.
-   In `FriendsNavigation`, added `onMessageClicked` for handling message clicks.
-   In `ConversationsNavigation`, removed the unused `scrollToTopFlow` parameter.
-   In `ErrorView`, added text alignment.
-   In `NoItemsView`, added support for a button and custom text.
-   In `LongPollUpdatesParser`, replaced try-catch with `parseOrNull`.

* Chat creation feature (#138)

* - read indicator, edit status and time for message in messages history

* message sending status
2025-03-23 09:22:41 +03:00
melod1n 7c14df1824 release 0.1.5 (#98)
* settings reorganization;
implement long press on emoji button for fast text;
some deprecations fixed;
some typos fixed;
etc

* ability to use more animations (experimental);
fix online friends loading;
conversation avatar in messages history screen;
test second tap on conversations item in bottom bar to scroll to top;
etc

* version up
2024-12-17 21:07:22 +03:00
melod1n 26c413037a saving selected friends tab while app is working 2024-12-14 01:07:03 +03:00
melod1n 93ba9c0285 saving scroll position only while app is working & add divider with spacer on conversations screen 2024-12-14 00:38:22 +03:00
melod1n 077332a27b improve font in app bars 2024-12-13 23:45:33 +03:00
melod1n 81c6247cd4 saving scroll position on friends screen & conversations 2024-12-04 19:29:36 +03:00
melod1n d7e8c0dd35 fix online friends & pagination 2024-12-04 18:57:14 +03:00
melod1n 97d543539d (fix) ability to use system font 2024-11-01 21:54:50 +03:00
melod1n 957ade0867 some updates 2024-10-28 19:57:53 +03:00
melod1n 5d5400ec56 chore(deps): remove alpha deps 2024-09-27 21:04:35 +03:00
dependabot[bot] 9f5b370854 Bump androidx.compose:compose-bom from 2024.08.00 to 2024.09.02 (#55) 2024-09-27 17:38:18 +00:00
dependabot[bot] 9cc880f906 Bump androidx.compose.foundation:foundation (#53) 2024-09-27 16:56:44 +00:00
dependabot[bot] 7e59ffcc9b Bump androidx.compose.foundation:foundation (#39) 2024-08-22 23:32:08 +00:00
melod1n ee8cf619f8 remove usage of context-receivers 2024-08-14 12:04:04 +03:00
melod1n 0500969d81 domain module 2024-08-11 17:40:13 +03:00
melod1n 648850f1c8 gradle build convention 2024-08-11 14:53:32 +03:00
dependabot[bot] 4303ef2f63 Bump androidx.compose.foundation:foundation (#34)
Bumps androidx.compose.foundation:foundation from 1.7.0-beta04 to 1.7.0-beta07.

---
updated-dependencies:
- dependency-name: androidx.compose.foundation:foundation
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-09 09:21:09 -07:00
melod1n 1817698031 simple photo viewer 2024-07-16 10:29:37 +03:00
melod1n a696425dc8 more fixes 2024-07-16 07:43:08 +03:00
melod1n c8b1d72f08 update package name (even bigger one) 2024-07-16 07:02:50 +03:00
melod1n 4f9e49003b update package name (big one) 2024-07-16 06:37:37 +03:00
melod1n b252c03be7 clean up settings and some other things 2024-07-16 02:12:19 +03:00
melod1n 46d3fe63fa ability to enable/disable pull to refresh 2024-07-16 00:15:15 +03:00
melod1n ee7499f117 move all ui-related classes and files to ui module 2024-07-15 18:31:58 +03:00
melod1n 9a1bce5707 some coil & compose improvements 2024-07-15 16:43:59 +03:00
melod1n 9481541806 fix crash on any error on friends screen other than api error 2024-07-14 01:04:20 +03:00
melod1n 733627f935 twoFa -> validation naming; fixes for preview for screens (separating view model from ui); some improvements & fixes 2024-07-13 22:45:49 +03:00
melod1n f545a9c4e5 improve blur on friends list & chat materials 2024-07-13 16:32:03 +03:00
melod1n dbc0d71f32 remove logging 2024-07-13 02:06:31 +03:00
melod1n 32b8fc4067 fix blur for friends screen 2024-07-13 01:52:49 +03:00
melod1n fb76b46b22 [wip] chat materials; some experiments with local composition and blur 2024-07-12 00:51:24 +03:00
melod1n 3503ecffab Upstream changes (#23) 2024-07-10 16:12:32 -07:00