Commit Graph

890 Commits

Author SHA1 Message Date
AbronStudio 39a948be1f refactor(discover): Consolidate UI state management in DiscoverServersList
- Introduced a single `DiscoverUiState` data class to encapsulate all UI-related states for the discover servers screen.
- Refactored `DiscoverServersListViewModel` to utilize the new UI state, simplifying state management and improving readability.
- Updated `DiscoverServersList` to collect and use the consolidated UI state, enhancing the handling of loading, error, and server data.
- Modified `ServerInviteHandler` to leverage the new UI state for better error and invite data management.
- Improved code cleanliness by removing redundant state flows and variables.
2025-08-05 16:53:41 +03:30
AbronStudio 8de2f2d8bd feat(discover): Enhance server invite handling and error management
- Added a new state flow for loaded errors in `DiscoverServersListViewModel` to manage server loading errors.
- Implemented `joinServerWithoutProcessingIndicator` method to join servers without affecting the loading state in the UI.
- Updated `ServerInviteDialog` to display a loading indicator while joining a server and improved error handling.
- Modified `ServerInviteHandler` to utilize the new error state and streamline the dialog's behavior.
- Added a new string resource for the joining state message to enhance user feedback.
2025-08-05 16:30:32 +03:30
AbronStudio 4ddcfd8fa9 Refactor: Update server invite handling and API URLs
- Changed the base URL for the PEP platform in `RevoltAPI.kt` to `https://pepchat.io/api`.
- Updated the `DiscoverServersList` to handle server invites more effectively by passing the server ID to the `ServerInviteHandler`.
- Enhanced `ServerInviteHandler` to utilize pre-loaded invite data and manage loading states.
- Modified `ServerInviteDialog` to improve UI elements and added previews for different states.
- Updated string resources for invite dialog messages to enhance clarity and user experience.
2025-08-05 13:19:25 +03:30
AbronStudio 330e92abdc Merge branch 'dev' into feat/discover 2025-08-05 12:24:52 +03:30
Abron Studio d626c25f94
Merge pull request #7 from archem-team/feat/choose_platform_impl
Update API URLs and add TODOs in Choose-Platform branch
2025-08-05 12:25:41 +03:30
Abron Studio ee0443849d
Merge pull request #6 from archem-team/feat/choose_platform_impl
Choose platform implementation
2025-08-05 12:23:54 +03:30
AbronStudio e9a49425b1 Refactor: Update API URLs and add TODOs
- Updated `websocket` URL to use `wss` scheme and point to `a-pep.peptide.chat/ws`.
- Changed `autumn` URL to `a-pep.peptide.chat/autumn`.
- Added TODO comments to `kjbook` URL indicating it needs to be replaced with the correct URL.
2025-08-05 12:23:08 +03:30
AbronStudio 300cacc6e5 Refactor: Clean up Discover screen components and ServerDataRepository
- Removed unused imports and variables in `DiscoverServersList.kt`, `ServerInviteHandler.kt`, and `ServerInviteDialog.kt` to improve code cleanliness.
- Deleted the unused `getServerCategories` function from `ServerDataRepository.kt`.
2025-08-05 12:09:36 +03:30
AbronStudio 54a8e7e1ce feat(discover): Implement server joining functionality
- Added `ServerInviteHandler.kt` and `ServerInviteDialog.kt` to manage and display server invite information and allow users to join servers.
- Updated `DiscoverServersListViewModel.kt` to include logic for fetching invite details and joining servers.
- Modified `DiscoverServersList.kt` to trigger the server invite dialog when a server item is clicked and to handle the invite code.
- Added `inviteCode` field to `ServerData` in `ServerDataRepository.kt`.
- Removed unused `DiscoverViewModel.kt`.
- Added new string resources for invite dialog messages and member count.
2025-08-05 12:09:06 +03:30
AbronStudio c3600690d5 Refactor: Remove unused imports in ChannelSideDrawer
- Removed `safeContentPadding` and `safeDrawingPadding` imports from `ChannelSideDrawer.kt` as they were no longer in use.
2025-08-05 11:42:11 +03:30
AbronStudio cfb68f0ed6 Refactor: Update DiscoverServersList and related files
- Updated `DiscoverServersList` to refine UI elements:
    - Removed background modifier and lazy list state.
    - Adjusted padding, spacing, and image resources for server items.
    - Replaced `UserAvatar` with a generic `Image` for server icons.
    - Added an `IconButton` for server selection.
    - Added extra space at the bottom of list.
