mod: show lv6_s
Closes #687 Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
|
Before Width: | Height: | Size: 514 B After Width: | Height: | Size: 915 B |
|
Before Width: | Height: | Size: 524 B After Width: | Height: | Size: 876 B |
|
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 541 B After Width: | Height: | Size: 991 B |
|
Before Width: | Height: | Size: 498 B After Width: | Height: | Size: 912 B |
|
Before Width: | Height: | Size: 539 B After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 517 B After Width: | Height: | Size: 1.1 KiB |
BIN
assets/images/lv/lv6_s.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
@@ -11,6 +11,7 @@ class MemberInfoModel {
|
||||
this.official,
|
||||
this.vip,
|
||||
this.liveRoom,
|
||||
this.isSeniorMember,
|
||||
});
|
||||
|
||||
int? mid;
|
||||
@@ -24,6 +25,7 @@ class MemberInfoModel {
|
||||
Map? official;
|
||||
Vip? vip;
|
||||
LiveRoom? liveRoom;
|
||||
int? isSeniorMember;
|
||||
|
||||
MemberInfoModel.fromJson(Map<String, dynamic> json) {
|
||||
mid = json['mid'];
|
||||
@@ -38,6 +40,7 @@ class MemberInfoModel {
|
||||
vip = Vip.fromJson(json['vip']);
|
||||
liveRoom =
|
||||
json['live_room'] != null ? LiveRoom.fromJson(json['live_room']) : null;
|
||||
isSeniorMember = json['is_senior_member'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -123,6 +123,7 @@ class SearchUserItemModel {
|
||||
this.isLive,
|
||||
this.roomId,
|
||||
this.officialVerify,
|
||||
this.isSeniorMember,
|
||||
});
|
||||
|
||||
String? type;
|
||||
@@ -141,6 +142,7 @@ class SearchUserItemModel {
|
||||
int? isLive;
|
||||
int? roomId;
|
||||
Map? officialVerify;
|
||||
int? isSeniorMember;
|
||||
|
||||
SearchUserItemModel.fromJson(Map<String, dynamic> json) {
|
||||
type = json['type'];
|
||||
@@ -159,6 +161,7 @@ class SearchUserItemModel {
|
||||
isLive = json['is_live'];
|
||||
roomId = json['room_id'];
|
||||
officialVerify = json['official_verify'];
|
||||
isSeniorMember = json['is_senior_member'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ class UserInfoData {
|
||||
this.wallet,
|
||||
this.hasShop,
|
||||
this.shopUrl,
|
||||
this.isSeniorMember,
|
||||
});
|
||||
@HiveField(0)
|
||||
bool? isLogin;
|
||||
@@ -78,6 +79,8 @@ class UserInfoData {
|
||||
bool? hasShop;
|
||||
@HiveField(23)
|
||||
String? shopUrl;
|
||||
@HiveField(24)
|
||||
int? isSeniorMember;
|
||||
|
||||
UserInfoData.fromJson(Map<String, dynamic> json) {
|
||||
isLogin = json['isLogin'] ?? false;
|
||||
@@ -106,6 +109,7 @@ class UserInfoData {
|
||||
wallet = json['wallet'];
|
||||
hasShop = json['has_shop'];
|
||||
shopUrl = json['shop_url'];
|
||||
isSeniorMember = json['is_senior_member'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -41,13 +41,14 @@ class UserInfoDataAdapter extends TypeAdapter<UserInfoData> {
|
||||
wallet: (fields[21] as Map?)?.cast<dynamic, dynamic>(),
|
||||
hasShop: fields[22] as bool?,
|
||||
shopUrl: fields[23] as String?,
|
||||
isSeniorMember: fields[24] as int?,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, UserInfoData obj) {
|
||||
writer
|
||||
..writeByte(24)
|
||||
..writeByte(25)
|
||||
..writeByte(0)
|
||||
..write(obj.isLogin)
|
||||
..writeByte(1)
|
||||
@@ -95,7 +96,9 @@ class UserInfoDataAdapter extends TypeAdapter<UserInfoData> {
|
||||
..writeByte(22)
|
||||
..write(obj.hasShop)
|
||||
..writeByte(23)
|
||||
..write(obj.shopUrl);
|
||||
..write(obj.shopUrl)
|
||||
..writeByte(24)
|
||||
..write(obj.isSeniorMember);
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -130,7 +130,7 @@ class UserInfoCard extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
Image.asset(
|
||||
'assets/images/lv/lv${card.levelInfo?.currentLevel}.png',
|
||||
'assets/images/lv/lv${card.levelInfo?.identity == 2 ? '6_s' : card.levelInfo?.currentLevel}.png',
|
||||
height: 11,
|
||||
semanticLabel: '等级${card.levelInfo?.currentLevel}',
|
||||
),
|
||||
|
||||
@@ -176,7 +176,7 @@ class _MinePageState extends State<MinePage> {
|
||||
),
|
||||
const SizedBox(width: 4),
|
||||
Image.asset(
|
||||
'assets/images/lv/lv${_mineController.userInfo.value.levelInfo != null ? _mineController.userInfo.value.levelInfo!.currentLevel : '0'}.png',
|
||||
'assets/images/lv/lv${_mineController.userInfo.value.isSeniorMember == 1 ? '6_s' : _mineController.userInfo.value.levelInfo != null ? _mineController.userInfo.value.levelInfo!.currentLevel : '0'}.png',
|
||||
height: 10,
|
||||
semanticLabel:
|
||||
'等级:${_mineController.userInfo.value.levelInfo != null ? _mineController.userInfo.value.levelInfo!.currentLevel : '0'}',
|
||||
|
||||
@@ -27,6 +27,7 @@ Widget searchArticlePanel(
|
||||
|
||||
return CustomScrollView(
|
||||
controller: searchPanelCtr.scrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
slivers: [
|
||||
SliverPersistentHeader(
|
||||
pinned: false,
|
||||
|
||||
@@ -14,6 +14,7 @@ Widget searchLivePanel(
|
||||
Loading() => loadingWidget,
|
||||
Success() => loadingState.response?.isNotEmpty == true
|
||||
? GridView.builder(
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
padding: EdgeInsets.only(
|
||||
left: StyleString.safeSpace,
|
||||
right: StyleString.safeSpace,
|
||||
|
||||
@@ -17,6 +17,7 @@ Widget searchBangumiPanel(
|
||||
Success() => loadingState.response?.isNotEmpty == true
|
||||
? CustomScrollView(
|
||||
controller: ctr.scrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
slivers: [
|
||||
SliverPadding(
|
||||
padding: EdgeInsets.only(
|
||||
|
||||
@@ -25,6 +25,7 @@ Widget searchUserPanel(
|
||||
|
||||
return CustomScrollView(
|
||||
controller: searchPanelCtr.scrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
slivers: [
|
||||
SliverPersistentHeader(
|
||||
pinned: false,
|
||||
@@ -151,7 +152,7 @@ Widget searchUserPanel(
|
||||
),
|
||||
const SizedBox(width: 6),
|
||||
Image.asset(
|
||||
'assets/images/lv/lv${i!.level}.png',
|
||||
'assets/images/lv/lv${i.isSeniorMember == 1 ? '6_s' : i!.level}.png',
|
||||
height: 11,
|
||||
semanticLabel: '等级${i.level}',
|
||||
),
|
||||
|
||||
@@ -23,6 +23,7 @@ Widget searchVideoPanel(
|
||||
final controller = Get.put(VideoPanelController(), tag: searchPanelCtr.tag);
|
||||
return CustomScrollView(
|
||||
controller: searchPanelCtr.scrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
slivers: [
|
||||
SliverPersistentHeader(
|
||||
pinned: false,
|
||||
|
||||
@@ -274,7 +274,7 @@ class _HorizontalMemberPageState extends State<HorizontalMemberPage> {
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
Image.asset(
|
||||
'assets/images/lv/lv${memberInfoModel.level}.png',
|
||||
'assets/images/lv/lv${memberInfoModel.isSeniorMember == 1 ? '6_s' : memberInfoModel.level}.png',
|
||||
height: 11,
|
||||
),
|
||||
],
|
||||
|
||||
@@ -245,7 +245,7 @@ Widget _itemWidget(BuildContext context, dynamic item) {
|
||||
const SizedBox(width: 6),
|
||||
Image.asset(
|
||||
'assets/images/lv/lv${item['author']['level']}.png',
|
||||
height: 11,
|
||||
height: 19,
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
@@ -302,7 +302,7 @@ class ReplyItemGrpc extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(width: 6),
|
||||
Image.asset(
|
||||
'assets/images/lv/lv${replyItem.member.level}.png',
|
||||
'assets/images/lv/lv${replyItem.member.isSeniorMember == 1 ? '6_s' : replyItem.member.level}.png',
|
||||
height: 11,
|
||||
semanticLabel: "等级:${replyItem.member.level}",
|
||||
),
|
||||
|
||||