| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import 'package:dio/dio.dart';
- import 'package:e2ee_chat/common/api.dart';
- import 'package:e2ee_chat/common/global.dart';
- import 'package:e2ee_chat/l10n/localization_intl.dart';
- import 'package:e2ee_chat/presenter/login.dart';
- import 'package:e2ee_chat/presenter/theme.dart';
- import 'package:flutter/material.dart';
- import 'package:provider/provider.dart';
- import 'package:fluttertoast/fluttertoast.dart';
- class AddFriendView extends StatefulWidget {
- @override
- _AddFriendViewState createState() => _AddFriendViewState();
- }
- class _AddFriendViewState extends State<AddFriendView> {
- TextEditingController _unameController = new TextEditingController();
- GlobalKey _formKey = new GlobalKey<FormState>();
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(title: Text(GmLocalizations.of(context).searchUser)),
- body: Padding(
- padding: const EdgeInsets.all(16.0),
- child: Form(
- key: _formKey,
- autovalidateMode: AutovalidateMode.always, // TODO: what is AutovalidateMode?
- child: Column(
- children: <Widget>[
- TextFormField(
- controller: _unameController,
- decoration: InputDecoration(
- labelText: GmLocalizations.of(context).userName,
- hintText: GmLocalizations.of(context).userNameOrEmail,
- prefixIcon: Icon(Icons.search),
- ),
- validator: (v) {
- return v!.trim().isNotEmpty ? null : GmLocalizations.of(context).userNameRequired;
- }),
- Padding(
- padding: const EdgeInsets.only(top: 25),
- child: ConstrainedBox(
- constraints: BoxConstraints.expand(height: 55.0),
- child: ElevatedButton(
- style: ButtonStyle(
- //TODO: something wrong with text color
- textStyle: MaterialStateProperty.all<TextStyle>(TextStyle(color: Colors.white)),
- ),
- onPressed: _findUser,
- child: Text(GmLocalizations.of(context).search),
- ),
- ),
- ),
- ],
- ),
- ),
- ),
- );
- }
- void _findUser() async {
- // 提交前,先验证各个表单字段是否合法
- if ((_formKey.currentState as FormState).validate()) {
- Fluttertoast.showToast(msg: GmLocalizations.of(context).loading);
- bool result = await Api().addFriend(_unameController.text);
- if (!result) {
- Fluttertoast.showToast(msg: "发送好友申请失败");
- } else {
- Fluttertoast.showToast(msg: "好友申请已发送");
- }
- }
- // TODO: get user details
- }
- }
|