💄 Optimized post category and tag

This commit is contained in:
2025-08-08 22:19:17 +08:00
parent b25e8d661a
commit aa9755e6a7

View File

@@ -571,32 +571,45 @@ class PostItem extends HookConsumerWidget {
vertical: 4,
),
),
if (item.tags.isNotEmpty)
Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
spacing: 2,
children: [
if (item.tags.isNotEmpty)
Wrap(
runAlignment: WrapAlignment.center,
spacing: 8,
children: [
for (final tag in item.tags)
const Icon(Symbols.label, size: 16).padding(top: 2),
for (final tag
in isFullPost ? item.tags : item.tags.take(3))
InkWell(
child: Row(
mainAxisSize: MainAxisSize.min,
spacing: 4,
children: [
const Icon(Symbols.label, size: 16),
Text(tag.name ?? tag.slug),
],
),
child: Text('#${tag.name ?? tag.slug}'),
onTap: () {},
),
for (final category in item.categories)
InkWell(
child: Row(
mainAxisSize: MainAxisSize.min,
spacing: 4,
children: [
const Icon(Symbols.category, size: 16),
Text(category.categoryDisplayTitle),
if (!isFullPost && item.tags.length > 3)
Text('+${item.tags.length - 3}').opacity(0.6),
],
),
if (item.categories.isNotEmpty)
Wrap(
runAlignment: WrapAlignment.center,
spacing: 8,
children: [
const Icon(Symbols.category, size: 16).padding(top: 2),
for (final category
in isFullPost
? item.categories
: item.categories.take(2))
InkWell(
child: Text(category.categoryDisplayTitle),
onTap: () {},
),
if (!isFullPost && item.categories.length > 2)
Text('+${item.categories.length - 2}').opacity(0.6),
],
),
],
).padding(horizontal: renderingPadding.horizontal + 4, top: 4),