Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-11-11 09:31:26 +08:00
parent 0f06de0047
commit d66a42a0aa
5 changed files with 47 additions and 44 deletions

View File

@@ -1,5 +1,3 @@
import 'package:html/parser.dart' show parse;
abstract class Em {
static final _exp = RegExp('<[^>]*>([^<]*)</[^>]*>');
@@ -19,7 +17,13 @@ abstract class Em {
},
onNonMatch: (String str) {
if (str != '') {
str = decodeHtmlEntities(str);
str = str
.replaceAll('&lt;', '<')
.replaceAll('&gt;', '>')
.replaceAll('&quot;', '"')
.replaceAll('&apos;', "'")
.replaceAll('&nbsp;', " ")
.replaceAll('&amp;', "&");
res.add((isEm: false, text: str));
}
return '';
@@ -27,8 +31,4 @@ abstract class Em {
);
return res;
}
static String decodeHtmlEntities(String title) {
return parse(title).body?.text ?? title;
}
}

View File

@@ -654,25 +654,29 @@ abstract class PageUtils {
barrierLabel: '',
barrierDismissible: true,
pageBuilder: (buildContext, animation, secondaryAnimation) {
return Get.context!.isPortrait
? SafeArea(
child: Column(
children: [
const Spacer(flex: 3),
Expanded(flex: 7, child: child),
if (isFullScreen() && padding != null)
SizedBox(height: padding),
],
),
)
: SafeArea(
child: Row(
children: [
const Spacer(),
Expanded(child: child),
],
),
);
if (Get.context!.isPortrait) {
return SafeArea(
child: FractionallySizedBox(
heightFactor: 0.7,
widthFactor: 1.0,
alignment: Alignment.bottomCenter,
child: isFullScreen() && padding != null
? Padding(
padding: EdgeInsets.only(bottom: padding),
child: child,
)
: child,
),
);
}
return SafeArea(
child: FractionallySizedBox(
widthFactor: 0.5,
heightFactor: 1.0,
alignment: Alignment.centerRight,
child: child,
),
);
},
transitionDuration: const Duration(milliseconds: 350),
transitionBuilder: (context, animation, secondaryAnimation, child) {