import 'package:abroad_location/data/bean/user_info.dart'; import 'package:abroad_location/resource/assets.gen.dart'; import 'package:abroad_location/resource/colors.gen.dart'; import 'package:abroad_location/resource/string.gen.dart'; import 'package:abroad_location/utils/base_expand.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; typedef OnFriendCallback = void Function(UserInfo userInfo); Widget locationFriendItem(UserInfo userInfo, {OnFriendCallback? onItemClick, OnFriendCallback? onTrackClick}) { return GestureDetector( onTap: (){ onItemClick?.call(userInfo); }, child: Container( height: 70.w, margin: EdgeInsets.symmetric(horizontal: 8.w), decoration: BoxDecoration( color: ColorName.white, borderRadius: BorderRadius.circular(20.w), ), child: Row( children: [ SizedBox(width: 12.w), Container( //阴影, decoration: BoxDecoration( borderRadius: BorderRadius.circular(18.w), boxShadow: [ BoxShadow( color: ColorName.black20.withOpacity(0.1), blurRadius: 5.w) ]), child: Assets.images.iconLocationMeAvatar.image(width: 44.w, height: 44.w)), SizedBox(width: 11.w), Expanded( child: IntrinsicHeight( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row(children: [ Text(userInfo.phoneNumber ?? '', style: TextStyle( fontSize: 16.sp, color: ColorName.black80, fontWeight: FontWeight.bold)), SizedBox(width: 5.w), Expanded( child: Text('1h', style: TextStyle(fontSize: 12.sp, color: ColorName.black40)), ), SizedBox(width: 5.w), ]), Text('Hong Kong', style: TextStyle(fontSize: 12.sp, color: ColorName.black50)) ], ), ), ), GestureDetector( onTap: (){ onTrackClick?.call(userInfo); }, child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(10.w), border: Border.all(color: '#4476FF'.color, width: 1.w)), padding: EdgeInsets.only( left: 10.w, top: 5.w, bottom: 6.w, right: 10.w), child: Row( children: [ Assets.images.iconTrack.image(width: 16.w, height: 16.w), SizedBox(width: 2.w), Text( StringName.historyTrace, style: TextStyle( fontSize: 14.sp, color: '#4476FF'.color, fontWeight: FontWeight.w500), ) ], ), ), ), SizedBox(width: 12.w) ], ), ), ); }