1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-11-26 06:49:22 +00:00

Auto-hide conversations list when a conversation is selected

This commit is contained in:
Pierre HUBERT 2020-05-09 07:28:17 +02:00
parent 5ccd3d4884
commit 68b4c79960
4 changed files with 14 additions and 8 deletions

View File

@ -32,8 +32,8 @@ mixin MainController implements State<MainRoute> {
void push(Widget w, {bool hideNavBar});
/// Open a conversation
void openConversation(int convID);
void openConversation(int convID, {fullScreen: false});
/// Start a call for a given conversation
void startCall(int convID);
}
}

View File

@ -52,8 +52,6 @@ class CurrPage {
"\n}";
}
/// Private implementation of HomeController
class _MainRouteState extends State<MainRoute> implements MainController {
CurrPage get _currTab => history.last;
@ -252,7 +250,7 @@ class _MainRouteState extends State<MainRoute> implements MainController {
}
@override
void openConversation(int convID) {
void openConversation(int convID, {fullScreen: false}) {
_pushPage(CurrPage(
BarCallbackActions.OPEN_CONVERSATION,
args: {"convID": convID},

View File

@ -19,9 +19,13 @@ import 'package:flutter/material.dart';
class ConversationsListScreen extends StatefulWidget {
final bool useSmallFAB;
final Function() onOpen;
const ConversationsListScreen({Key key, this.useSmallFAB = false})
: assert(useSmallFAB != null),
const ConversationsListScreen({
Key key,
this.useSmallFAB = false,
this.onOpen,
}) : assert(useSmallFAB != null),
super(key: key);
@override
@ -107,6 +111,7 @@ class _ConversationScreenState extends SafeState<ConversationsListScreen> {
/// Open a conversation
void _openConversation(int conversationId) {
MainController.of(context).openConversation(conversationId);
if (widget.onOpen != null) widget.onOpen();
}
/// Create a new conversation

View File

@ -38,6 +38,9 @@ class _OpenConversationButtonState extends State<OpenConversationButton> {
width: 300,
height: 500,
child: Card(
child: ConversationsListScreen(useSmallFAB: true),
child: ConversationsListScreen(
useSmallFAB: true,
onOpen: () => _setShowConversationsList(false),
),
));
}