mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-21 00:28:38 +00:00
@@ -207,9 +207,9 @@ class _RepostPanelState extends CommonRichTextPubPageState<RepostPanel> {
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
setState(() => _isMax = true);
|
setState(() => _isMax = true);
|
||||||
Future.delayed(const Duration(milliseconds: 300), () {
|
Future.delayed(const Duration(milliseconds: 300), () {
|
||||||
_isExpanded = true;
|
|
||||||
if (mounted) {
|
if (mounted) {
|
||||||
focusNode.requestFocus();
|
focusNode.requestFocus();
|
||||||
|
setState(() => _isExpanded = true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ class _MemberPageState extends State<MemberPage> {
|
|||||||
),
|
),
|
||||||
PopupMenuButton(
|
PopupMenuButton(
|
||||||
icon: const Icon(Icons.more_vert),
|
icon: const Icon(Icons.more_vert),
|
||||||
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
|
itemBuilder: (_) => <PopupMenuEntry>[
|
||||||
if (_userController.account.isLogin &&
|
if (_userController.account.isLogin &&
|
||||||
_userController.account.mid != _mid) ...[
|
_userController.account.mid != _mid) ...[
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import 'dart:async';
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:PiliPlus/common/constants.dart';
|
import 'package:PiliPlus/common/constants.dart';
|
||||||
|
import 'package:PiliPlus/common/widgets/button/icon_button.dart';
|
||||||
import 'package:PiliPlus/common/widgets/loading_widget/loading_widget.dart';
|
import 'package:PiliPlus/common/widgets/loading_widget/loading_widget.dart';
|
||||||
import 'package:PiliPlus/services/logger.dart';
|
import 'package:PiliPlus/services/logger.dart';
|
||||||
import 'package:PiliPlus/utils/date_utils.dart';
|
import 'package:PiliPlus/utils/date_utils.dart';
|
||||||
@@ -213,7 +214,7 @@ class InfoCard extends StatelessWidget {
|
|||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: color,
|
color: color,
|
||||||
fontSize: 16,
|
fontSize: 15,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
...map.entries.map(
|
...map.entries.map(
|
||||||
@@ -252,17 +253,15 @@ class InfoCard extends StatelessWidget {
|
|||||||
'相关信息',
|
'相关信息',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
fontSize: 16,
|
fontSize: 15,
|
||||||
),
|
),
|
||||||
maxLines: 1,
|
maxLines: 1,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
IconButton(
|
iconButton(
|
||||||
style: IconButton.styleFrom(
|
size: 34,
|
||||||
tapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
iconSize: 22,
|
||||||
visualDensity: VisualDensity.compact,
|
|
||||||
),
|
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
report.isExpanded ? Icons.expand_less : Icons.expand_more,
|
report.isExpanded ? Icons.expand_less : Icons.expand_more,
|
||||||
),
|
),
|
||||||
@@ -306,26 +305,36 @@ class ReportCard extends StatelessWidget {
|
|||||||
final dateTime = DateFormatUtils.longFormatDs.format(report.dateTime);
|
final dateTime = DateFormatUtils.longFormatDs.format(report.dateTime);
|
||||||
return _card([
|
return _card([
|
||||||
Row(
|
Row(
|
||||||
|
crossAxisAlignment: .start,
|
||||||
children: [
|
children: [
|
||||||
Icon(Icons.error_outline, color: colorScheme.error, size: 22),
|
|
||||||
const SizedBox(width: 8),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Column(
|
||||||
report.error.toString(),
|
spacing: 6,
|
||||||
style: const TextStyle(
|
crossAxisAlignment: .start,
|
||||||
fontWeight: FontWeight.bold,
|
children: [
|
||||||
fontSize: 16,
|
Text(
|
||||||
),
|
report.error.toString(),
|
||||||
maxLines: 1,
|
style: const TextStyle(
|
||||||
overflow: TextOverflow.ellipsis,
|
fontWeight: FontWeight.bold,
|
||||||
|
fontSize: 15,
|
||||||
|
),
|
||||||
|
maxLines: 2,
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
dateTime,
|
||||||
|
style: TextStyle(
|
||||||
|
height: 1.2,
|
||||||
|
color: colorScheme.outline,
|
||||||
|
fontSize: 13,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
TextButton.icon(
|
iconButton(
|
||||||
style: TextButton.styleFrom(
|
size: 34,
|
||||||
tapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
iconSize: 22,
|
||||||
visualDensity: VisualDensity.compact,
|
|
||||||
foregroundColor: colorScheme.secondary,
|
|
||||||
),
|
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Utils.copyText('```\n$report```', needToast: false);
|
Utils.copyText('```\n$report```', needToast: false);
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
@@ -336,13 +345,10 @@ class ReportCard extends StatelessWidget {
|
|||||||
Icons.copy_outlined,
|
Icons.copy_outlined,
|
||||||
size: 16,
|
size: 16,
|
||||||
),
|
),
|
||||||
label: const Text('复制'),
|
|
||||||
),
|
),
|
||||||
IconButton(
|
iconButton(
|
||||||
style: IconButton.styleFrom(
|
size: 34,
|
||||||
tapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
iconSize: 22,
|
||||||
visualDensity: VisualDensity.compact,
|
|
||||||
),
|
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
report.isExpanded ? Icons.expand_less : Icons.expand_more,
|
report.isExpanded ? Icons.expand_less : Icons.expand_more,
|
||||||
),
|
),
|
||||||
@@ -353,24 +359,6 @@ class ReportCard extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
const SizedBox(height: 8),
|
|
||||||
Row(
|
|
||||||
spacing: 4,
|
|
||||||
children: [
|
|
||||||
Icon(
|
|
||||||
Icons.access_time,
|
|
||||||
size: 16,
|
|
||||||
color: colorScheme.outline,
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
dateTime,
|
|
||||||
style: TextStyle(
|
|
||||||
height: 1.2,
|
|
||||||
color: colorScheme.outline,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
if (report.isExpanded) ...[
|
if (report.isExpanded) ...[
|
||||||
const SizedBox(height: 16),
|
const SizedBox(height: 16),
|
||||||
Text(
|
Text(
|
||||||
@@ -378,7 +366,7 @@ class ReportCard extends StatelessWidget {
|
|||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.error,
|
color: colorScheme.error,
|
||||||
fontSize: 16,
|
fontSize: 15,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 8),
|
const SizedBox(height: 8),
|
||||||
@@ -407,7 +395,7 @@ class ReportCard extends StatelessWidget {
|
|||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: colorScheme.error,
|
color: colorScheme.error,
|
||||||
fontSize: 16,
|
fontSize: 15,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 8),
|
const SizedBox(height: 8),
|
||||||
|
|||||||
@@ -1013,7 +1013,7 @@ class _UgcIntroPanelState extends State<UgcIntroPanel> {
|
|||||||
(item) => SearchText(
|
(item) => SearchText(
|
||||||
fontSize: 13,
|
fontSize: 13,
|
||||||
text: switch (item.tagType) {
|
text: switch (item.tagType) {
|
||||||
'bgm' => item.tagName!.replaceFirst('发现', '\u{1f3b5}BGM:'),
|
'bgm' => item.tagName!.replaceFirst('发现', '♫ BGM:'),
|
||||||
'topic' => '#${item.tagName}',
|
'topic' => '#${item.tagName}',
|
||||||
_ => item.tagName!,
|
_ => item.tagName!,
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user