// Flutter imports: import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; // Project imports: import 'package:akuCommunity/pages/things_page/things_detail_page/things_detail_page.dart'; import 'package:akuCommunity/routers/page_routers.dart'; import 'package:akuCommunity/utils/headers.dart'; import 'package:akuCommunity/widget/expandable_text.dart'; import 'package:akuCommunity/widget/views/horizontal_image_view.dart'; class ThingsCard extends StatefulWidget { final String time, tag, content; final List imageList; final bool isRepair; ThingsCard( {this.time, this.tag, this.content, this.imageList, this.isRepair, Key key}) : super(key: key); @override _ThingsCardState createState() => _ThingsCardState(); } class _ThingsCardState extends State { void detailRouter() { ThingsDetailPage( bundle: Bundle() ..putMap('things', { 'isRepair': widget.isRepair, 'content': widget.content, 'time': widget.time, 'imageList': widget.imageList, }), ).to; } InkWell _inkWellPropose( String time, String tag, String content, List imageList) { return InkWell( onTap: detailRouter, child: Container( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( time, style: TextStyle( fontSize: 32.sp, color: Color(0xff333333), ), ), Text( tag, style: TextStyle( fontSize: 24.sp, color: Color(0xffff8200), ), ), ], ), SizedBox(height: 24.w), Divider(height: 0.5), SizedBox(height: 24.w), ExpandableText( text: content, maxLines: 2, style: TextStyle( fontSize: 28.sp, color: Color(0xff333333), ), expand: false, ), SizedBox(height: 29.w), imageList.length != 0 ? HorizontalImageView(imageList) : SizedBox() ], ), ), ); } @override Widget build(BuildContext context) { return Container( decoration: BoxDecoration( color: Color(0xffffffff), borderRadius: BorderRadius.all(Radius.circular(8))), margin: EdgeInsets.only( left: 32.w, right: 32.w, top: 20.w, ), padding: EdgeInsets.only( left: 28.w, right: 28.w, top: 21.w, bottom: 24.w, ), child: _inkWellPropose( widget.time, widget.tag, widget.content, widget.imageList, ), ); } }