mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
feat(message): add overflow menu to message screen (#2540)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
parent
bbaac9e143
commit
26530cbe18
4 changed files with 282 additions and 262 deletions
|
|
@ -31,42 +31,30 @@ import com.geeksville.mesh.ui.sharing.ShareScreen
|
|||
import kotlinx.serialization.Serializable
|
||||
|
||||
sealed class ContactsRoutes {
|
||||
@Serializable
|
||||
data object Contacts : Route
|
||||
@Serializable data object Contacts : Route
|
||||
|
||||
@Serializable
|
||||
data class Messages(val contactKey: String, val message: String = "") : Route
|
||||
@Serializable data class Messages(val contactKey: String, val message: String = "") : Route
|
||||
|
||||
@Serializable
|
||||
data class Share(val message: String) : Route
|
||||
@Serializable data class Share(val message: String) : Route
|
||||
|
||||
@Serializable
|
||||
data object QuickChat : Route
|
||||
@Serializable data object QuickChat : Route
|
||||
|
||||
@Serializable
|
||||
data object ContactsGraph : Graph
|
||||
@Serializable data object ContactsGraph : Graph
|
||||
}
|
||||
|
||||
fun NavGraphBuilder.contactsGraph(
|
||||
navController: NavHostController,
|
||||
uiViewModel: UIViewModel,
|
||||
) {
|
||||
navigation<ContactsRoutes.ContactsGraph>(
|
||||
startDestination = ContactsRoutes.Contacts,
|
||||
) {
|
||||
fun NavGraphBuilder.contactsGraph(navController: NavHostController, uiViewModel: UIViewModel) {
|
||||
navigation<ContactsRoutes.ContactsGraph>(startDestination = ContactsRoutes.Contacts) {
|
||||
composable<ContactsRoutes.Contacts> {
|
||||
ContactsScreen(
|
||||
uiViewModel,
|
||||
onNavigateToMessages = { navController.navigate(ContactsRoutes.Messages(it)) }
|
||||
)
|
||||
ContactsScreen(uiViewModel, onNavigateToMessages = { navController.navigate(ContactsRoutes.Messages(it)) })
|
||||
}
|
||||
composable<ContactsRoutes.Messages>(
|
||||
deepLinks = listOf(
|
||||
deepLinks =
|
||||
listOf(
|
||||
navDeepLink {
|
||||
uriPattern = "$DEEP_LINK_BASE_URI/messages/{contactKey}?message={message}"
|
||||
action = "android.intent.action.VIEW"
|
||||
},
|
||||
)
|
||||
),
|
||||
) { backStackEntry ->
|
||||
val args = backStackEntry.toRoute<ContactsRoutes.Messages>()
|
||||
MessageScreen(
|
||||
|
|
@ -75,17 +63,19 @@ fun NavGraphBuilder.contactsGraph(
|
|||
viewModel = uiViewModel,
|
||||
navigateToMessages = { navController.navigate(ContactsRoutes.Messages(it)) },
|
||||
navigateToNodeDetails = { navController.navigate(NodesRoutes.NodeDetailGraph(it)) },
|
||||
navigateToQuickChatOptions = { navController.navigate(ContactsRoutes.QuickChat) },
|
||||
onNavigateBack = navController::navigateUp,
|
||||
)
|
||||
}
|
||||
}
|
||||
composable<ContactsRoutes.Share>(
|
||||
deepLinks = listOf(
|
||||
deepLinks =
|
||||
listOf(
|
||||
navDeepLink {
|
||||
uriPattern = "$DEEP_LINK_BASE_URI/share?message={message}"
|
||||
action = "android.intent.action.VIEW"
|
||||
}
|
||||
)
|
||||
},
|
||||
),
|
||||
) { backStackEntry ->
|
||||
val message = backStackEntry.toRoute<ContactsRoutes.Share>().message
|
||||
ShareScreen(uiViewModel) {
|
||||
|
|
@ -94,7 +84,5 @@ fun NavGraphBuilder.contactsGraph(
|
|||
}
|
||||
}
|
||||
}
|
||||
composable<ContactsRoutes.QuickChat> {
|
||||
QuickChatScreen()
|
||||
}
|
||||
composable<ContactsRoutes.QuickChat> { QuickChatScreen() }
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue