show user medal

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-03-22 15:01:30 +08:00
parent fc7fc18b14
commit 2bebf200df
151 changed files with 1435 additions and 1321 deletions

View File

@@ -1,5 +1,5 @@
import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/skeleton/video_card_h.dart';
import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/common/widgets/video_card/video_card_h.dart';
import 'package:PiliPlus/models/search/result.dart';
import 'package:PiliPlus/pages/search_panel/all/controller.dart';
@@ -49,7 +49,7 @@ class _SearchAllPanelState
return SliverWaterfallFlow(
gridDelegate: SliverWaterfallFlowDelegateWithMaxCrossAxisExtent(
maxCrossAxisExtent: Grid.smallCardWidth * 2,
crossAxisSpacing: StyleString.safeSpace,
crossAxisSpacing: Style.safeSpace,
),
delegate: SliverChildBuilderDelegate(
(_, index) {
@@ -80,9 +80,9 @@ class _SearchAllPanelState
return Container(
width: Grid.smallCardWidth / 2,
margin: EdgeInsets.only(
left: StyleString.safeSpace,
left: Style.safeSpace,
right: index == e.length - 1
? StyleString.safeSpace
? Style.safeSpace
: 0,
),
child: PgcCardVSearch(item: e[index]),

View File

@@ -1,4 +1,4 @@
import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/common/widgets/badge.dart';
import 'package:PiliPlus/common/widgets/flutter/layout_builder.dart';
import 'package:PiliPlus/common/widgets/image/image_save.dart';
@@ -24,9 +24,9 @@ class PgcCardVSearch extends StatelessWidget {
cover: item.cover,
);
return Card(
shape: const RoundedRectangleBorder(borderRadius: StyleString.mdRadius),
shape: const RoundedRectangleBorder(borderRadius: Style.mdRadius),
child: InkWell(
borderRadius: StyleString.mdRadius,
borderRadius: Style.mdRadius,
onLongPress: onLongPress,
onSecondaryTap: PlatformUtils.isMobile ? null : onLongPress,
onTap: () => PageUtils.viewPgc(seasonId: item.seasonId),

View File

@@ -1,4 +1,4 @@
import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/common/widgets/flutter/layout_builder.dart';
import 'package:PiliPlus/common/widgets/image/image_save.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
@@ -38,7 +38,7 @@ class SearchArticleItem extends StatelessWidget {
onSecondaryTap: PlatformUtils.isMobile ? null : onLongPress,
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: StyleString.safeSpace,
horizontal: Style.safeSpace,
vertical: 5,
),
child: Row(
@@ -46,7 +46,7 @@ class SearchArticleItem extends StatelessWidget {
children: <Widget>[
if (item.imageUrls?.isNotEmpty == true)
AspectRatio(
aspectRatio: StyleString.aspectRatio,
aspectRatio: Style.aspectRatio,
child: LayoutBuilder(
builder: (context, boxConstraints) {
double maxWidth = boxConstraints.maxWidth;

View File

@@ -1,5 +1,5 @@
import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/skeleton/video_card_v.dart';
import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/models/search/result.dart';
import 'package:PiliPlus/pages/search_panel/controller.dart';
import 'package:PiliPlus/pages/search_panel/live/widgets/item.dart';
@@ -46,9 +46,9 @@ class _SearchLivePanelState
late final gridDelegate = SliverGridDelegateWithExtentAndRatio(
maxCrossAxisExtent: Grid.smallCardWidth,
crossAxisSpacing: StyleString.cardSpace,
mainAxisSpacing: StyleString.cardSpace,
childAspectRatio: StyleString.aspectRatio,
crossAxisSpacing: Style.cardSpace,
mainAxisSpacing: Style.cardSpace,
childAspectRatio: Style.aspectRatio,
mainAxisExtent: MediaQuery.textScalerOf(context).scale(80),
);
@@ -56,8 +56,8 @@ class _SearchLivePanelState
Widget buildList(ThemeData theme, List<SearchLiveItemModel> list) {
return SliverPadding(
padding: const EdgeInsets.only(
left: StyleString.safeSpace,
right: StyleString.safeSpace,
left: Style.safeSpace,
right: Style.safeSpace,
),
sliver: SliverGrid.builder(
gridDelegate: gridDelegate,

View File

@@ -1,4 +1,4 @@
import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/common/widgets/flutter/layout_builder.dart';
import 'package:PiliPlus/common/widgets/image/image_save.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
@@ -30,7 +30,7 @@ class LiveItem extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AspectRatio(
aspectRatio: StyleString.aspectRatio,
aspectRatio: Style.aspectRatio,
child: LayoutBuilder(
builder: (context, boxConstraints) {
double maxWidth = boxConstraints.maxWidth;

View File

@@ -1,5 +1,5 @@
import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/skeleton/media_bangumi.dart';
import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/models/search/result.dart';
import 'package:PiliPlus/pages/search_panel/controller.dart';
import 'package:PiliPlus/pages/search_panel/pgc/widgets/item.dart';
@@ -69,7 +69,7 @@ class _SearchPgcPanelState
gridDelegate: SliverGridDelegateWithExtentAndRatio(
mainAxisSpacing: 2,
maxCrossAxisExtent: Grid.smallCardWidth * 2,
childAspectRatio: StyleString.aspectRatio * 1.5,
childAspectRatio: Style.aspectRatio * 1.5,
minHeight: MediaQuery.textScalerOf(context).scale(155),
),
itemBuilder: (context, index) => const MediaPgcSkeleton(),

View File

@@ -1,4 +1,4 @@
import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/common/widgets/badge.dart';
import 'package:PiliPlus/common/widgets/image/image_save.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
@@ -32,8 +32,8 @@ class SearchPgcItem extends StatelessWidget {
onSecondaryTap: PlatformUtils.isMobile ? null : onLongPress,
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: StyleString.safeSpace,
vertical: StyleString.cardSpace,
horizontal: Style.safeSpace,
vertical: Style.cardSpace,
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,

View File

@@ -29,9 +29,8 @@ class SearchUserItem extends StatelessWidget {
children: [
const SizedBox(width: 15),
PendantAvatar(
avatar: item.upic,
item.upic,
size: 42,
isVip: false,
officialType: item.officialVerify?.type,
roomId: item.isLive == 1 ? item.roomId : null,
),