mirror of
https://github.com/immich-app/immich.git
synced 2024-12-31 00:43:56 -05:00
feat(mobile): Modified draggable area of detail modal (#14953)
Modified draggable area of detail modal
This commit is contained in:
parent
2be1cb7de2
commit
2255f3e966
3 changed files with 33 additions and 14 deletions
|
@ -127,18 +127,29 @@ class GalleryViewerPage extends HookConsumerWidget {
|
|||
context: context,
|
||||
useSafeArea: true,
|
||||
builder: (context) {
|
||||
return FractionallySizedBox(
|
||||
heightFactor: 0.75,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(
|
||||
bottom: context.viewInsets.bottom,
|
||||
),
|
||||
child: ref
|
||||
.watch(appSettingsServiceProvider)
|
||||
.getSetting<bool>(AppSettingsEnum.advancedTroubleshooting)
|
||||
? AdvancedBottomSheet(assetDetail: asset)
|
||||
: DetailPanel(asset: asset),
|
||||
),
|
||||
return DraggableScrollableSheet(
|
||||
minChildSize: 0.5,
|
||||
maxChildSize: 1,
|
||||
initialChildSize: 0.75,
|
||||
expand: false,
|
||||
builder: (context, scrollController) {
|
||||
return Padding(
|
||||
padding: EdgeInsets.only(
|
||||
bottom: context.viewInsets.bottom,
|
||||
),
|
||||
child: ref.watch(appSettingsServiceProvider).getSetting<bool>(
|
||||
AppSettingsEnum.advancedTroubleshooting,
|
||||
)
|
||||
? AdvancedBottomSheet(
|
||||
assetDetail: asset,
|
||||
scrollController: scrollController,
|
||||
)
|
||||
: DetailPanel(
|
||||
asset: asset,
|
||||
scrollController: scrollController,
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
);
|
||||
|
|
|
@ -6,12 +6,18 @@ import 'package:immich_mobile/entities/asset.entity.dart';
|
|||
|
||||
class AdvancedBottomSheet extends HookConsumerWidget {
|
||||
final Asset assetDetail;
|
||||
final ScrollController? scrollController;
|
||||
|
||||
const AdvancedBottomSheet({super.key, required this.assetDetail});
|
||||
const AdvancedBottomSheet({
|
||||
super.key,
|
||||
required this.assetDetail,
|
||||
this.scrollController,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
return SingleChildScrollView(
|
||||
controller: scrollController,
|
||||
child: Container(
|
||||
margin: const EdgeInsets.symmetric(horizontal: 8.0),
|
||||
child: LayoutBuilder(
|
||||
|
|
|
@ -9,12 +9,14 @@ import 'package:immich_mobile/entities/asset.entity.dart';
|
|||
|
||||
class DetailPanel extends HookConsumerWidget {
|
||||
final Asset asset;
|
||||
final ScrollController? scrollController;
|
||||
|
||||
const DetailPanel({super.key, required this.asset});
|
||||
const DetailPanel({super.key, required this.asset, this.scrollController});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
return ListView(
|
||||
controller: scrollController,
|
||||
shrinkWrap: true,
|
||||
children: [
|
||||
Padding(
|
||||
|
|
Loading…
Reference in a new issue