feat: custom reply length limit

Closes #55

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-12-26 20:46:00 +08:00
parent 79da08b285
commit 81a23ea59d
5 changed files with 82 additions and 16 deletions

View File

@@ -3,6 +3,7 @@ import 'dart:math';
import 'package:PiliPalaX/common/widgets/imageview.dart';
import 'package:PiliPalaX/http/video.dart';
import 'package:PiliPalaX/utils/extension.dart';
import 'package:PiliPalaX/utils/global_data.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@@ -256,8 +257,11 @@ class ReplyItem extends StatelessWidget {
String text = replyItem?.content?.message ?? '';
var textPainter = TextPainter(
text: TextSpan(text: text),
maxLines:
replyItem!.content!.isText! && replyLevel == '1' ? 6 : 999,
maxLines: replyItem!.content!.isText! &&
replyLevel == '1' &&
GlobalData().replyLengthLimit != 0
? GlobalData().replyLengthLimit
: null,
textDirection: Directionality.of(context),
)..layout(maxWidth: constraints.maxWidth);
bool didExceedMaxLines = textPainter.didExceedMaxLines;

View File

@@ -6,6 +6,7 @@ import 'package:PiliPalaX/grpc/app/main/community/reply/v1/reply.pb.dart';
import 'package:PiliPalaX/http/video.dart';
import 'package:PiliPalaX/pages/video/detail/reply/widgets/zan_grpc.dart';
import 'package:PiliPalaX/utils/extension.dart';
import 'package:PiliPalaX/utils/global_data.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@@ -268,7 +269,10 @@ class ReplyItemGrpc extends StatelessWidget {
);
var textPainter = TextPainter(
text: TextSpan(text: text, style: style),
maxLines: replyLevel == '1' ? 6 : null,
maxLines:
replyLevel == '1' && GlobalData().replyLengthLimit != 0
? GlobalData().replyLengthLimit
: null,
textDirection: Directionality.of(context),
)..layout(maxWidth: constraints.maxWidth);
bool didExceedMaxLines = textPainter.didExceedMaxLines;