- Updated `ServerItem` to accept `isJoined` as a parameter.
- Modified the joined server indicator to use primary theme colors and adjusted its size.
- Added `@Preview` composables for `ServerItem` in both joined and not joined states.
- Remove unused `RevoltTweenColour` animation spec.
- Remove KDoc for `isServerAlreadyJoined` function.
- Change exception variable names to `_` to indicate they are unused.
- Added `disabled` property to `ServerData` to indicate if a server can be joined.
- Updated `ServerItem` to reflect the `disabled` state by adjusting content alpha and added a visual indicator for joined servers.
- Modified `ServerInviteDialog` to improve the display of error messages and updated the dialog's icon.
- Changed the behavior in `DiscoverServersList` to navigate directly to server channels if already joined, otherwise proceed with the invite flow.
- Updated `icn_check_24dp.xml` and added `link_no_valid_img.xml`.
- Updated string resources for server invite errors.
- Modified back navigation in `MainActivity` from discover screen to navigate to "main".
- Renamed project from Revolt to PEP in `.idea/.name`.
- Modified `DiscoverServersList` to accept an `onJoinToServerSuccess` callback, which is invoked with the server ID upon successful joining.
- Updated `ServerInviteHandler` to pass the server ID to the `onJoinSuccess` callback.
- Integrated the `onJoinToServerSuccess` callback in `ChannelSideDrawer` to navigate to the joined server after a successful join from the discover servers list.
- 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.
- 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.
- 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.
- 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.
- 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`.
- 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.
- 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.
- 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.
- 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.
- 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`.
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.
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.
- 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.
- 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.
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.
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`.
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`.
- 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
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
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
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.