Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-21 11:48:42 +08:00
parent 1efd62803a
commit ac60ac417b
130 changed files with 1631 additions and 2132 deletions

View File

@@ -246,4 +246,15 @@ class MemberController extends CommonDataController<SpaceData, SpaceData?>
SmartDialog.showToast(res['msg']);
}
}
void onTapTab(int value) {
if (tabController?.indexIsChanging == false &&
key.currentState?.outerController.hasClients == true) {
key.currentState!.outerController.animateTo(
key.currentState!.outerController.offset,
duration: const Duration(milliseconds: 500),
curve: Curves.easeInOut,
);
}
}
}

View File

@@ -11,7 +11,6 @@ import 'package:PiliPlus/pages/member_dynamics/view.dart';
import 'package:PiliPlus/pages/member_favorite/view.dart';
import 'package:PiliPlus/pages/member_home/view.dart';
import 'package:PiliPlus/pages/member_pgc/view.dart';
import 'package:PiliPlus/utils/extension.dart';
import 'package:PiliPlus/utils/utils.dart';
import 'package:extended_nested_scroll_view/extended_nested_scroll_view.dart';
import 'package:flutter/material.dart';
@@ -124,22 +123,20 @@ class _MemberPageState extends State<MemberPage> {
_userController.mid != _userController.ownerMid) ...[
const PopupMenuDivider(),
PopupMenuItem(
onTap: () {
showDialog(
context: context,
builder: (context) => AlertDialog(
clipBehavior: Clip.hardEdge,
contentPadding: const EdgeInsets.symmetric(
horizontal: 20,
vertical: 16,
),
content: MemberReportPanel(
name: _userController.username,
mid: _mid,
),
onTap: () => showDialog(
context: context,
builder: (context) => AlertDialog(
clipBehavior: Clip.hardEdge,
contentPadding: const EdgeInsets.symmetric(
horizontal: 20,
vertical: 16,
),
);
},
content: MemberReportPanel(
name: _userController.username,
mid: _mid,
),
),
),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
@@ -209,11 +206,7 @@ class _MemberPageState extends State<MemberPage> {
child: TabBar(
controller: _userController.tabController,
tabs: _userController.tabs,
onTap: (value) {
if (_userController.tabController?.indexIsChanging == false) {
_userController.key.currentState?.outerController.animToTop();
}
},
onTap: _userController.onTapTab,
),
);

View File

@@ -80,11 +80,9 @@ class UserInfoCard extends StatelessWidget {
return Hero(
tag: imgUrl,
child: GestureDetector(
onTap: () {
context.imageView(
imgList: [SourceModel(url: imgUrl)],
);
},
onTap: () => context.imageView(
imgList: [SourceModel(url: imgUrl)],
),
child: CachedNetworkImage(
imageUrl: Utils.thumbnailImgUrl(imgUrl),
width: double.infinity,
@@ -233,9 +231,7 @@ class UserInfoCard extends StatelessWidget {
crossAxisAlignment: WrapCrossAlignment.end,
children: [
GestureDetector(
onTap: () {
Utils.copyText(card.mid.toString());
},
onTap: () => Utils.copyText(card.mid.toString()),
child: Text(
'UID: ${card.mid}',
style: TextStyle(