会话加好友

This commit is contained in:
2022-10-25 16:50:48 +08:00
parent b8242e66bd
commit 7c5201ea2b
16 changed files with 128 additions and 51 deletions

View File

@@ -1,6 +1,5 @@
import 'package:chat/routes/user_routes.dart';
import 'package:chat/services/auth_service.dart';
import 'package:chat/widgets/custom_avatar.dart';
import 'package:chat/views/user/index/widgets/user_top_bar.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -18,34 +17,8 @@ class _UserPageState extends State<UserPage> {
child: Scaffold(
body: Column(
children: [
GetX<AuthService>(builder: (_) {
return Row(
children: [
CustomAvatar(
_.userInfo.value.avatar,
size: 72,
),
Column(
children: [
Text(_.userInfo.value.nickname ?? ''),
Text('${_.userInfo.value.address}'),
],
),
Expanded(child: Container()),
InkWell(
onTap: () {
Get.toNamed(UserRoutes.qrCode);
},
child: Row(
children: const [
Icon(Icons.qr_code),
Icon(Icons.arrow_forward_ios),
],
),
),
],
);
}),
const UserTopBar(),
const SizedBox(height: 8),
ListTile(
onTap: () {
Get.toNamed(UserRoutes.share);

View File

@@ -0,0 +1,72 @@
import 'package:chat/configs/app_colors.dart';
import 'package:chat/routes/user_routes.dart';
import 'package:chat/services/auth_service.dart';
import 'package:chat/utils/convert.dart';
import 'package:chat/widgets/custom_avatar.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class UserTopBar extends StatelessWidget {
const UserTopBar({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
color: AppColors.white,
padding: const EdgeInsets.only(
left: 24,
top: 48,
right: 24,
bottom: 24,
),
height: 64 + 48 + 24,
child: GetX<AuthService>(builder: (_) {
return Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
CustomAvatar(
_.userInfo.value.avatar,
size: 64,
),
const SizedBox(width: 16),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
_.userInfo.value.nickname ?? '',
style: const TextStyle(
fontSize: 22,
fontWeight: FontWeight.w400,
),
),
Text(Convert.hideCenterStr(_.userInfo.value.address ?? '')),
],
),
Expanded(child: Container()),
InkWell(
onTap: () {
Get.toNamed(UserRoutes.qrCode);
},
child: Row(
children: const [
Icon(
Icons.qr_code,
size: 18,
color: AppColors.unactive,
),
SizedBox(width: 8),
Icon(
Icons.arrow_forward_ios,
size: 16,
color: AppColors.unactive,
),
],
),
),
],
);
}),
);
}
}