mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-20 08:08:44 +00:00
opt: replace SizedBox with spacing (#863)
This commit is contained in:
committed by
GitHub
parent
218e829fd4
commit
1efd62803a
@@ -177,8 +177,9 @@ class VideoCardV extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
videoStat(context, theme),
|
videoStat(context, theme),
|
||||||
Row(
|
Row(
|
||||||
|
spacing: 2,
|
||||||
children: [
|
children: [
|
||||||
if (videoItem.goto == 'bangumi') ...[
|
if (videoItem.goto == 'bangumi')
|
||||||
PBadge(
|
PBadge(
|
||||||
text: videoItem.bangumiBadge,
|
text: videoItem.bangumiBadge,
|
||||||
isStack: false,
|
isStack: false,
|
||||||
@@ -186,18 +187,14 @@ class VideoCardV extends StatelessWidget {
|
|||||||
type: PBadgeType.line_primary,
|
type: PBadgeType.line_primary,
|
||||||
fontSize: 9,
|
fontSize: 9,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 2),
|
if (videoItem.rcmdReason != null)
|
||||||
],
|
|
||||||
if (videoItem.rcmdReason != null) ...[
|
|
||||||
PBadge(
|
PBadge(
|
||||||
text: videoItem.rcmdReason,
|
text: videoItem.rcmdReason,
|
||||||
isStack: false,
|
isStack: false,
|
||||||
size: PBadgeSize.small,
|
size: PBadgeSize.small,
|
||||||
type: PBadgeType.secondary,
|
type: PBadgeType.secondary,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 2),
|
if (videoItem.goto == 'picture')
|
||||||
],
|
|
||||||
if (videoItem.goto == 'picture') ...[
|
|
||||||
const PBadge(
|
const PBadge(
|
||||||
text: '动态',
|
text: '动态',
|
||||||
isStack: false,
|
isStack: false,
|
||||||
@@ -205,17 +202,13 @@ class VideoCardV extends StatelessWidget {
|
|||||||
type: PBadgeType.line_primary,
|
type: PBadgeType.line_primary,
|
||||||
fontSize: 9,
|
fontSize: 9,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 2),
|
if (videoItem.isFollowed)
|
||||||
],
|
|
||||||
if (videoItem.isFollowed) ...[
|
|
||||||
const PBadge(
|
const PBadge(
|
||||||
text: '已关注',
|
text: '已关注',
|
||||||
isStack: false,
|
isStack: false,
|
||||||
size: PBadgeSize.small,
|
size: PBadgeSize.small,
|
||||||
type: PBadgeType.secondary,
|
type: PBadgeType.secondary,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 2),
|
|
||||||
],
|
|
||||||
Expanded(
|
Expanded(
|
||||||
flex: 1,
|
flex: 1,
|
||||||
child: Text(
|
child: Text(
|
||||||
|
|||||||
@@ -274,6 +274,7 @@ class OpusContent extends StatelessWidget {
|
|||||||
padding: const EdgeInsets.all(8),
|
padding: const EdgeInsets.all(8),
|
||||||
child: switch (element.linkCard?.card?.type) {
|
child: switch (element.linkCard?.card?.type) {
|
||||||
'LINK_CARD_TYPE_UGC' => Row(
|
'LINK_CARD_TYPE_UGC' => Row(
|
||||||
|
spacing: 10,
|
||||||
children: [
|
children: [
|
||||||
NetworkImgLayer(
|
NetworkImgLayer(
|
||||||
radius: 6,
|
radius: 6,
|
||||||
@@ -281,7 +282,6 @@ class OpusContent extends StatelessWidget {
|
|||||||
height: 65,
|
height: 65,
|
||||||
src: element.linkCard!.card!.ugc!.cover,
|
src: element.linkCard!.card!.ugc!.cover,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -309,6 +309,7 @@ class OpusContent extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
'LINK_CARD_TYPE_COMMON' => Row(
|
'LINK_CARD_TYPE_COMMON' => Row(
|
||||||
|
spacing: 10,
|
||||||
children: [
|
children: [
|
||||||
NetworkImgLayer(
|
NetworkImgLayer(
|
||||||
radius: 6,
|
radius: 6,
|
||||||
@@ -316,7 +317,6 @@ class OpusContent extends StatelessWidget {
|
|||||||
height: 65,
|
height: 65,
|
||||||
src: element.linkCard!.card!.common!.cover,
|
src: element.linkCard!.card!.common!.cover,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -346,6 +346,7 @@ class OpusContent extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
'LINK_CARD_TYPE_LIVE' => Row(
|
'LINK_CARD_TYPE_LIVE' => Row(
|
||||||
|
spacing: 10,
|
||||||
children: [
|
children: [
|
||||||
NetworkImgLayer(
|
NetworkImgLayer(
|
||||||
radius: 6,
|
radius: 6,
|
||||||
@@ -353,7 +354,6 @@ class OpusContent extends StatelessWidget {
|
|||||||
height: 65,
|
height: 65,
|
||||||
src: element.linkCard!.card!.live!.cover,
|
src: element.linkCard!.card!.live!.cover,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -384,6 +384,7 @@ class OpusContent extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
'LINK_CARD_TYPE_OPUS' => Row(
|
'LINK_CARD_TYPE_OPUS' => Row(
|
||||||
|
spacing: 10,
|
||||||
children: [
|
children: [
|
||||||
NetworkImgLayer(
|
NetworkImgLayer(
|
||||||
radius: 6,
|
radius: 6,
|
||||||
@@ -391,7 +392,6 @@ class OpusContent extends StatelessWidget {
|
|||||||
height: 65,
|
height: 65,
|
||||||
src: element.linkCard!.card!.opus!.cover,
|
src: element.linkCard!.card!.opus!.cover,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -410,6 +410,7 @@ class OpusContent extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
'LINK_CARD_TYPE_VOTE' => Row(
|
'LINK_CARD_TYPE_VOTE' => Row(
|
||||||
|
spacing: 10,
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
@@ -426,7 +427,6 @@ class OpusContent extends StatelessWidget {
|
|||||||
color: colorScheme.onSurfaceVariant,
|
color: colorScheme.onSurfaceVariant,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -445,6 +445,7 @@ class OpusContent extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
'LINK_CARD_TYPE_MUSIC' => Row(
|
'LINK_CARD_TYPE_MUSIC' => Row(
|
||||||
|
spacing: 10,
|
||||||
children: [
|
children: [
|
||||||
NetworkImgLayer(
|
NetworkImgLayer(
|
||||||
radius: 6,
|
radius: 6,
|
||||||
@@ -452,7 +453,6 @@ class OpusContent extends StatelessWidget {
|
|||||||
height: 65,
|
height: 65,
|
||||||
src: element.linkCard!.card!.music!.cover,
|
src: element.linkCard!.card!.music!.cover,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -482,6 +482,7 @@ class OpusContent extends StatelessWidget {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Row(
|
child: Row(
|
||||||
|
spacing: 10,
|
||||||
children: [
|
children: [
|
||||||
NetworkImgLayer(
|
NetworkImgLayer(
|
||||||
radius: 6,
|
radius: 6,
|
||||||
@@ -489,7 +490,6 @@ class OpusContent extends StatelessWidget {
|
|||||||
height: 65,
|
height: 65,
|
||||||
src: e.cover,
|
src: e.cover,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment:
|
crossAxisAlignment:
|
||||||
@@ -694,20 +694,18 @@ Widget moduleBlockedItem(
|
|||||||
decoration: bgImg(),
|
decoration: bgImg(),
|
||||||
padding: const EdgeInsets.all(12),
|
padding: const EdgeInsets.all(12),
|
||||||
child: Row(
|
child: Row(
|
||||||
|
spacing: 8,
|
||||||
children: [
|
children: [
|
||||||
if (moduleBlocked.icon != null) ...[
|
if (moduleBlocked.icon != null) icon(42),
|
||||||
icon(42),
|
|
||||||
const SizedBox(width: 8),
|
|
||||||
],
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
spacing: 2,
|
||||||
children: [
|
children: [
|
||||||
if (moduleBlocked.title?.isNotEmpty == true)
|
if (moduleBlocked.title?.isNotEmpty == true)
|
||||||
Text(moduleBlocked.title!),
|
Text(moduleBlocked.title!),
|
||||||
if (moduleBlocked.hintMessage?.isNotEmpty == true) ...[
|
if (moduleBlocked.hintMessage?.isNotEmpty == true)
|
||||||
const SizedBox(height: 2),
|
|
||||||
Text(
|
Text(
|
||||||
moduleBlocked.hintMessage!,
|
moduleBlocked.hintMessage!,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
@@ -716,11 +714,9 @@ Widget moduleBlockedItem(
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
],
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (moduleBlocked.button != null) ...[
|
if (moduleBlocked.button != null)
|
||||||
const SizedBox(width: 8),
|
|
||||||
btn(
|
btn(
|
||||||
visualDensity: const VisualDensity(vertical: -3, horizontal: -4),
|
visualDensity: const VisualDensity(vertical: -3, horizontal: -4),
|
||||||
shape: const RoundedRectangleBorder(
|
shape: const RoundedRectangleBorder(
|
||||||
@@ -729,7 +725,6 @@ Widget moduleBlockedItem(
|
|||||||
padding: const EdgeInsets.symmetric(horizontal: 10),
|
padding: const EdgeInsets.symmetric(horizontal: 10),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
],
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -408,8 +408,9 @@ class _EpisodePanelState extends CommonSlidePageState<EpisodePanel> {
|
|||||||
),
|
),
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
spacing: 10,
|
||||||
children: [
|
children: [
|
||||||
if (cover?.isNotEmpty == true) ...[
|
if (cover?.isNotEmpty == true)
|
||||||
AspectRatio(
|
AspectRatio(
|
||||||
aspectRatio: StyleString.aspectRatio,
|
aspectRatio: StyleString.aspectRatio,
|
||||||
child: LayoutBuilder(
|
child: LayoutBuilder(
|
||||||
@@ -444,17 +445,14 @@ class _EpisodePanelState extends CommonSlidePageState<EpisodePanel> {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
)
|
||||||
const SizedBox(width: 10),
|
else if (isCurrentIndex)
|
||||||
] else if (isCurrentIndex) ...[
|
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/live.png',
|
'assets/images/live.png',
|
||||||
color: primary,
|
color: primary,
|
||||||
height: 12,
|
height: 12,
|
||||||
semanticLabel: "正在播放:",
|
semanticLabel: "正在播放:",
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
|
||||||
],
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
|||||||
@@ -83,10 +83,9 @@ class SearchArticleController
|
|||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
spacing: 10,
|
||||||
children: [
|
children: [
|
||||||
const SizedBox(height: 10),
|
|
||||||
const Text('排序', style: TextStyle(fontSize: 16)),
|
const Text('排序', style: TextStyle(fontSize: 16)),
|
||||||
const SizedBox(height: 10),
|
|
||||||
Wrap(
|
Wrap(
|
||||||
spacing: 8,
|
spacing: 8,
|
||||||
runSpacing: 8,
|
runSpacing: 8,
|
||||||
@@ -115,9 +114,7 @@ class SearchArticleController
|
|||||||
)
|
)
|
||||||
.toList(),
|
.toList(),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 20),
|
|
||||||
const Text('分区', style: TextStyle(fontSize: 16)),
|
const Text('分区', style: TextStyle(fontSize: 16)),
|
||||||
const SizedBox(height: 10),
|
|
||||||
Wrap(
|
Wrap(
|
||||||
spacing: 8,
|
spacing: 8,
|
||||||
runSpacing: 8,
|
runSpacing: 8,
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ class _LogsPageState extends State<LogsPage> {
|
|||||||
}
|
}
|
||||||
return l;
|
return l;
|
||||||
})
|
})
|
||||||
.where((dynamic l) => l.replaceAll("\n", "").trim().isNotEmpty)
|
.where((l) => l.replaceAll("\n", "").trim().isNotEmpty)
|
||||||
.join("\n");
|
.join("\n");
|
||||||
if (date != null || body != '') {
|
if (date != null || body != '') {
|
||||||
result.add({'date': date, 'body': body, 'expand': false});
|
result.add({'date': date, 'body': body, 'expand': false});
|
||||||
@@ -159,8 +159,10 @@ class _LogsPageState extends State<LogsPage> {
|
|||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
spacing: 5,
|
||||||
children: [
|
children: [
|
||||||
Row(
|
Row(
|
||||||
|
spacing: 10,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
log['date'].toString(),
|
log['date'].toString(),
|
||||||
@@ -171,7 +173,6 @@ class _LogsPageState extends State<LogsPage> {
|
|||||||
.fontSize,
|
.fontSize,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
|
||||||
TextButton.icon(
|
TextButton.icon(
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
tapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
tapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
||||||
@@ -195,7 +196,6 @@ class _LogsPageState extends State<LogsPage> {
|
|||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
const SizedBox(height: 5),
|
|
||||||
Card(
|
Card(
|
||||||
elevation: 1,
|
elevation: 1,
|
||||||
margin: EdgeInsets.zero,
|
margin: EdgeInsets.zero,
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
children: [
|
children: [
|
||||||
Row(
|
Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
spacing: 10,
|
||||||
children: [
|
children: [
|
||||||
Stack(
|
Stack(
|
||||||
clipBehavior: Clip.none,
|
clipBehavior: Clip.none,
|
||||||
@@ -121,7 +122,6 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTap: () => widget.showIntroDetail(
|
onTap: () => widget.showIntroDetail(
|
||||||
@@ -135,6 +135,7 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
children: [
|
children: [
|
||||||
Row(
|
Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
spacing: 20,
|
||||||
children: [
|
children: [
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
@@ -146,7 +147,6 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 20),
|
|
||||||
Obx(
|
Obx(
|
||||||
() => FilledButton.tonal(
|
() => FilledButton.tonal(
|
||||||
style: FilledButton.styleFrom(
|
style: FilledButton.styleFrom(
|
||||||
@@ -204,6 +204,7 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
Row(
|
Row(
|
||||||
|
spacing: 6,
|
||||||
children: [
|
children: [
|
||||||
StatView(
|
StatView(
|
||||||
context: context,
|
context: context,
|
||||||
@@ -211,7 +212,6 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
value:
|
value:
|
||||||
Utils.numFormat(bangumiItem.stat!['views']),
|
Utils.numFormat(bangumiItem.stat!['views']),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 6),
|
|
||||||
StatDanMu(
|
StatDanMu(
|
||||||
context: context,
|
context: context,
|
||||||
theme: 'gray',
|
theme: 'gray',
|
||||||
@@ -219,9 +219,7 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
bangumiItem.stat!['danmakus']),
|
bangumiItem.stat!['danmakus']),
|
||||||
),
|
),
|
||||||
if (isLandscape) ...[
|
if (isLandscape) ...[
|
||||||
const SizedBox(width: 6),
|
|
||||||
areasAndPubTime(theme, bangumiItem),
|
areasAndPubTime(theme, bangumiItem),
|
||||||
const SizedBox(width: 6),
|
|
||||||
newEpDesc(theme, bangumiItem),
|
newEpDesc(theme, bangumiItem),
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
@@ -366,6 +364,7 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
VideoDetailController videoDetailCtr,
|
VideoDetailController videoDetailCtr,
|
||||||
) {
|
) {
|
||||||
return Row(
|
return Row(
|
||||||
|
spacing: 8,
|
||||||
children: [
|
children: [
|
||||||
Obx(
|
Obx(
|
||||||
() => ActionRowItem(
|
() => ActionRowItem(
|
||||||
@@ -376,7 +375,6 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
text: bangumiItem.stat!['likes']!.toString(),
|
text: bangumiItem.stat!['likes']!.toString(),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 8),
|
|
||||||
Obx(
|
Obx(
|
||||||
() => ActionRowItem(
|
() => ActionRowItem(
|
||||||
icon: const Icon(FontAwesomeIcons.b),
|
icon: const Icon(FontAwesomeIcons.b),
|
||||||
@@ -386,7 +384,6 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
text: bangumiItem.stat!['coins']!.toString(),
|
text: bangumiItem.stat!['coins']!.toString(),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 8),
|
|
||||||
Obx(
|
Obx(
|
||||||
() => ActionRowItem(
|
() => ActionRowItem(
|
||||||
icon: const Icon(FontAwesomeIcons.heart),
|
icon: const Icon(FontAwesomeIcons.heart),
|
||||||
@@ -398,7 +395,6 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
text: bangumiItem.stat!['favorite']!.toString(),
|
text: bangumiItem.stat!['favorite']!.toString(),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 8),
|
|
||||||
ActionRowItem(
|
ActionRowItem(
|
||||||
icon: const Icon(FontAwesomeIcons.comment),
|
icon: const Icon(FontAwesomeIcons.comment),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
@@ -408,7 +404,6 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
isLoading: false,
|
isLoading: false,
|
||||||
text: bangumiItem.stat!['reply']!.toString(),
|
text: bangumiItem.stat!['reply']!.toString(),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 8),
|
|
||||||
ActionRowItem(
|
ActionRowItem(
|
||||||
icon: const Icon(FontAwesomeIcons.share),
|
icon: const Icon(FontAwesomeIcons.share),
|
||||||
onTap: () => bangumiIntroController.actionShareVideo(context),
|
onTap: () => bangumiIntroController.actionShareVideo(context),
|
||||||
@@ -422,6 +417,7 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
|
|
||||||
Widget areasAndPubTime(ThemeData theme, BangumiInfoModel bangumiItem) {
|
Widget areasAndPubTime(ThemeData theme, BangumiInfoModel bangumiItem) {
|
||||||
return Row(
|
return Row(
|
||||||
|
spacing: 6,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
(bangumiItem.areas!.isNotEmpty
|
(bangumiItem.areas!.isNotEmpty
|
||||||
@@ -432,7 +428,6 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
|
|||||||
color: theme.colorScheme.outline,
|
color: theme.colorScheme.outline,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 6),
|
|
||||||
Text(
|
Text(
|
||||||
bangumiItem.publish!['pub_time_show'],
|
bangumiItem.publish!['pub_time_show'],
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
|
|||||||
@@ -192,15 +192,16 @@ class ReplyItemGrpc extends StatelessWidget {
|
|||||||
child: Row(
|
child: Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
spacing: 12,
|
||||||
children: [
|
children: [
|
||||||
lfAvtar(),
|
lfAvtar(),
|
||||||
const SizedBox(width: 12),
|
|
||||||
Column(
|
Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
Row(
|
Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
spacing: 6,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
replyItem.member.name,
|
replyItem.member.name,
|
||||||
@@ -212,13 +213,11 @@ class ReplyItemGrpc extends StatelessWidget {
|
|||||||
fontSize: 13,
|
fontSize: 13,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 6),
|
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'assets/images/lv/lv${replyItem.member.isSeniorMember == 1 ? '6_s' : replyItem.member.level}.png',
|
'assets/images/lv/lv${replyItem.member.isSeniorMember == 1 ? '6_s' : replyItem.member.level}.png',
|
||||||
height: 11,
|
height: 11,
|
||||||
semanticLabel: "等级:${replyItem.member.level}",
|
semanticLabel: "等级:${replyItem.member.level}",
|
||||||
),
|
),
|
||||||
const SizedBox(width: 6),
|
|
||||||
if (replyItem.mid == upMid)
|
if (replyItem.mid == upMid)
|
||||||
const PBadge(
|
const PBadge(
|
||||||
text: 'UP',
|
text: 'UP',
|
||||||
|
|||||||
@@ -269,6 +269,7 @@ class ChatItem extends StatelessWidget {
|
|||||||
padding: const EdgeInsets.all(12),
|
padding: const EdgeInsets.all(12),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
spacing: 6,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
content['main_title'],
|
content['main_title'],
|
||||||
@@ -279,8 +280,7 @@ class ChatItem extends StatelessWidget {
|
|||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
for (var i in content['sub_cards']) ...[
|
for (var i in content['sub_cards'])
|
||||||
const SizedBox(height: 6),
|
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
RegExp bvRegex =
|
RegExp bvRegex =
|
||||||
@@ -309,13 +309,13 @@ class ChatItem extends StatelessWidget {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Row(
|
child: Row(
|
||||||
|
spacing: 6,
|
||||||
children: [
|
children: [
|
||||||
NetworkImgLayer(
|
NetworkImgLayer(
|
||||||
width: 130,
|
width: 130,
|
||||||
height: 130 * 9 / 16,
|
height: 130 * 9 / 16,
|
||||||
src: i['cover_url'],
|
src: i['cover_url'],
|
||||||
),
|
),
|
||||||
const SizedBox(width: 6),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -355,7 +355,6 @@ class ChatItem extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
],
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user