mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-07-30 07:20:11 +08:00
@@ -32,7 +32,8 @@ class DownloadSearchController
|
||||
.where(
|
||||
(e) =>
|
||||
e.title.toLowerCase().contains(text) ||
|
||||
e.showTitle.toLowerCase().contains(text),
|
||||
e.showTitle.toLowerCase().contains(text) ||
|
||||
(e.ownerName?.toLowerCase().contains(text) ?? false),
|
||||
)
|
||||
.toList(),
|
||||
);
|
||||
|
||||
@@ -395,6 +395,7 @@ class UserInfoCard extends StatelessWidget {
|
||||
}
|
||||
|
||||
Column _buildRight(ColorScheme colorScheme) => Column(
|
||||
spacing: 5,
|
||||
mainAxisSize: .min,
|
||||
children: [
|
||||
Row(
|
||||
@@ -418,7 +419,6 @@ class UserInfoCard extends StatelessWidget {
|
||||
.skip(1)
|
||||
.toList(),
|
||||
),
|
||||
const SizedBox(height: 5),
|
||||
Row(
|
||||
spacing: 10,
|
||||
mainAxisSize: .min,
|
||||
@@ -441,22 +441,25 @@ class UserInfoCard extends StatelessWidget {
|
||||
}
|
||||
},
|
||||
icon: const Icon(Icons.mail_outline, size: 21),
|
||||
style: IconButton.styleFrom(
|
||||
side: BorderSide(
|
||||
width: 1.0,
|
||||
color: colorScheme.outline.withValues(alpha: 0.3),
|
||||
style: ButtonStyle(
|
||||
side: WidgetStatePropertyAll(
|
||||
BorderSide(
|
||||
width: 1.0,
|
||||
color: colorScheme.outline.withValues(alpha: 0.3),
|
||||
),
|
||||
),
|
||||
padding: .zero,
|
||||
tapTargetSize: .padded,
|
||||
padding: const WidgetStatePropertyAll(.zero),
|
||||
tapTargetSize: .shrinkWrap,
|
||||
visualDensity: .compact,
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: FilledButton.tonal(
|
||||
onPressed: !isOwner && relation == -1 ? null : onFollow,
|
||||
style: FilledButton.styleFrom(
|
||||
style: ButtonStyle(
|
||||
padding: const WidgetStatePropertyAll(.zero),
|
||||
backgroundColor: relation != 0
|
||||
? colorScheme.onInverseSurface
|
||||
? WidgetStatePropertyAll(colorScheme.onInverseSurface)
|
||||
: null,
|
||||
tapTargetSize: .padded,
|
||||
visualDensity: const VisualDensity(vertical: -1.8),
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user