Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-08-25 12:45:23 +08:00
parent 4bba675063
commit 461e91239e
9 changed files with 62 additions and 61 deletions

View File

@@ -163,26 +163,34 @@ abstract class CommonDynPageState<T extends CommonDynPage> extends State<T>
EasyThrottle.throttle('replyReply', const Duration(milliseconds: 500), () {
int oid = replyItem.oid.toInt();
int rpid = replyItem.id.toInt();
Widget replyReplyPage({bool showBackBtn = true}) => Scaffold(
resizeToAvoidBottomInset: false,
appBar: AppBar(
toolbarHeight: showBackBtn ? null : 45,
title: const Text('评论详情'),
titleSpacing: showBackBtn ? null : 12,
automaticallyImplyLeading: showBackBtn,
actions: showBackBtn
? null
: [
IconButton(
tooltip: '关闭',
icon: const Icon(Icons.close, size: 20),
onPressed: Get.back,
),
],
),
body: Padding(
padding: EdgeInsets.only(right: padding.right),
child: VideoReplyReplyPanel(
Widget replyReplyPage({bool showBackBtn = true}) => Padding(
padding: EdgeInsets.only(right: padding.right),
child: Scaffold(
resizeToAvoidBottomInset: false,
appBar: AppBar(
primary: showBackBtn,
toolbarHeight: showBackBtn ? null : 45,
title: const Text('评论详情'),
titleSpacing: showBackBtn ? null : 12,
automaticallyImplyLeading: showBackBtn,
actions: showBackBtn
? null
: [
IconButton(
tooltip: '关闭',
icon: const Icon(Icons.close, size: 20),
onPressed: Get.back,
),
],
shape: Border(
bottom: BorderSide(
color: Theme.of(
context,
).colorScheme.outline.withValues(alpha: 0.1),
),
),
),
body: VideoReplyReplyPanel(
enableSlide: false,
id: id,
oid: oid,
@@ -205,11 +213,7 @@ abstract class CommonDynPageState<T extends CommonDynPage> extends State<T>
controller.hideFab();
scaffoldState.showBottomSheet(
backgroundColor: Colors.transparent,
(context) => MediaQuery.removePadding(
context: context,
removeLeft: true,
child: replyReplyPage(showBackBtn: false),
),
(context) => replyReplyPage(showBackBtn: false),
);
} else {
Get.to(

View File

@@ -332,9 +332,10 @@ class UserInfoCard extends StatelessWidget {
),
const SizedBox(height: 5),
Row(
spacing: 10,
mainAxisSize: MainAxisSize.min,
children: [
if (!isOwner) ...[
if (!isOwner)
IconButton.outlined(
onPressed: () {
if (Accounts.main.isLogin) {
@@ -362,8 +363,6 @@ class UserInfoCard extends StatelessWidget {
visualDensity: VisualDensity.compact,
),
),
const SizedBox(width: 10),
],
Expanded(
child: FilledButton.tonal(
onPressed: onFollow,

View File

@@ -71,10 +71,8 @@ class _PgcReviewPostPanelState extends State<PgcReviewPostPanel> {
),
const SizedBox(width: 12),
],
bottom: PreferredSize(
preferredSize: const Size.fromHeight(1),
child: Divider(
height: 1,
shape: Border(
bottom: BorderSide(
color: theme.colorScheme.outline.withValues(alpha: 0.1),
),
),

View File

@@ -95,11 +95,9 @@ class _SearchTrendingPageState extends State<SearchTrendingPage> {
statusBarBrightness: Brightness.dark,
statusBarIconBrightness: Brightness.light,
),
bottom: scrollRatio == 1
? PreferredSize(
preferredSize: const Size.fromHeight(1),
child: Divider(
height: 1,
shape: scrollRatio == 1
? Border(
bottom: BorderSide(
color: theme.colorScheme.outline.withValues(
alpha: 0.1,
),

View File

@@ -72,6 +72,7 @@ class _MediaListPanelState
child: Column(
children: [
AppBar(
primary: false,
toolbarHeight: 45,
automaticallyImplyLeading: false,
titleSpacing: 16,
@@ -95,10 +96,11 @@ class _MediaListPanelState
),
const SizedBox(width: 14),
],
),
Divider(
height: 1,
color: theme.colorScheme.outline.withValues(alpha: 0.1),
shape: Border(
bottom: BorderSide(
color: theme.colorScheme.outline.withValues(alpha: 0.1),
),
),
),
Expanded(
child: enableSlide ? slideList(theme) : buildList(theme),

View File

@@ -60,6 +60,7 @@ class _NoteListPageState extends CommonSlidePageState<NoteListPage> {
SizedBox(
height: 45,
child: AppBar(
primary: false,
automaticallyImplyLeading: false,
titleSpacing: 16,
toolbarHeight: 45,
@@ -68,10 +69,8 @@ class _NoteListPageState extends CommonSlidePageState<NoteListPage> {
final count = _controller.count.value;
return Text('笔记${count == -1 ? '' : '($count)'}');
}),
bottom: PreferredSize(
preferredSize: const Size.fromHeight(1),
child: Divider(
height: 1,
shape: Border(
bottom: BorderSide(
color: theme.colorScheme.outline.withValues(alpha: 0.1),
),
),

View File

@@ -64,11 +64,14 @@ class _PostPanelState extends CommonCollapseSlidePageState<PostPanel> {
return Scaffold(
resizeToAvoidBottomInset: false,
appBar: AppBar(
primary: false,
toolbarHeight: 45,
automaticallyImplyLeading: false,
titleSpacing: 16,
title: const Text('提交片段'),
actions: [
iconButton(
size: 32,
context: context,
tooltip: '添加片段',
onPressed: () {
@@ -90,6 +93,7 @@ class _PostPanelState extends CommonCollapseSlidePageState<PostPanel> {
),
const SizedBox(width: 10),
iconButton(
size: 32,
context: context,
tooltip: '关闭',
onPressed: Get.back,

View File

@@ -101,13 +101,14 @@ class _VideoReplyReplyPanelState
@override
Widget buildPage(ThemeData theme) {
Widget child() => enableSlide ? slideList(theme) : buildList(theme);
return Scaffold(
key: _key,
resizeToAvoidBottomInset: false,
body: Column(
children: [
widget.isVideoDetail
? Container(
body: widget.isVideoDetail
? Column(
children: [
Container(
height: 45,
decoration: BoxDecoration(
border: Border(
@@ -129,14 +130,11 @@ class _VideoReplyReplyPanelState
),
],
),
)
: Divider(
height: 1,
color: theme.dividerColor.withValues(alpha: 0.1),
),
Expanded(child: enableSlide ? slideList(theme) : buildList(theme)),
],
),
Expanded(child: child()),
],
)
: child(),
);
}

View File

@@ -45,6 +45,7 @@ class _ViewPointsPageState
return Scaffold(
resizeToAvoidBottomInset: false,
appBar: AppBar(
primary: false,
automaticallyImplyLeading: false,
titleSpacing: 16,
title: const Text('分段信息'),
@@ -82,11 +83,9 @@ class _ViewPointsPageState
),
const SizedBox(width: 16),
],
bottom: PreferredSize(
preferredSize: const Size.fromHeight(1),
child: Divider(
height: 1,
color: theme.dividerColor.withValues(alpha: 0.1),
shape: Border(
bottom: BorderSide(
color: theme.colorScheme.outline.withValues(alpha: 0.1),
),
),
),