mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-25 02:28:35 +00:00
tweaks (#1821)
* opt: _onTapUp * opt: set contains * opt: elementAtOrNull
This commit is contained in:
committed by
GitHub
parent
37fa165f59
commit
7260a387f9
@@ -10,7 +10,6 @@ import 'package:PiliPlus/pages/common/common_controller.dart';
|
||||
import 'package:PiliPlus/pages/dynamics_tab/controller.dart';
|
||||
import 'package:PiliPlus/services/account_service.dart';
|
||||
import 'package:PiliPlus/utils/accounts.dart';
|
||||
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
|
||||
import 'package:PiliPlus/utils/extension/scroll_controller_ext.dart';
|
||||
import 'package:PiliPlus/utils/extension/string_ext.dart';
|
||||
import 'package:PiliPlus/utils/storage_pref.dart';
|
||||
@@ -33,7 +32,7 @@ class DynamicsController extends GetxController
|
||||
LoadingState<FollowUpModel>.loading().obs;
|
||||
late int _upPage = 1;
|
||||
late bool _upEnd = false;
|
||||
List<UpItem>? _cacheUpList;
|
||||
Set<UpItem>? _cacheUpList;
|
||||
late final _showAllUp = Pref.dynamicsShowAllFollowedUp;
|
||||
late bool showLiveUp = Pref.expandDynLivePanel;
|
||||
|
||||
@@ -150,7 +149,7 @@ class DynamicsController extends GetxController
|
||||
final first = res.first;
|
||||
if (first case final Success<FollowUpModel> i) {
|
||||
final data = i.response;
|
||||
final second = res.getOrNull(1);
|
||||
final second = res.elementAtOrNull(1);
|
||||
if (second case final Success<FollowData> j) {
|
||||
final data1 = j.response;
|
||||
final list1 = data1.list;
|
||||
@@ -161,8 +160,7 @@ class DynamicsController extends GetxController
|
||||
}
|
||||
|
||||
final list = data.upList;
|
||||
_cacheUpList = List<UpItem>.from(list);
|
||||
list.addAll(list1..removeWhere(list.contains));
|
||||
list.addAll(list1..removeWhere((_cacheUpList = list.toSet()).contains));
|
||||
}
|
||||
if (!_showAllUp) {
|
||||
if (data.hasMore == false || data.offset.isNullOrEmpty) {
|
||||
|
||||
@@ -3,7 +3,6 @@ import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_detail/media.dart';
|
||||
import 'package:PiliPlus/pages/fav_detail/controller.dart';
|
||||
import 'package:PiliPlus/pages/fav_detail/widget/fav_video_card.dart';
|
||||
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||
import 'package:get/get.dart';
|
||||
@@ -84,7 +83,7 @@ class _FavSortPageState extends State<FavSortPage> {
|
||||
}
|
||||
|
||||
final oldItem = sortList[oldIndex];
|
||||
final newItem = sortList.getOrNull(
|
||||
final newItem = sortList.elementAtOrNull(
|
||||
oldIndex > newIndex ? newIndex - 1 : newIndex,
|
||||
);
|
||||
sort.add(
|
||||
|
||||
@@ -15,7 +15,6 @@ import 'package:PiliPlus/utils/accounts.dart';
|
||||
import 'package:PiliPlus/utils/app_sign.dart';
|
||||
import 'package:PiliPlus/utils/date_utils.dart';
|
||||
import 'package:PiliPlus/utils/extension/file_ext.dart';
|
||||
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
|
||||
import 'package:PiliPlus/utils/extension/theme_ext.dart';
|
||||
import 'package:PiliPlus/utils/page_utils.dart';
|
||||
import 'package:PiliPlus/utils/platform_utils.dart';
|
||||
@@ -483,7 +482,7 @@ class _EditProfilePageState extends State<EditProfilePage> {
|
||||
if (pickedFile != null && mounted) {
|
||||
String? mimeType = lookupMimeType(
|
||||
pickedFile.path,
|
||||
)?.split('/').getOrNull(1);
|
||||
)?.split('/').elementAtOrNull(1);
|
||||
if (mimeType == 'gif') {
|
||||
SmartDialog.showToast('不能选GIF');
|
||||
return;
|
||||
|
||||
@@ -9,7 +9,6 @@ import 'package:PiliPlus/grpc/bilibili/app/im/v1.pb.dart'
|
||||
import 'package:PiliPlus/models/common/badge_type.dart';
|
||||
import 'package:PiliPlus/pages/whisper_secondary/view.dart';
|
||||
import 'package:PiliPlus/utils/date_utils.dart';
|
||||
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
|
||||
import 'package:PiliPlus/utils/extension/num_ext.dart';
|
||||
import 'package:PiliPlus/utils/extension/theme_ext.dart';
|
||||
import 'package:PiliPlus/utils/page_utils.dart';
|
||||
@@ -190,7 +189,7 @@ class WhisperSessionItem extends StatelessWidget {
|
||||
leading: Builder(
|
||||
builder: (context) {
|
||||
final pendant = item.sessionInfo.avatar.fallbackLayers.layers
|
||||
.getOrNull(1)
|
||||
.elementAtOrNull(1)
|
||||
?.resource;
|
||||
final official = item
|
||||
.sessionInfo
|
||||
|
||||
@@ -16,7 +16,6 @@ import 'package:PiliPlus/pages/whisper_detail/controller.dart';
|
||||
import 'package:PiliPlus/pages/whisper_detail/widget/chat_item.dart';
|
||||
import 'package:PiliPlus/pages/whisper_link_setting/view.dart';
|
||||
import 'package:PiliPlus/utils/extension/file_ext.dart';
|
||||
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
|
||||
import 'package:PiliPlus/utils/extension/num_ext.dart';
|
||||
import 'package:PiliPlus/utils/extension/widget_ext.dart';
|
||||
import 'package:PiliPlus/utils/feed_back.dart';
|
||||
@@ -360,7 +359,9 @@ class _WhisperDetailPageState
|
||||
);
|
||||
if (result case Success(:final response)) {
|
||||
final mimeType =
|
||||
lookupMimeType(path)?.split('/').getOrNull(1) ??
|
||||
lookupMimeType(
|
||||
path,
|
||||
)?.split('/').elementAtOrNull(1) ??
|
||||
'jpg';
|
||||
final picMsg = {
|
||||
'url': response.imageUrl,
|
||||
|
||||
Reference in New Issue
Block a user