opt: 转载视频标识

This commit is contained in:
guozhigq
2024-12-03 23:29:41 +08:00
parent 5693c9beda
commit 7a1d540408
2 changed files with 27 additions and 20 deletions

View File

@ -8,6 +8,7 @@ import 'package:flutter/material.dart';
import 'package:hive/hive.dart';
import 'package:pilipala/common/constants.dart';
import 'package:pilipala/common/skeleton/video_intro.dart';
import 'package:pilipala/common/widgets/badge.dart';
import 'package:pilipala/common/widgets/http_error.dart';
import 'package:pilipala/pages/video/detail/index.dart';
import 'package:pilipala/common/widgets/network_img_layer.dart';
@ -264,6 +265,26 @@ class _VideoInfoState extends State<VideoInfo> with TickerProviderStateMixin {
Widget build(BuildContext context) {
final ThemeData t = Theme.of(context);
final Color outline = t.colorScheme.outline;
const TextStyle titleStyle = TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
);
TextSpan titltWidget = TextSpan(
children: [
WidgetSpan(
child: Visibility(
visible: widget.videoDetail!.copyright == 2,
child: const PBadge(text: '转载', type: 'color'),
),
),
const TextSpan(text: ' '),
TextSpan(
text: widget.videoDetail!.title!,
style: titleStyle,
),
],
);
return SliverPadding(
padding: const EdgeInsets.only(
left: StyleString.safeSpace,
@ -285,25 +306,8 @@ class _VideoInfoState extends State<VideoInfo> with TickerProviderStateMixin {
},
child: ExpandablePanel(
controller: _expandableCtr,
collapsed: Text(
widget.videoDetail!.title!,
softWrap: true,
maxLines: 2,
overflow: TextOverflow.ellipsis,
style: const TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
),
),
expanded: Text(
widget.videoDetail!.title!,
softWrap: true,
maxLines: 10,
style: const TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
),
),
collapsed: Text.rich(softWrap: true, maxLines: 2, titltWidget),
expanded: Text.rich(softWrap: true, maxLines: 10, titltWidget),
theme: const ExpandableThemeData(
animationDuration: Duration(milliseconds: 300),
scrollAnimationDuration: Duration(milliseconds: 300),