Files
PiliPlus/lib/pages/dynamics_select_topic/widgets/item.dart
bggRGjQaUbCoE a2c24fb33c feat: match info
opt dateformat

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
2025-06-16 12:51:32 +08:00

54 lines
1.5 KiB
Dart

import 'package:PiliPlus/common/widgets/custom_icon.dart';
import 'package:PiliPlus/models_new/dynamic/dyn_topic_top/topic_item.dart';
import 'package:PiliPlus/utils/num_util.dart';
import 'package:flutter/material.dart';
class DynTopicItem extends StatelessWidget {
const DynTopicItem({
super.key,
required this.item,
required this.onTap,
});
final TopicItem item;
final ValueChanged<TopicItem> onTap;
@override
Widget build(BuildContext context) {
return Material(
type: MaterialType.transparency,
child: ListTile(
dense: true,
onTap: () => onTap(item),
title: Text.rich(
TextSpan(
children: [
const WidgetSpan(
alignment: PlaceholderAlignment.middle,
child: Padding(
padding: EdgeInsets.only(right: 5),
child: Icon(
CustomIcon.topic_tag,
size: 18,
),
),
),
TextSpan(
text: item.name,
style: const TextStyle(fontSize: 14),
),
],
),
),
subtitle: Padding(
padding: const EdgeInsets.only(left: 23),
child: Text(
'${NumUtil.numFormat(item.view)}浏览 · ${NumUtil.numFormat(item.discuss)}讨论',
style: TextStyle(color: Theme.of(context).colorScheme.outline),
),
),
),
);
}
}