import 'package:flutter/material.dart'; /// Abstract main application route /// /// This mixin contains methods available in all display modes /// /// @author Pierre Hubert mixin MainRoute implements StatefulWidget {} /// Public interface of home controller mixin MainController implements State { /// Get current instance of Home controller static MainController of(BuildContext context) => context.findAncestorStateOfType(); /// Open user page void openUserPage(int userID); void openUserAccessDeniedPage(int userID); /// Open a specific group page specified by its [groupID] void openGroup(int groupID); /// Display the list of friends of a user void openUserFriendsList(int userID); /// Pop current page. Last page can not be popped void popPage(); /// Push a new widget void push(Widget w, {bool hideNavBar}); /// Open a conversation void openConversation(int convID, {fullScreen: false}); /// Start a call for a given conversation void startCall(int convID); }