refa intro panel gesture

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-07-12 08:43:11 +08:00
parent bcd8bc7366
commit 77153c153a
8 changed files with 491 additions and 376 deletions

View File

@@ -24,6 +24,7 @@ import 'package:PiliPlus/pages/member_guard/view.dart';
import 'package:PiliPlus/pages/member_upower_rank/view.dart';
import 'package:PiliPlus/utils/accounts.dart';
import 'package:PiliPlus/utils/app_scheme.dart';
import 'package:PiliPlus/utils/bili_colors.dart';
import 'package:PiliPlus/utils/bili_utils.dart';
import 'package:PiliPlus/utils/color_utils.dart';
import 'package:PiliPlus/utils/extension/context_ext.dart';
@@ -278,13 +279,17 @@ class UserInfoCard extends StatelessWidget {
shape: .circle,
color: colorScheme.surface,
),
child: Icon(
Icons.offline_bolt,
color: card.officialVerify?.type == 0
? const Color(0xFFFFCC00)
: Colors.lightBlueAccent,
size: 18,
),
child: card.officialVerify?.type == 0
? const Icon(
Icons.offline_bolt,
color: BiliColors.yellow,
size: 18,
)
: const Icon(
Icons.offline_bolt,
color: Colors.lightBlueAccent,
size: 18,
),
),
),
const TextSpan(text: ' '),

View File

@@ -10,6 +10,7 @@ import 'package:PiliPlus/common/widgets/stat/stat.dart';
import 'package:PiliPlus/models/common/image_preview_type.dart';
import 'package:PiliPlus/models/common/image_type.dart';
import 'package:PiliPlus/models_new/pgc/pgc_info_model/result.dart';
import 'package:PiliPlus/models_new/pgc/pgc_info_model/stat.dart';
import 'package:PiliPlus/pages/video/controller.dart';
import 'package:PiliPlus/pages/video/introduction/pgc/controller.dart';
import 'package:PiliPlus/pages/video/introduction/pgc/widgets/pgc_panel.dart';
@@ -76,7 +77,7 @@ class _PgcIntroPageState extends State<PgcIntroPage> {
),
const SizedBox(height: 6),
// 点赞收藏转发 布局样式2
if (introController.isPgc) actionGrid(item, introController),
if (introController.isPgc) actionGrid(item.stat!, introController),
// 番剧分集
if (item.episodes?.isNotEmpty == true)
PgcPanel(
@@ -383,10 +384,7 @@ class _PgcIntroPageState extends State<PgcIntroPage> {
);
}
Widget actionGrid(
PgcInfoModel item,
PgcIntroController introController,
) {
Widget actionGrid(PgcStat stat, PgcIntroController introController) {
return SizedBox(
height: 48,
child: Row(
@@ -399,7 +397,7 @@ class _PgcIntroPageState extends State<PgcIntroPage> {
selectIcon: const Icon(FontAwesomeIcons.solidThumbsUp),
selectStatus: introController.hasLike.value,
semanticsLabel: '点赞',
text: NumUtils.numFormat(item.stat!.like),
text: NumUtils.numFormat(stat.like),
onStartTriple: introController.onStartTriple,
onCancelTriple: introController.onCancelTriple,
),
@@ -412,7 +410,7 @@ class _PgcIntroPageState extends State<PgcIntroPage> {
onTap: introController.actionCoinVideo,
selectStatus: introController.hasCoin,
semanticsLabel: '投币',
text: NumUtils.numFormat(item.stat!.coin),
text: NumUtils.numFormat(stat.coin),
),
),
Obx(
@@ -427,7 +425,7 @@ class _PgcIntroPageState extends State<PgcIntroPage> {
),
selectStatus: introController.hasFav.value,
semanticsLabel: '收藏',
text: NumUtils.numFormat(item.stat!.favorite),
text: NumUtils.numFormat(stat.favorite),
),
),
Obx(
@@ -446,7 +444,7 @@ class _PgcIntroPageState extends State<PgcIntroPage> {
onTap: () => introController.actionShareVideo(context),
selectStatus: false,
semanticsLabel: '转发',
text: NumUtils.numFormat(item.stat!.share),
text: NumUtils.numFormat(stat.share),
),
],
),

File diff suppressed because it is too large Load Diff