feat: new img grid view

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-09-02 11:05:42 +08:00
parent 3cbfd158e1
commit e6af0ef15b
9 changed files with 755 additions and 815 deletions

View File

@@ -1,6 +1,6 @@
import 'dart:math';
import 'package:PiliPlus/common/widgets/image/image_view.dart';
import 'package:PiliPlus/common/widgets/image/custom_grid_view.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
import 'package:PiliPlus/http/constants.dart';
import 'package:PiliPlus/models/common/image_preview_type.dart';
@@ -207,9 +207,9 @@ class OpusContent extends StatelessWidget {
),
);
} else {
return imageView(
maxWidth,
element.pic!.pics!
return CustomGridView(
maxWidth: maxWidth,
picArr: element.pic!.pics!
.map(
(e) => ImageModel(
width: e.width,

View File

@@ -1,6 +1,6 @@
// 内容
import 'package:PiliPlus/common/widgets/custom_icon.dart';
import 'package:PiliPlus/common/widgets/image/image_view.dart';
import 'package:PiliPlus/common/widgets/image/custom_grid_view.dart';
import 'package:PiliPlus/common/widgets/text/text.dart' as custom_text;
import 'package:PiliPlus/models/dynamics/result.dart';
import 'package:PiliPlus/pages/dynamics/widgets/rich_node_panel.dart';
@@ -80,9 +80,9 @@ Widget content(
maxLines: isSave ? null : 6,
),
if (item.modules.moduleDynamic?.major?.opus?.pics?.isNotEmpty == true)
imageView(
maxWidth,
item.modules.moduleDynamic!.major!.opus!.pics!
CustomGridView(
maxWidth: maxWidth,
picArr: item.modules.moduleDynamic!.major!.opus!.pics!
.map(
(item) => ImageModel(
width: item.width,

View File

@@ -1,6 +1,6 @@
import 'dart:io' show Platform;
import 'package:PiliPlus/common/widgets/image/image_view.dart';
import 'package:PiliPlus/common/widgets/image/custom_grid_view.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
import 'package:PiliPlus/http/dynamics.dart';
import 'package:PiliPlus/http/search.dart';
@@ -247,9 +247,9 @@ TextSpan? richNode(
..add(const TextSpan(text: '\n'))
..add(
WidgetSpan(
child: imageView(
maxWidth,
i.pics!
child: CustomGridView(
maxWidth: maxWidth,
picArr: i.pics!
.map(
(item) => ImageModel(
url: item.src ?? '',

View File

@@ -1,7 +1,8 @@
import 'dart:io';
import 'dart:math' show pi, max;
import 'package:PiliPlus/common/widgets/image/image_view.dart';
import 'package:PiliPlus/common/widgets/image/custom_grid_view.dart'
show ImageModel;
import 'package:PiliPlus/common/widgets/pendant_avatar.dart';
import 'package:PiliPlus/common/widgets/radio_widget.dart';
import 'package:PiliPlus/common/widgets/refresh_indicator.dart';
@@ -510,9 +511,7 @@ List<SettingsModel> get extraSettings => [
leading: const Icon(Icons.image_outlined),
setKey: SettingBoxKey.enableLivePhoto,
defaultVal: true,
onChanged: (value) {
ImageModel.enableLivePhoto = value;
},
onChanged: (value) => ImageModel.enableLivePhoto = value,
),
const SettingsModel(
settingsType: SettingsType.sw1tch,

View File

@@ -3,7 +3,7 @@ import 'dart:math';
import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/widgets/badge.dart';
import 'package:PiliPlus/common/widgets/dialog/report.dart';
import 'package:PiliPlus/common/widgets/image/image_view.dart';
import 'package:PiliPlus/common/widgets/image/custom_grid_view.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
import 'package:PiliPlus/common/widgets/pendant_avatar.dart';
import 'package:PiliPlus/common/widgets/text/text.dart' as custom_text;
@@ -299,9 +299,9 @@ class ReplyItemGrpc extends StatelessWidget {
Padding(
padding: padding,
child: LayoutBuilder(
builder: (context, constraints) => imageView(
constraints.maxWidth,
replyItem.content.pictures
builder: (context, constraints) => CustomGridView(
maxWidth: constraints.maxWidth,
picArr: replyItem.content.pictures
.map(
(item) => ImageModel(
width: item.imgWidth,