mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-02 16:19:44 +08:00
@@ -1,16 +1,17 @@
|
||||
import 'package:PiliPlus/common/widgets/flutter/refresh_indicator.dart';
|
||||
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
|
||||
import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart';
|
||||
import 'package:PiliPlus/common/widgets/loading_widget/loading_widget.dart';
|
||||
import 'package:PiliPlus/common/widgets/pendant_avatar.dart';
|
||||
import 'package:PiliPlus/common/widgets/scroll_physics.dart';
|
||||
import 'package:PiliPlus/common/widgets/view_sliver_safe_area.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models/common/live/live_contribution_rank_type.dart';
|
||||
import 'package:PiliPlus/models_new/live/live_contribution_rank/item.dart';
|
||||
import 'package:PiliPlus/models_new/live/live_contribution_rank/medal_info.dart';
|
||||
import 'package:PiliPlus/pages/live_room/contribution_rank/controller.dart';
|
||||
import 'package:PiliPlus/pages/member/widget/medal_widget.dart';
|
||||
import 'package:PiliPlus/utils/extension/scroll_controller_ext.dart';
|
||||
import 'package:PiliPlus/utils/utils.dart';
|
||||
import 'package:flutter/foundation.dart' show kDebugMode;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
@@ -191,6 +192,23 @@ class _Item extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
late final colorScheme = ColorScheme.of(context);
|
||||
Widget child = Text(item.name!);
|
||||
if (item.uinfoMedal case final uinfoMedal?) {
|
||||
try {
|
||||
child = Column(
|
||||
spacing: 4,
|
||||
crossAxisAlignment: .start,
|
||||
children: [
|
||||
child,
|
||||
MedalWidget.fromMedalInfo(medal: uinfoMedal),
|
||||
],
|
||||
);
|
||||
} catch (e, s) {
|
||||
if (kDebugMode) {
|
||||
Utils.reportError(e, s);
|
||||
}
|
||||
}
|
||||
}
|
||||
return InkWell(
|
||||
onTap: () => Get.toNamed('/member?mid=${item.uid}'),
|
||||
child: Padding(
|
||||
@@ -214,34 +232,13 @@ class _Item extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
),
|
||||
PendantAvatar(
|
||||
avatar: item.face,
|
||||
size: 42,
|
||||
),
|
||||
Expanded(
|
||||
child: Column(
|
||||
spacing: 3,
|
||||
crossAxisAlignment: .start,
|
||||
children: [
|
||||
Text(item.name!),
|
||||
Row(
|
||||
children: [
|
||||
if (item.medalInfo case MedalInfo(
|
||||
:final medalName,
|
||||
:final level,
|
||||
))
|
||||
Text(
|
||||
'$medalName$level',
|
||||
style: TextStyle(
|
||||
fontSize: 12,
|
||||
color: colorScheme.onSurfaceVariant,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
NetworkImgLayer(
|
||||
src: item.face,
|
||||
width: 42,
|
||||
height: 42,
|
||||
type: .avatar,
|
||||
),
|
||||
Expanded(child: child),
|
||||
if (showScore)
|
||||
Text(
|
||||
item.score.toString(),
|
||||
|
||||
Reference in New Issue
Block a user