123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- import 'package:eye_video/bizmodule/bizwidget/follow_list_head.dart';
- import 'package:eye_video/bizmodule/main/community/extension/ext_community.dart';
- import 'package:eye_video/bizmodule/main/community/model/community_model.dart';
- import 'package:eye_video/framework/uikit/layout/nine_layout.dart';
- import 'package:flutter/material.dart';
- import 'package:eye_video/framework/extension/image_compress.dart';
- class UgcFollowItem extends StatelessWidget {
- final HeaderData header;
- final CommunityData content;
- const UgcFollowItem({Key? key, this.header, this.content}) : super(key: key);
- @override
- Widget build(BuildContext context) {
- List<Widget> children = [];
- var headerItem = FollowListHead(
- title: header.issuerName,
- avatarUrl: header.icon.compress_value(),
- description: "${prettyTime(content.releaseTime)}发布",
- );
- children.add(headerItem);
- if (content.description != null && content.description.isNotEmpty) {
- var contentItem = Padding(
- padding: EdgeInsets.only(left: 16),
- child: Text(
- content.description,
- style: TextStyle(
- fontSize: 15,
- fontFamily: 'NotoSansHans-Regular',
- color: Color(0xff333333),
- ),
- ),
- );
- children.add(contentItem);
- }
- if (content.urls != null || content.urls.isNotEmpty) {
- var nineImages = Padding(
- padding: EdgeInsets.only(left: 8, top: 10, bottom: 10),
- child: NineLayout(
- width: MediaQuery.of(context).size.width - 34,
- children: content.urls.map((url) {
- return Container(
- decoration: ShapeDecoration(
- image: DecorationImage(
- image: NetworkImage(url.compress_value()),
- fit: BoxFit.cover,
- ),
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(5),
- ),
- ));
- }).toList(),
- count: content.urls.length,
- gap: 1,
- ),
- );
- children.add(nineImages);
- }
- if (content.tags != null && content.tags.isNotEmpty) {
- var tagItems = Container(
- padding: EdgeInsets.only(left: 10, top: 10),
- child: Wrap(
- children: content.tags
- .map((tag) => Container(
- decoration: BoxDecoration(
- color: Color(0xfff0f0f0),
- borderRadius: BorderRadius.all(Radius.circular(15)),
- ),
- padding:
- EdgeInsets.only(top: 2, bottom: 2, left: 10, right: 10),
- child: Text(
- tag.name,
- style: TextStyle(
- color: Colors.blue,
- fontSize: 12,
- ),
- ),
- ))
- .toList(),
- ),
- );
- children.add(tagItems);
- }
- if (content.consumption != null) {
- var consumptionItem = Padding(
- padding: EdgeInsets.only(top: 10, left: 15),
- child: Row(
- children: [
- Row(
- mainAxisAlignment: MainAxisAlignment.start,
- children: [
- Image.asset(
- 'assets/images/biz_app_icon_collection.png',
- width: 20,
- height: 20,
- ),
- Padding(
- padding: EdgeInsets.only(left: 3),
- child: Text("${content.consumption.realCollectionCount}"),
- ),
- ],
- ),
- Padding(
- padding: EdgeInsets.only(left: 30),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.start,
- children: [
- Image.asset(
- 'assets/images/biz_app_icon_reply.png',
- width: 20,
- height: 20,
- ),
- Padding(
- padding: EdgeInsets.only(left: 3),
- child: Text("${content.consumption.replyCount}"),
- ),
- ],
- ),
- ),
- Padding(
- padding: EdgeInsets.only(left: 30),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.start,
- children: [
- Image.asset(
- 'assets/images/biz_app_icon_share.png',
- width: 20,
- height: 20,
- ),
- Padding(
- padding: EdgeInsets.only(left: 3),
- child: Text("${content.consumption.shareCount}"),
- ),
- ],
- ),
- )
- ],
- ),
- );
- children.add(consumptionItem);
- }
- return Container(
- padding: EdgeInsets.all(10),
- child: Column(
- mainAxisAlignment: MainAxisAlignment.start,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: children,
- ),
- );
- }
- }
|