-
Notifications
You must be signed in to change notification settings - Fork 583
New MeshPeerListSheet as Ios like #498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Replaced the right-hand sidebar with a Material 3 `ModalBottomSheet` for displaying mesh peers and channels. This modernizes the UI and improves usability. - Renamed `SidebarComponents.kt` to `MeshPeerListSheet.kt`. - Replaced the custom sidebar implementation with `ModalBottomSheet`. - Added a floating top bar to the sheet that appears on scroll, displaying the title and a close button. - Updated the row layouts for both channels and peers to use `Surface` for better visual grouping and selection state handling. - Added a checkmark icon to indicate the currently selected channel or private chat peer. - Improved styling for section headers, unread badges, and empty-state text. - Removed the `SignalStrengthIndicator` as it was no longer used.
This commit removes the state management for the sidebar's visibility from `ChatViewModel` and `ChatState`. The sidebar's visibility is now a purely UI-level concern and is no longer coupled with the ViewModel's logic. This change simplifies the ViewModel by removing unnecessary LiveData and related methods (`showSidebar`, `hideSidebar`). The back navigation handler has also been updated to remove the case for closing the sidebar.
|
cool! is this PR already finished? |
Not really, on IOS, the chat details are also in sheet, I just have not yet looked at where else you can write in a personal message |
|
@callebtc done screen-20251031-135121.mp4 |
|
hi @yet300 thank you and sorry for the delay, I'm back now. |
do we need the back button top left if there's a close button top right? |
|
No, but that's how it's done in the iOS version. |
This commit refactors the `LocationNotesSheet` to more closely align with its iOS counterpart, improving both its appearance and user experience.
The layout has been updated to use a `Box` with aligned elements instead of a single `Column`, allowing for a floating input section at the bottom and a floating close button at the top right.
**Key Changes:**
- **Floating Top Bar and Input:**
- The main content is now a `LazyColumn` that scrolls underneath a new floating top bar and a floating input section at the bottom.
- The top bar's background animates from transparent to semi-opaque as the user scrolls, providing a "blur" effect.
- **iOS-Style Close Button:**
- The close button is moved from the header row to the top-right corner of the sheet, where it remains fixed.
- **Structural Refinements:**
- Replaced the main `Column` with a `Box` to manage the layout of the scrollable content, top bar, and input section.
- Removed the `onClose` parameter from `LocationNotesHeader` as the close button is now managed separately.
- Added `statusBarsPadding` to the `ModalBottomSheet` to prevent content from rendering under the system status bar.
- Adjusted spacing and padding for better visual consistency.
Description
ios

Checklist