- Simplified `DiscoverViewModel` by removing filtering logic, selected category, search query, and server acknowledgement functionality.
- Streamlined `ServerData` in `ServerDataRepository.kt` by removing several fields: `iconUrl`, `bannerUrl`, `memberCount`, `category`, `tags`, `isVerified`, and `isOfficial`.
- Added a new drawable resource `three_person.xml`.
- Updated `ChannelSideDrawer.kt` to use `safeDrawingPadding()` for better handling of system UI elements.
2025-08-05 11:41:48 +03:30
AbronStudio 6fbdac17fe feat(discover): add DiscoverServersList component and associated drawable
- Implemented the DiscoverServersList composable to display a list of servers.
- Introduced ServerItem composable for individual server representation.
- Added a new drawable resource for the discover character image.
- Integrated loading and error states within the server list display.
2025-08-04 16:45:15 +03:30
AbronStudio 858c55a6b6 Refactor: Update Onboarding and Settings screens
- Removed unused imports and rearranged existing ones in `OnboardingScreen.kt` for better code organization.
- Removed back navigation button from `SettingsScreen.kt` for a cleaner UI experience.
2025-08-04 10:57:45 +03:30
AbronStudio 4f8301e923 Refactor: Remove unused class and update navigation
- Remove unused `DefaultButtonStyle` class.
- Update `OnboardingScreen` to remove import of deleted class.
- Update `SettingsScreen` logout navigation from "login/greeting" to "choose-platform".
- Add padding to the logout button in `SettingsScreen`.
2025-08-04 10:56:26 +03:30
AbronStudio 819bfa2201 chore: Rename project from Revolt to PEP
This commit updates the project name in the .idea/.name file.
2025-08-03 16:30:16 +03:30
Abron Studio b5179c3c0e
Merge pull request #4 from archem-team/fix/feedback-01
Fix/feedback 01
2025-08-03 16:15:51 +03:30
AbronStudio 58fc73061e Merge branch 'dev' into feat/choose_platform_impl 2025-08-03 16:15:00 +03:30
AbronStudio 586c98f443 refactor: Enhance API URL handling and profile image retrieval
This commit updates the `RevoltAPI` to include a new `autumn` URL and modifies the `ProfileSettingsScreenViewModel` to utilize the new method for retrieving profile images and backgrounds. Key changes include:
- Added `autumn` URL to the `PlatformUrls` data class and updated the `PLATFORM_URLS` map.
- Refactored image URL construction in `ProfileSettingsScreenViewModel` to use `RevoltAPI.getCurrentAutumnUrl()` for dynamic URL generation.

These changes improve code maintainability and ensure consistent URL handling across the application.
2025-08-03 13:57:23 +03:30
AbronStudio 8b693c737b refactor: Update API references and platform handling
This commit refines the API references throughout the application to utilize the new `RevoltAPI` structure, enhancing maintainability and clarity. Key changes include:
- Replaced all instances of `REVOLT_FILES`, `REVOLT_BASE`, and other constants with calls to `RevoltAPI` methods for dynamic URL generation.
- Introduced an `ApplicationPlatform` enum to manage platform-specific URLs, allowing for easier switching between Revolt and PepChat.
- Updated various screens and components to reflect the new API structure, ensuring consistent URL handling across the application.
- Enhanced the `ChoosePlatformScreen` to set the selected platform and navigate accordingly.

These changes improve the overall architecture and prepare the codebase for future enhancements.
2025-08-03 13:41:44 +03:30
AbronStudio 5d236b00e9 Merge branch 'dev' into fix/feedback-01 2025-07-31 14:10:45 +03:30
Abron Studio 9f92a9fe45
Merge pull request #3 from archem-team/change/main-screen-design-from-drawer-to-bottom-bar
Change main screen design from drawer to bottom bar
2025-07-31 12:55:01 +03:30
AbronStudio 672ed0531b feat(ui): enhance button styles and update UI components
- Add DefaultButtonStyle class for consistent button styling.
- Update button shapes across various screens to improve UI consistency.
- Modify string resources for better clarity and engagement.
- Introduce new drawable resources for enhanced visual elements.
2025-07-31 11:52:31 +03:30
AbronStudio 80af323972 feat(auth): enhance login and registration screens
- Update login screen to navigate to registration details on "Register" click.
- Modify registration screen to navigate back to login and update image resource.
- Revise onboarding strings for a more engaging user experience.
2025-07-30 15:46:29 +03:30
AbronStudio 73f18e0f70 refactor: Update navigation and channel handling
This commit refines the navigation and channel management within the chat interface.

