improve Dyn/Topic DraggableScrollableSheet

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-04-21 13:23:44 +08:00
parent dd5ccd11b8
commit d7b4ceabbf
9 changed files with 183 additions and 1285 deletions

View File

@@ -42,11 +42,7 @@ class _DynamicsPageState extends CommonPageState<DynamicsPage>
theme.colorScheme.secondaryContainer,
),
),
onPressed: () {
if (_dynamicsController.accountService.isLogin.value) {
CreateDynPanel.onCreateDyn(context);
}
},
onPressed: () => CreateDynPanel.onCreateDyn(context),
icon: Icon(
Icons.add,
size: 18,

View File

@@ -4,8 +4,7 @@ import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/common/widgets/button/icon_button.dart';
import 'package:PiliPlus/common/widgets/button/toolbar_icon_button.dart';
import 'package:PiliPlus/common/widgets/custom_icon.dart';
import 'package:PiliPlus/common/widgets/flutter/draggable_sheet/draggable_scrollable_sheet_dyn.dart'
as dyn_sheet;
import 'package:PiliPlus/common/widgets/flutter/draggable_scrollable_sheet.dart';
import 'package:PiliPlus/common/widgets/flutter/text_field/controller.dart';
import 'package:PiliPlus/common/widgets/flutter/text_field/text_field.dart';
import 'package:PiliPlus/common/widgets/pair.dart';
@@ -32,8 +31,7 @@ import 'package:PiliPlus/utils/extension/context_ext.dart';
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
import 'package:PiliPlus/utils/grid.dart';
import 'package:PiliPlus/utils/request_utils.dart';
import 'package:flutter/material.dart'
hide DraggableScrollableSheet, showTimePicker;
import 'package:flutter/material.dart' hide showTimePicker;
import 'package:flutter/services.dart' show LengthLimitingTextInputFormatter;
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
@@ -78,7 +76,7 @@ class CreateDynPanel extends CommonRichTextPubPage {
context: context,
useSafeArea: true,
isScrollControlled: true,
builder: (context) => dyn_sheet.DraggableScrollableSheet(
builder: (context) => DynDraggableScrollableSheet(
snap: true,
expand: false,
initialChildSize: 1,

View File

@@ -1,8 +1,7 @@
import 'dart:async';
import 'dart:math';
import 'package:PiliPlus/common/widgets/flutter/draggable_sheet/draggable_scrollable_sheet_topic.dart'
as topic_sheet;
import 'package:PiliPlus/common/widgets/flutter/draggable_scrollable_sheet.dart';
import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart';
import 'package:PiliPlus/common/widgets/loading_widget/loading_widget.dart';
import 'package:PiliPlus/common/widgets/sliver/sliver_pinned_header.dart';
@@ -39,7 +38,7 @@ class DynMentionPanel extends StatefulWidget {
constraints: BoxConstraints(
maxWidth: min(600, context.mediaQueryShortestSide),
),
builder: (context) => topic_sheet.DraggableScrollableSheet(
builder: (context) => TopicDraggableScrollableSheet(
expand: false,
snap: true,
minChildSize: 0,

View File

@@ -1,5 +1,4 @@
import 'package:PiliPlus/common/widgets/flutter/draggable_sheet/draggable_scrollable_sheet_dyn.dart'
show DraggableScrollableSheet;
import 'package:PiliPlus/common/widgets/flutter/draggable_scrollable_sheet.dart';
import 'package:PiliPlus/common/widgets/flutter/text_field/text_field.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
import 'package:PiliPlus/http/dynamics.dart';
@@ -12,7 +11,7 @@ import 'package:PiliPlus/pages/emote/controller.dart';
import 'package:PiliPlus/pages/emote/view.dart';
import 'package:PiliPlus/utils/accounts.dart';
import 'package:PiliPlus/utils/request_utils.dart';
import 'package:flutter/material.dart' hide DraggableScrollableSheet, TextField;
import 'package:flutter/material.dart' hide TextField;
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
@@ -117,7 +116,7 @@ class _RepostPanelState extends CommonRichTextPubPageState<RepostPanel> {
);
Widget child() => _isMax
? DraggableScrollableSheet(
? DynDraggableScrollableSheet(
snap: true,
expand: false,
initialChildSize: 1,

View File

@@ -1,8 +1,7 @@
import 'dart:async';
import 'dart:math';
import 'package:PiliPlus/common/widgets/flutter/draggable_sheet/draggable_scrollable_sheet_topic.dart'
as topic_sheet;
import 'package:PiliPlus/common/widgets/flutter/draggable_scrollable_sheet.dart';
import 'package:PiliPlus/common/widgets/loading_widget/loading_widget.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models_new/dynamic/dyn_topic_top/topic_item.dart';
@@ -36,7 +35,7 @@ class SelectTopicPanel extends StatefulWidget {
constraints: BoxConstraints(
maxWidth: min(600, context.mediaQueryShortestSide),
),
builder: (context) => topic_sheet.DraggableScrollableSheet(
builder: (context) => TopicDraggableScrollableSheet(
expand: false,
snap: true,
minChildSize: 0,