| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- import 'package:e2ee_chat/common/global.dart';
- import 'package:e2ee_chat/l10n/localization_intl.dart';
- import 'package:e2ee_chat/common/api.dart';
- import 'package:e2ee_chat/presenter/theme.dart';
- import 'package:e2ee_chat/widgets/empty.dart';
- import 'package:e2ee_chat/view/mydrawer.dart';
- import 'package:flutter/material.dart';
- import 'package:provider/provider.dart';
- import 'contact_list.dart';
- import 'group.dart';
- import 'chat_list.dart';
- class HomeRoute extends StatefulWidget {
- @override
- _HomeRouteState createState() => _HomeRouteState();
- }
- class _HomeRouteState extends State<HomeRoute> {
- int _index = 0;
- @override
- void initState() {
- super.initState();
- }
- @override
- Widget build(BuildContext context) {
- var gm = GmLocalizations.of(context);
- return Scaffold(
- appBar: AppBar(
- title: Text(gm.home),
- actions: <Widget>[
- PopupMenuButton(itemBuilder: (context) {
- return <PopupMenuItem>[
- PopupMenuItem(
- child: Container(
- child: TextButton(
- onPressed: () => Navigator.of(context).pushNamed("add friend"),
- child: Row(
- children: [
- Icon(Icons.person_add),
- Text("add friends"),
- ],
- )),
- ))
- ];
- }),
- ],
- ),
- drawer: MyDrawer(),
- bottomNavigationBar: BottomNavigationBar(
- items: [
- BottomNavigationBarItem(icon: Icon(Icons.chat_bubble), label: "message"),
- BottomNavigationBarItem(icon: Icon(Icons.people), label: "friends"),
- BottomNavigationBarItem(icon: Icon(Icons.person), label: "group"),
- ],
- currentIndex: _index,
- fixedColor: Provider.of<ThemeModel>(context).theme,
- onTap: _onItemTapped,
- ),
- body: _buildBody(), // 构建主页面
- );
- }
- void _onItemTapped(int value) {
- setState(() {
- _index = value;
- });
- }
- Widget _buildBody() {
- switch (_index) {
- case 0:
- return ContactListView();
- case 1:
- return ContactListView();
- case 2:
- return GroupRoute();
- }
- return EmptyWidget();
- // return RefreshIndicator(child: _buildChild(), onRefresh: _onRefresh);
- }
- Future<void> _onRefresh() async {
- // TODO: pull to refresh
- }
- }
|