Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-07-24 09:38:34 +08:00
parent 47aaa28898
commit 87c7b84e5c
5 changed files with 169 additions and 158 deletions

View File

@@ -21,7 +21,6 @@ import 'package:PiliPlus/grpc/reply.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/reply.dart';
import 'package:PiliPlus/http/video.dart';
import 'package:PiliPlus/models/common/badge_type.dart';
import 'package:PiliPlus/models/common/image_type.dart';
import 'package:PiliPlus/pages/dynamics/widgets/vote.dart';
import 'package:PiliPlus/pages/member/widget/medal_widget.dart';
@@ -33,6 +32,7 @@ import 'package:PiliPlus/utils/app_scheme.dart';
import 'package:PiliPlus/utils/bili_utils.dart';
import 'package:PiliPlus/utils/color_utils.dart';
import 'package:PiliPlus/utils/danmaku_utils.dart';
import 'package:PiliPlus/utils/date_utils.dart';
import 'package:PiliPlus/utils/duration_utils.dart';
import 'package:PiliPlus/utils/extension/context_ext.dart';
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
@@ -167,13 +167,14 @@ class ReplyItemGrpc extends StatelessWidget {
? member.garbPendantImage
: null,
),
Expanded(
Flexible(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
mainAxisSize: .min,
crossAxisAlignment: .start,
children: [
Row(
spacing: 6,
mainAxisSize: .min,
children: [
Flexible(
child: Text(
@@ -196,7 +197,7 @@ class ReplyItemGrpc extends StatelessWidget {
if (replyItem.mid == upMid)
const PBadge(
text: 'UP',
size: PBadgeSize.small,
size: .small,
isStack: false,
fontSize: 9,
)
@@ -211,23 +212,33 @@ class ReplyItemGrpc extends StatelessWidget {
nameColor: DmUtils.decimalToColor(
member.fansMedalColorName.toInt(),
),
padding: const .symmetric(
horizontal: 6,
vertical: 1.5,
),
padding: const .symmetric(horizontal: 6, vertical: 1.5),
),
],
),
Row(
mainAxisSize: MainAxisSize.min,
mainAxisSize: .min,
children: [
Text(
'${replyItem.replyControl.location}',
replyLevel == 0
? DateFormatUtils.format(
replyItem.ctime.toInt(),
format: DateFormatUtils.longFormatDs,
)
: DateFormatUtils.dateFormat(replyItem.ctime.toInt()),
style: TextStyle(
fontSize: 11,
color: colorScheme.outline,
),
),
if (replyItem.replyControl.hasLocation())
Text(
'${replyItem.replyControl.location}',
style: TextStyle(
fontSize: 11,
color: colorScheme.outline,
),
),
],
),
],
@@ -337,12 +348,12 @@ class ReplyItemGrpc extends StatelessWidget {
children: [
if (replyControl.isUpTop) ...[
const WidgetSpan(
alignment: PlaceholderAlignment.middle,
alignment: .middle,
child: PBadge(
text: 'TOP',
size: PBadgeSize.small,
size: .small,
isStack: false,
type: PBadgeType.line_primary,
type: .line_primary,
fontSize: 9,
textScaleFactor: 1,
),
@@ -628,10 +639,10 @@ class ReplyItemGrpc extends StatelessWidget {
if (childReply.mid == upMid) ...[
const TextSpan(text: ' '),
const WidgetSpan(
alignment: PlaceholderAlignment.middle,
alignment: .middle,
child: PBadge(
text: 'UP',
size: PBadgeSize.small,
size: .small,
isStack: false,
fontSize: 9,
textScaleFactor: 1,

View File

@@ -24,22 +24,17 @@ mixin HeaderMixin<T extends StatefulWidget> on State<T> {
StatefulWidgetBuilder builder, {
ValueGetter<EdgeInsets>? padding,
}) {
final theme = this.theme;
return PageUtils.showVideoBottomSheet(
context,
maxWidth: 512,
padding: padding,
child: StatefulBuilder(
builder: (context, setState) {
final theme = this.theme;
if (theme != null) {
return Theme(
child: theme != null
? Theme(
data: theme,
child: builder(this.context, setState),
);
}
return builder(context, setState);
},
),
child: StatefulBuilder(builder: builder),
)
: StatefulBuilder(builder: builder),
);
}