mobile cm client info CircleAvatar color

This commit is contained in:
csf 2022-09-29 21:53:50 +08:00
parent d11ae197f3
commit fe506c5ff2
3 changed files with 38 additions and 110 deletions

View File

@ -529,85 +529,6 @@ class _CmControlPanel extends StatelessWidget {
} }
} }
class PaddingCard extends StatelessWidget {
PaddingCard({required this.child, this.title, this.titleIcon});
final String? title;
final IconData? titleIcon;
final Widget child;
@override
Widget build(BuildContext context) {
final children = [child];
if (title != null) {
children.insert(
0,
Padding(
padding: EdgeInsets.symmetric(vertical: 5.0),
child: Row(
children: [
titleIcon != null
? Padding(
padding: EdgeInsets.only(right: 10),
child: Icon(titleIcon,
color: MyTheme.accent80, size: 30))
: SizedBox.shrink(),
Text(
title!,
style: TextStyle(
fontFamily: 'WorkSans',
fontWeight: FontWeight.bold,
fontSize: 20,
color: MyTheme.accent80,
),
)
],
)));
}
return Container(
width: double.maxFinite,
child: Card(
margin: EdgeInsets.fromLTRB(15.0, 15.0, 15.0, 0),
child: Padding(
padding: EdgeInsets.symmetric(vertical: 15.0, horizontal: 30.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: children,
),
),
));
}
}
Widget clientInfo(Client client) {
return Padding(
padding: EdgeInsets.symmetric(vertical: 8),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
Row(
children: [
Expanded(
flex: -1,
child: Padding(
padding: EdgeInsets.only(right: 12),
child: CircleAvatar(
child: Text(client.name[0]),
backgroundColor: MyTheme.border))),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(client.name,
style: TextStyle(color: MyTheme.idColor, fontSize: 18)),
SizedBox(width: 8),
Text(client.peerId,
style: TextStyle(color: MyTheme.idColor, fontSize: 10))
]))
],
),
]));
}
void checkClickTime(int id, Function() callback) async { void checkClickTime(int id, Function() callback) async {
var clickCallbackTime = DateTime.now().millisecondsSinceEpoch; var clickCallbackTime = DateTime.now().millisecondsSinceEpoch;
await bind.cmCheckClickTime(connId: id); await bind.cmCheckClickTime(connId: id);

View File

@ -381,7 +381,7 @@ class ConnectionManager extends StatelessWidget {
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Expanded(child: clientInfo(client)), Expanded(child: ClientInfo(client)),
Expanded( Expanded(
flex: -1, flex: -1,
child: client.isFileTransfer || !client.authorized child: client.isFileTransfer || !client.authorized
@ -493,35 +493,42 @@ class PaddingCard extends StatelessWidget {
} }
} }
Widget clientInfo(Client client) { class ClientInfo extends StatelessWidget {
return Padding( final Client client;
padding: const EdgeInsets.symmetric(vertical: 8), ClientInfo(this.client);
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
Row( @override
children: [ Widget build(BuildContext context) {
Expanded( return Padding(
flex: -1, padding: const EdgeInsets.symmetric(vertical: 8),
child: Padding( child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
padding: const EdgeInsets.only(right: 12), Row(
child: CircleAvatar( children: [
backgroundColor: MyTheme.border, Expanded(
child: Text(client.name[0])))), flex: -1,
Expanded( child: Padding(
child: Column( padding: const EdgeInsets.only(right: 12),
crossAxisAlignment: CrossAxisAlignment.start, child: CircleAvatar(
mainAxisAlignment: MainAxisAlignment.center, backgroundColor:
children: [ str2color(client.name).withOpacity(0.7),
Text(client.name, child: Text(client.name[0])))),
style: const TextStyle( Expanded(
color: MyTheme.idColor, fontSize: 18)), child: Column(
const SizedBox(width: 8), crossAxisAlignment: CrossAxisAlignment.start,
Text(client.peerId, mainAxisAlignment: MainAxisAlignment.center,
style: children: [
const TextStyle(color: MyTheme.idColor, fontSize: 10)) Text(client.name,
])) style: const TextStyle(
], color: MyTheme.idColor, fontSize: 18)),
), const SizedBox(width: 8),
])); Text(client.peerId,
style: const TextStyle(
color: MyTheme.idColor, fontSize: 10))
]))
],
),
]));
}
} }
void androidChannelInit() { void androidChannelInit() {

View File

@ -433,7 +433,7 @@ class ServerModel with ChangeNotifier {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text(translate("Do you accept?")), Text(translate("Do you accept?")),
clientInfo(client), ClientInfo(client),
Text( Text(
translate("android_new_connection_tip"), translate("android_new_connection_tip"),
style: Theme.of(globalKey.currentContext!).textTheme.bodyMedium, style: Theme.of(globalKey.currentContext!).textTheme.bodyMedium,