Key changes include:
- Introduced a new `backToChannelsScreen` callback in `AppEntrypoint` and `ChannelScreen` to facilitate navigation back to the channels.
- Updated `ChatRouterDestination` to include `ServersChannels` and modified the logic to handle channel navigation correctly.
- Adjusted the `ChannelSideDrawer` to reflect the new routing logic, ensuring the correct channel is displayed based on the current server.
- Removed the back navigation button from the `SettingsScreen` for a cleaner UI experience.
- Updated the `ChannelNavigator` to handle the new `Settings` destination and ensure proper rendering of the `SettingsScreen`.
- Enhanced the `Sidebar` component to support navigation to the `Settings` screen and manage server-specific channels effectively.
2025-07-29 15:08:12 +03:30
AbronStudio c0023152f7 refactor: Implement bottom navigation bar
This commit introduces a bottom navigation bar to the chat interface.

Key changes include:
- Added a `Scaffold` with a `BottomAppBar` in `ChannelNavigator`.
- The `BottomAppBar` contains `NavigationBarItem`s for "Home", "Friends", and "You" (Overview).
- The "Home" destination now displays the `Sidebar`.
- Removed the tablet-aware UI logic and the dismissible navigation drawer implementation.
- Simplified `ChannelNavigator` parameters, removing `useDrawer`, `disableBackHandler`, `onEnterVoiceUI`.
- Updated screen composables (`FriendsScreen`, `NoCurrentChannelScreen`, `ChannelScreen`, `OverviewScreen`) to remove the `useDrawer` parameter and its associated logic, as the drawer is no longer directly managed by these screens.
- Removed `drawerState` parameter from `ChannelSideDrawer` and related components, as drawer state is now managed differently.
- Removed logic related to closing the drawer on item clicks within `ChannelSideDrawer`.
- Added a new `ChatRouterDestination.Home`.
- Request for `POST_NOTIFICATIONS` permission is now correctly using `Manifest.permission.POST_NOTIFICATIONS`.
2025-07-26 16:50:19 +03:30
AbronStudio 33296cbde1 refactor: Implement bottom navigation bar
This commit introduces a bottom navigation bar to the chat interface.

