import 'package:PiliPlus/common/constants.dart'; import 'package:PiliPlus/common/widgets/image/image_save.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; import 'package:PiliPlus/models_new/space/space_fav/list.dart'; import 'package:PiliPlus/utils/utils.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; class MemberFavItem extends StatelessWidget { const MemberFavItem({super.key, required this.item}); final SpaceFavItemModel item; @override Widget build(BuildContext context) { return Material( type: MaterialType.transparency, child: InkWell( onTap: () { Get.toNamed( '/favDetail', parameters: { 'mediaId': item.mediaId.toString(), 'heroTag': Utils.makeHeroTag(item.mediaId), }, ); }, onLongPress: () => imageSaveDialog( title: item.title, cover: item.cover, ), child: Padding( padding: const EdgeInsets.symmetric( horizontal: StyleString.safeSpace, vertical: 5, ), child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ AspectRatio( aspectRatio: StyleString.aspectRatio, child: LayoutBuilder( builder: (context, boxConstraints) { return NetworkImgLayer( src: item.cover, width: boxConstraints.maxWidth, height: boxConstraints.maxHeight, ); }, ), ), const SizedBox(width: 10), Expanded( child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( item.title!, maxLines: 2, overflow: TextOverflow.ellipsis, ), const Spacer(), Text( '${item.count}个内容 · ${item.isPublic == 1 ? '私密' : '公开'}', style: TextStyle( fontSize: 12, color: Theme.of(context).colorScheme.outline, ), ), ], ), ), ], ), ), ), ); } }