mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-31 08:08:19 +08:00
@@ -163,26 +163,34 @@ abstract class CommonDynPageState<T extends CommonDynPage> extends State<T>
|
|||||||
EasyThrottle.throttle('replyReply', const Duration(milliseconds: 500), () {
|
EasyThrottle.throttle('replyReply', const Duration(milliseconds: 500), () {
|
||||||
int oid = replyItem.oid.toInt();
|
int oid = replyItem.oid.toInt();
|
||||||
int rpid = replyItem.id.toInt();
|
int rpid = replyItem.id.toInt();
|
||||||
Widget replyReplyPage({bool showBackBtn = true}) => Scaffold(
|
Widget replyReplyPage({bool showBackBtn = true}) => Padding(
|
||||||
resizeToAvoidBottomInset: false,
|
padding: EdgeInsets.only(right: padding.right),
|
||||||
appBar: AppBar(
|
child: Scaffold(
|
||||||
toolbarHeight: showBackBtn ? null : 45,
|
resizeToAvoidBottomInset: false,
|
||||||
title: const Text('评论详情'),
|
appBar: AppBar(
|
||||||
titleSpacing: showBackBtn ? null : 12,
|
primary: showBackBtn,
|
||||||
automaticallyImplyLeading: showBackBtn,
|
toolbarHeight: showBackBtn ? null : 45,
|
||||||
actions: showBackBtn
|
title: const Text('评论详情'),
|
||||||
? null
|
titleSpacing: showBackBtn ? null : 12,
|
||||||
: [
|
automaticallyImplyLeading: showBackBtn,
|
||||||
IconButton(
|
actions: showBackBtn
|
||||||
tooltip: '关闭',
|
? null
|
||||||
icon: const Icon(Icons.close, size: 20),
|
: [
|
||||||
onPressed: Get.back,
|
IconButton(
|
||||||
),
|
tooltip: '关闭',
|
||||||
],
|
icon: const Icon(Icons.close, size: 20),
|
||||||
),
|
onPressed: Get.back,
|
||||||
body: Padding(
|
),
|
||||||
padding: EdgeInsets.only(right: padding.right),
|
],
|
||||||
child: VideoReplyReplyPanel(
|
shape: Border(
|
||||||
|
bottom: BorderSide(
|
||||||
|
color: Theme.of(
|
||||||
|
context,
|
||||||
|
).colorScheme.outline.withValues(alpha: 0.1),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
body: VideoReplyReplyPanel(
|
||||||
enableSlide: false,
|
enableSlide: false,
|
||||||
id: id,
|
id: id,
|
||||||
oid: oid,
|
oid: oid,
|
||||||
@@ -205,11 +213,7 @@ abstract class CommonDynPageState<T extends CommonDynPage> extends State<T>
|
|||||||
controller.hideFab();
|
controller.hideFab();
|
||||||
scaffoldState.showBottomSheet(
|
scaffoldState.showBottomSheet(
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
(context) => MediaQuery.removePadding(
|
(context) => replyReplyPage(showBackBtn: false),
|
||||||
context: context,
|
|
||||||
removeLeft: true,
|
|
||||||
child: replyReplyPage(showBackBtn: false),
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
Get.to(
|
Get.to(
|
||||||
|
|||||||
@@ -332,9 +332,10 @@ class UserInfoCard extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
const SizedBox(height: 5),
|
const SizedBox(height: 5),
|
||||||
Row(
|
Row(
|
||||||
|
spacing: 10,
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
if (!isOwner) ...[
|
if (!isOwner)
|
||||||
IconButton.outlined(
|
IconButton.outlined(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
if (Accounts.main.isLogin) {
|
if (Accounts.main.isLogin) {
|
||||||
@@ -362,8 +363,6 @@ class UserInfoCard extends StatelessWidget {
|
|||||||
visualDensity: VisualDensity.compact,
|
visualDensity: VisualDensity.compact,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
|
||||||
],
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: FilledButton.tonal(
|
child: FilledButton.tonal(
|
||||||
onPressed: onFollow,
|
onPressed: onFollow,
|
||||||
|
|||||||
@@ -71,10 +71,8 @@ class _PgcReviewPostPanelState extends State<PgcReviewPostPanel> {
|
|||||||
),
|
),
|
||||||
const SizedBox(width: 12),
|
const SizedBox(width: 12),
|
||||||
],
|
],
|
||||||
bottom: PreferredSize(
|
shape: Border(
|
||||||
preferredSize: const Size.fromHeight(1),
|
bottom: BorderSide(
|
||||||
child: Divider(
|
|
||||||
height: 1,
|
|
||||||
color: theme.colorScheme.outline.withValues(alpha: 0.1),
|
color: theme.colorScheme.outline.withValues(alpha: 0.1),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -95,11 +95,9 @@ class _SearchTrendingPageState extends State<SearchTrendingPage> {
|
|||||||
statusBarBrightness: Brightness.dark,
|
statusBarBrightness: Brightness.dark,
|
||||||
statusBarIconBrightness: Brightness.light,
|
statusBarIconBrightness: Brightness.light,
|
||||||
),
|
),
|
||||||
bottom: scrollRatio == 1
|
shape: scrollRatio == 1
|
||||||
? PreferredSize(
|
? Border(
|
||||||
preferredSize: const Size.fromHeight(1),
|
bottom: BorderSide(
|
||||||
child: Divider(
|
|
||||||
height: 1,
|
|
||||||
color: theme.colorScheme.outline.withValues(
|
color: theme.colorScheme.outline.withValues(
|
||||||
alpha: 0.1,
|
alpha: 0.1,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ class _MediaListPanelState
|
|||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
AppBar(
|
AppBar(
|
||||||
|
primary: false,
|
||||||
toolbarHeight: 45,
|
toolbarHeight: 45,
|
||||||
automaticallyImplyLeading: false,
|
automaticallyImplyLeading: false,
|
||||||
titleSpacing: 16,
|
titleSpacing: 16,
|
||||||
@@ -95,10 +96,11 @@ class _MediaListPanelState
|
|||||||
),
|
),
|
||||||
const SizedBox(width: 14),
|
const SizedBox(width: 14),
|
||||||
],
|
],
|
||||||
),
|
shape: Border(
|
||||||
Divider(
|
bottom: BorderSide(
|
||||||
height: 1,
|
color: theme.colorScheme.outline.withValues(alpha: 0.1),
|
||||||
color: theme.colorScheme.outline.withValues(alpha: 0.1),
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: enableSlide ? slideList(theme) : buildList(theme),
|
child: enableSlide ? slideList(theme) : buildList(theme),
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ class _NoteListPageState extends CommonSlidePageState<NoteListPage> {
|
|||||||
SizedBox(
|
SizedBox(
|
||||||
height: 45,
|
height: 45,
|
||||||
child: AppBar(
|
child: AppBar(
|
||||||
|
primary: false,
|
||||||
automaticallyImplyLeading: false,
|
automaticallyImplyLeading: false,
|
||||||
titleSpacing: 16,
|
titleSpacing: 16,
|
||||||
toolbarHeight: 45,
|
toolbarHeight: 45,
|
||||||
@@ -68,10 +69,8 @@ class _NoteListPageState extends CommonSlidePageState<NoteListPage> {
|
|||||||
final count = _controller.count.value;
|
final count = _controller.count.value;
|
||||||
return Text('笔记${count == -1 ? '' : '($count)'}');
|
return Text('笔记${count == -1 ? '' : '($count)'}');
|
||||||
}),
|
}),
|
||||||
bottom: PreferredSize(
|
shape: Border(
|
||||||
preferredSize: const Size.fromHeight(1),
|
bottom: BorderSide(
|
||||||
child: Divider(
|
|
||||||
height: 1,
|
|
||||||
color: theme.colorScheme.outline.withValues(alpha: 0.1),
|
color: theme.colorScheme.outline.withValues(alpha: 0.1),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -64,11 +64,14 @@ class _PostPanelState extends CommonCollapseSlidePageState<PostPanel> {
|
|||||||
return Scaffold(
|
return Scaffold(
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
|
primary: false,
|
||||||
|
toolbarHeight: 45,
|
||||||
automaticallyImplyLeading: false,
|
automaticallyImplyLeading: false,
|
||||||
titleSpacing: 16,
|
titleSpacing: 16,
|
||||||
title: const Text('提交片段'),
|
title: const Text('提交片段'),
|
||||||
actions: [
|
actions: [
|
||||||
iconButton(
|
iconButton(
|
||||||
|
size: 32,
|
||||||
context: context,
|
context: context,
|
||||||
tooltip: '添加片段',
|
tooltip: '添加片段',
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
@@ -90,6 +93,7 @@ class _PostPanelState extends CommonCollapseSlidePageState<PostPanel> {
|
|||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
const SizedBox(width: 10),
|
||||||
iconButton(
|
iconButton(
|
||||||
|
size: 32,
|
||||||
context: context,
|
context: context,
|
||||||
tooltip: '关闭',
|
tooltip: '关闭',
|
||||||
onPressed: Get.back,
|
onPressed: Get.back,
|
||||||
|
|||||||
@@ -101,13 +101,14 @@ class _VideoReplyReplyPanelState
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget buildPage(ThemeData theme) {
|
Widget buildPage(ThemeData theme) {
|
||||||
|
Widget child() => enableSlide ? slideList(theme) : buildList(theme);
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
key: _key,
|
key: _key,
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
body: Column(
|
body: widget.isVideoDetail
|
||||||
children: [
|
? Column(
|
||||||
widget.isVideoDetail
|
children: [
|
||||||
? Container(
|
Container(
|
||||||
height: 45,
|
height: 45,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
border: Border(
|
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(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ class _ViewPointsPageState
|
|||||||
return Scaffold(
|
return Scaffold(
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
|
primary: false,
|
||||||
automaticallyImplyLeading: false,
|
automaticallyImplyLeading: false,
|
||||||
titleSpacing: 16,
|
titleSpacing: 16,
|
||||||
title: const Text('分段信息'),
|
title: const Text('分段信息'),
|
||||||
@@ -82,11 +83,9 @@ class _ViewPointsPageState
|
|||||||
),
|
),
|
||||||
const SizedBox(width: 16),
|
const SizedBox(width: 16),
|
||||||
],
|
],
|
||||||
bottom: PreferredSize(
|
shape: Border(
|
||||||
preferredSize: const Size.fromHeight(1),
|
bottom: BorderSide(
|
||||||
child: Divider(
|
color: theme.colorScheme.outline.withValues(alpha: 0.1),
|
||||||
height: 1,
|
|
||||||
color: theme.dividerColor.withValues(alpha: 0.1),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user