Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-05-06 14:14:19 +08:00
parent 1a8c348af1
commit 07843a5e77
239 changed files with 3175 additions and 13237 deletions

View File

@@ -16,7 +16,6 @@ import 'package:PiliPlus/pages/common/common_data_controller.dart';
import 'package:PiliPlus/utils/accounts.dart';
import 'package:PiliPlus/utils/request_utils.dart';
import 'package:PiliPlus/utils/share_utils.dart';
import 'package:PiliPlus/utils/storage_pref.dart';
import 'package:extended_nested_scroll_view/extended_nested_scroll_view.dart'
show ExtendedNestedScrollViewState;
import 'package:flutter/material.dart';
@@ -110,21 +109,12 @@ class MemberController extends CommonDataController<SpaceData, SpaceData?>
tab2!.removeAt(0);
}
if (tab2!.isNotEmpty) {
int initialIndex = -1;
MemberTabType memberTab = Pref.memberTab;
if (memberTab != MemberTabType.def) {
initialIndex = tab2!.indexWhere((item) {
return item.param == memberTab.name;
});
}
if (initialIndex == -1) {
if (data.defaultTab == 'video') {
data.defaultTab = 'contribute';
}
initialIndex = tab2!.indexWhere((item) {
return item.param == data.defaultTab;
});
if (data.defaultTab == 'video') {
data.defaultTab = 'contribute';
}
final initialIndex = tab2!.indexWhere(
(item) => item.param == data.defaultTab,
);
tabs = tab2!.map((item) => Tab(text: item.title ?? '')).toList();
tabController?.dispose();
tabController = TabController(

View File

@@ -32,6 +32,7 @@ import 'package:PiliPlus/pages/member_pgc/view.dart';
import 'package:PiliPlus/pages/member_shop/view.dart';
import 'package:PiliPlus/pages/member_video_web/archive/view.dart';
import 'package:PiliPlus/pages/member_video_web/season_series/view.dart';
import 'package:PiliPlus/pages/webview/view.dart';
import 'package:PiliPlus/utils/date_utils.dart';
import 'package:PiliPlus/utils/extension/context_ext.dart';
import 'package:PiliPlus/utils/extension/string_ext.dart';
@@ -303,11 +304,8 @@ class _MemberPageState extends State<MemberPage> {
recognizer:
lottery.jumpUrl?.isNotEmpty == true
? (NoDeadlineTapGestureRecognizer()
..onTap = () => Get.toNamed(
'/webview',
parameters: {
'url': lottery.jumpUrl!,
},
..onTap = () => WebViewPage.toWebView(
lottery.jumpUrl!,
))
: null,
),

View File

@@ -595,6 +595,7 @@ class UserInfoCard extends StatelessWidget {
initialPage: controller.page?.round() ?? 0,
imgList: imgUrls.map((e) => SourceModel(url: e.fullCover)).toList(),
onPageChanged: controller.jumpToPage,
tag: hashCode.toString(),
),
child: Stack(
children: [
@@ -608,7 +609,7 @@ class UserInfoCard extends StatelessWidget {
itemBuilder: (context, index) {
final img = imgUrls[index];
return fromHero(
tag: img.fullCover,
tag: '${img.fullCover}$hashCode',
child: CachedNetworkImage(
fit: .cover,
alignment: Alignment(0.0, img.dy),
@@ -681,9 +682,12 @@ class UserInfoCard extends StatelessWidget {
final img = fullCover ?? imgUrl;
return GestureDetector(
behavior: .opaque,
onTap: () => PageUtils.imageView(imgList: [SourceModel(url: img)]),
onTap: () => PageUtils.imageView(
imgList: [SourceModel(url: img)],
tag: hashCode.toString(),
),
child: fromHero(
tag: img,
tag: '$img$hashCode',
child: CachedNetworkImage(
fit: .cover,
alignment: alignment,
@@ -762,7 +766,7 @@ class UserInfoCard extends StatelessWidget {
);
if (prInfo.url?.isNotEmpty ?? false) {
return GestureDetector(
onTap: () => PageUtils.handleWebview(prInfo.url!),
onTap: () => PiliScheme.routePushFromUrl(prInfo.url!),
child: child,
);
}