mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-29 12:38:34 +00:00
opt: image preview
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -1,9 +1,6 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:PiliPalaX/common/widgets/network_img_layer.dart';
|
||||
import 'package:PiliPalaX/models/space/card.dart' as space;
|
||||
import 'package:PiliPalaX/models/space/images.dart' as space;
|
||||
import 'package:PiliPalaX/pages/preview/view.dart';
|
||||
import 'package:PiliPalaX/utils/extension.dart';
|
||||
import 'package:PiliPalaX/utils/storage.dart';
|
||||
import 'package:PiliPalaX/utils/utils.dart';
|
||||
@@ -74,16 +71,19 @@ class UserInfoCard extends StatelessWidget {
|
||||
: images.imgUrl?.http2https;
|
||||
return GestureDetector(
|
||||
onTap: () {
|
||||
showDialog(
|
||||
useSafeArea: false,
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return ImagePreview(
|
||||
initialPage: 0,
|
||||
imgList: [imgUrl ?? ''],
|
||||
);
|
||||
},
|
||||
context.imageView(
|
||||
imgList: [imgUrl ?? ''],
|
||||
);
|
||||
// showDialog(
|
||||
// useSafeArea: false,
|
||||
// context: context,
|
||||
// builder: (context) {
|
||||
// return ImagePreview(
|
||||
// initialPage: 0,
|
||||
// imgList: [imgUrl ?? ''],
|
||||
// );
|
||||
// },
|
||||
// );
|
||||
},
|
||||
child: CachedNetworkImage(
|
||||
imageUrl: imgUrl ?? '',
|
||||
@@ -418,16 +418,19 @@ class UserInfoCard extends StatelessWidget {
|
||||
|
||||
_buildAvatar(BuildContext context) => GestureDetector(
|
||||
onTap: () {
|
||||
showDialog(
|
||||
useSafeArea: false,
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return ImagePreview(
|
||||
initialPage: 0,
|
||||
imgList: [card.face ?? ''],
|
||||
);
|
||||
},
|
||||
context.imageView(
|
||||
imgList: [card.face ?? ''],
|
||||
);
|
||||
// showDialog(
|
||||
// useSafeArea: false,
|
||||
// context: context,
|
||||
// builder: (context) {
|
||||
// return ImagePreview(
|
||||
// initialPage: 0,
|
||||
// imgList: [card.face ?? ''],
|
||||
// );
|
||||
// },
|
||||
// );
|
||||
},
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:PiliPalaX/pages/preview/view.dart';
|
||||
import 'package:PiliPalaX/utils/extension.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:PiliPalaX/common/widgets/network_img_layer.dart';
|
||||
@@ -27,15 +27,20 @@ class ProfilePanel extends StatelessWidget {
|
||||
child: Stack(
|
||||
children: [
|
||||
GestureDetector(
|
||||
onTap: () => showDialog(
|
||||
useSafeArea: false,
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return ImagePreview(initialPage: 0, imgList: [
|
||||
!loadingStatus ? memberInfo.face : ctr.face.value
|
||||
]);
|
||||
},
|
||||
onTap: () => context.imageView(
|
||||
imgList: [
|
||||
!loadingStatus ? memberInfo.face : ctr.face.value
|
||||
],
|
||||
),
|
||||
// showDialog(
|
||||
// useSafeArea: false,
|
||||
// context: context,
|
||||
// builder: (context) {
|
||||
// return ImagePreview(initialPage: 0, imgList: [
|
||||
// !loadingStatus ? memberInfo.face : ctr.face.value
|
||||
// ]);
|
||||
// },
|
||||
// ),
|
||||
child: NetworkImgLayer(
|
||||
width: 90,
|
||||
height: 90,
|
||||
|
||||
@@ -16,12 +16,12 @@ import 'package:status_bar_control/status_bar_control.dart';
|
||||
typedef DoubleClickAnimationListener = void Function();
|
||||
|
||||
class ImagePreview extends StatefulWidget {
|
||||
final int initialPage;
|
||||
final List<String> imgList;
|
||||
final int? initialPage;
|
||||
final List<String>? imgList;
|
||||
const ImagePreview({
|
||||
super.key,
|
||||
required this.initialPage,
|
||||
required this.imgList,
|
||||
this.initialPage,
|
||||
this.imgList,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -44,16 +44,22 @@ class _ImagePreviewState extends State<ImagePreview>
|
||||
void initState() {
|
||||
super.initState();
|
||||
|
||||
_imgList = widget.imgList.map((url) => url.http2https).toList();
|
||||
_imgList = widget.imgList?.map((url) => url.http2https).toList() ??
|
||||
(Get.arguments['imgList'] as List<String>)
|
||||
.map((url) => url.http2https)
|
||||
.toList();
|
||||
_thumbList = List.generate(_imgList.length, (_) => true);
|
||||
|
||||
_quality =
|
||||
GStorage.setting.get(SettingBoxKey.previewQuality, defaultValue: 80);
|
||||
|
||||
_previewController.initialPage.value = widget.initialPage;
|
||||
_previewController.currentPage.value = widget.initialPage + 1;
|
||||
_previewController.initialPage.value =
|
||||
widget.initialPage ?? Get.arguments['initialPage'];
|
||||
_previewController.currentPage.value =
|
||||
(widget.initialPage ?? Get.arguments['initialPage']) + 1;
|
||||
_previewController.imgList.value = _imgList;
|
||||
_previewController.currentImgUrl = _imgList[widget.initialPage];
|
||||
_previewController.currentImgUrl =
|
||||
_imgList[widget.initialPage ?? Get.arguments['initialPage']];
|
||||
// animationController = AnimationController(
|
||||
// vsync: this, duration: const Duration(milliseconds: 400));
|
||||
setStatusBar();
|
||||
|
||||
Reference in New Issue
Block a user