Key changes include:
- Added a `Scaffold` with a `BottomAppBar` in `ChannelNavigator`.
- The `BottomAppBar` contains `NavigationBarItem`s for "Home", "Friends", and "You" (Overview).
- The "Home" destination now displays the `Sidebar`.
- Removed the tablet-aware UI logic and the dismissible navigation drawer implementation.
- Simplified `ChannelNavigator` parameters, removing `useDrawer`, `disableBackHandler`, `onEnterVoiceUI`.
- Updated screen composables (`FriendsScreen`, `NoCurrentChannelScreen`, `ChannelScreen`, `OverviewScreen`) to remove the `useDrawer` parameter and its associated logic, as the drawer is no longer directly managed by these screens.
- Removed `drawerState` parameter from `ChannelSideDrawer` and related components, as drawer state is now managed differently.
- Removed logic related to closing the drawer on item clicks within `ChannelSideDrawer`.
- Added a new `ChatRouterDestination.Home`.
- Request for `POST_NOTIFICATIONS` permission is now correctly using `Manifest.permission.POST_NOTIFICATIONS`.
2025-07-26 16:50:16 +03:30
Abron Studio 64f206fef7
Merge pull request #2 from archem-team/change/auth-design-to-pep
Change auth design to pep
2025-07-26 14:45:03 +03:30
Abron Studio 886743a5db
Merge pull request #1 from archem-team/change/change-splash-screen
Change splash and app foreground icon
2025-07-26 14:43:27 +03:30
Abron Studio f70b8b3c56
Merge branch 'revoltchat:dev' into change/auth-design-to-pep 2025-07-26 14:06:01 +03:30
AbronStudio 6a413f8e17 feat(auth): update platform selection screen and login text
- Add "Continue" string resource for navigation
- Update login screen heading to "Welcome back!"
- Add login subheading "Great to see you again!"
- Update registration form heading to "Make it Official!"
- Change registration data text to "New Here? Let's Get You Set Up!"
- Change platform button text from "Login" to "Confirm"
- Set API URL to "https://api.revolt.chat" for both platform options
2025-07-26 13:39:10 +03:30
AbronStudio 80db00ee2a feat(auth): implement platform selection screen with API URL input
Add platform selection UI with PepChat and Revolt options
Implement clickable platform cards that set the API URL
Create custom styled text field for API URL input
Add confirm button with localized string resource
Fix vertical alignment of placeholder text in text field
2025-07-26 12:18:06 +03:30
AbronStudio f49b25b4e3 feat(auth): implement platform selection screen with API URL input
Add platform selection UI with PepChat and Revolt options
Implement clickable platform cards that set the API URL
Create custom styled text field for API URL input
Add confirm button with localized string resource
Fix vertical alignment of placeholder text in text field
2025-07-26 12:17:57 +03:30
Infi 302ad04c69 chore: bump to 1.3.6a
Signed-off-by: Infi <infi@infi.sh>
2025-07-26 07:23:34 +02:00
Infi a92a07e2ed feat: geo support
Signed-off-by: Infi <infi@infi.sh>
2025-07-26 07:12:29 +02:00
Infi 2721d74c04 chore: update metadata
Signed-off-by: Infi <infi@infi.sh>
2025-07-26 07:09:23 +02:00
AbronStudio 2934e6b639 style: change splash and app foreground icon 2025-07-24 15:04:35 +03:30
AbronStudio e410ea347c chore: change ide configs for pep 2025-07-24 13:37:58 +03:30
Abron Studio 4b2cb0dd34
Merge branch 'revoltchat:dev' into dev 2025-07-24 12:16:15 +03:30
AbronStudio 011d8e1246 chore: add BSD and ML Kit licenses
This commit adds the license files for BSD and ML Kit to the compliance directory and updates the build.gradle.kts file to include them in the license check.

It also updates the .idea/misc.xml file with some minor changes.
2025-07-24 11:35:37 +03:30
Infi e0decd0d7c feat: update icon set
Signed-off-by: Infi <infi@infi.sh>
2025-07-23 15:48:46 +02:00
Infi 6bfe417b92 feat: update system messages design
Signed-off-by: Infi <infi@infi.sh>
2025-07-23 04:32:26 +02:00
Infi 3cf7b84442 chore: remove media conversations variates
Signed-off-by: Infi <infi@infi.sh>
2025-07-23 03:28:20 +02:00
Infi 684970ca32 chore: take out voice chat
Signed-off-by: Infi <infi@infi.sh>
2025-07-23 03:09:05 +02:00
Infi d3a0ef5db3 chore: remove USE_ALPHA_API property as it is not used
Signed-off-by: Infi <infi@infi.sh>
2025-07-23 02:52:04 +02:00
Infi dafb23daed chore: reconcile vc 2.0 and dev
Signed-off-by: Infi <infi@infi.sh>
2025-07-23 02:49:51 +02:00
Infi efa103c5e5 Merge branch 'feat/voice-chats-2.0' into dev
# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/chat/revolt/api/internals/Permissions.kt
#	app/src/main/java/chat/revolt/screens/chat/views/FriendsScreen.kt
2025-07-23 02:23:36 +02:00
Infi 91f18b7808 chore: bump to 1.3.6
Signed-off-by: Infi <infi@infi.sh>
2025-07-07 23:39:51 +02:00
Infi 168356afdc fix: use non-truncated ULIDs as notification tags and constant notification IDs
This means there is now a zero chance of collision.

Signed-off-by: Infi <infi@infi.sh>
2025-07-07 23:33:55 +02:00
Infi 73a2d6cf17 feat: retry on 5xx and exceptions
Signed-off-by: Infi <infi@infi.sh>
2025-07-07 21:45:48 +02:00
Infi 2d8e9c3804 feat(experiment): server identity options
Signed-off-by: Infi <infi@infi.sh>
2025-07-02 23:34:03 +02:00