1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2025-06-19 16:25:17 +00:00

Open conversations in their context

This commit is contained in:
2021-04-06 18:22:45 +02:00
parent 66d8fbd234
commit 1d0609f66e
10 changed files with 43 additions and 17 deletions

View File

@ -111,9 +111,15 @@ abstract class MainController extends State<MainRoute> {
void openCurrentUserPage() => this.openUserPage(userID());
/// Open a specific group page specified by its [groupID]
void openGroup(int groupID) => pushPage(PageInfo(
///
/// [conversationID] is an optional parameter specifying a conversation
/// that should be opened instead of posts thread
void openGroup(int groupID, {int conversationID}) => pushPage(PageInfo(
type: PageType.GROUP_PAGE,
child: GroupPageScreen(groupID: groupID),
child: GroupPageScreen(
groupID: groupID,
conversationID: conversationID,
),
id: groupID));
/// Display the list of friends of current user
@ -146,8 +152,17 @@ abstract class MainController extends State<MainRoute> {
pushPage(PageInfo(
child: w, hideNavBar: hideNavBar, canShowAsDialog: canShowAsDialog));
/// Open a conversation in its context (in group page for group conversations)
void openConversation(Conversation conv) {
if (conv.isGroupConversation)
openGroup(conv.groupID, conversationID: conv.id);
else
openConversationById(conv.id);
}
/// Open a conversation
void openConversation(int convID, {fullScreen: false}) => pushPage(PageInfo(
void openConversationById(int convID, {fullScreen: false}) =>
pushPage(PageInfo(
type: PageType.CONVERSATION_PAGE,
id: convID,
child: ConversationRoute(conversationID: convID),

View File

@ -90,12 +90,12 @@ class _TabletRouteState extends MainController {
}
@override
void openConversation(int convID, {fullScreen = false}) {
void openConversationById(int convID, {fullScreen = false}) {
if (!fullScreen) {
popUntilMainRoute();
_conversationsKey.currentState.openConversations(convID);
} else
super.openConversation(convID, fullScreen: fullScreen);
super.openConversationById(convID, fullScreen: fullScreen);
}
@override