diff --git a/Habitica/res/layout/notification_item.xml b/Habitica/res/layout/notification_item.xml index ed0e1db11..2f2b51049 100644 --- a/Habitica/res/layout/notification_item.xml +++ b/Habitica/res/layout/notification_item.xml @@ -1,5 +1,6 @@ navController.navigate(R.id.newsFragment) + Notification.Type.NEW_CHAT_MESSAGE.type -> clickNewChatMessage(notification, navController) + Notification.Type.NEW_MYSTERY_ITEMS.type -> navController.navigate(R.id.itemsFragment) + Notification.Type.UNALLOCATED_STATS_POINTS.type -> navController.navigate(R.id.statsFragment) + } + } + + private fun clickNewChatMessage(notification: Notification, navController: MainNavigationController) { + val data = notification.data as? NewChatMessageData + if (isPartyMessage(data)) { + navController.navigate(R.id.partyFragment) + } else { + val bundle = Bundle() + bundle.putString("groupID", data?.group?.id) + bundle.putBoolean("isMember", true) // safe to assume user is member since they got the notification + navController.navigate(R.id.guildFragment, bundle) + } + } + }