mod: blacklist item

Closes #390

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-03-05 23:02:29 +08:00
parent a6a3476cb2
commit 8b1bec6ed2

View File

@@ -1,3 +1,4 @@
import 'package:PiliPlus/common/widgets/dialog.dart';
import 'package:PiliPlus/common/widgets/loading_widget.dart'; import 'package:PiliPlus/common/widgets/loading_widget.dart';
import 'package:PiliPlus/common/widgets/refresh_indicator.dart'; import 'package:PiliPlus/common/widgets/refresh_indicator.dart';
import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/loading_state.dart';
@@ -59,7 +60,10 @@ class _BlackListPageState extends State<BlackListPage> {
_blackListController.onLoadMore(); _blackListController.onLoadMore();
} }
return ListTile( return ListTile(
onTap: () {}, onTap: () {
Get.toNamed(
'/member?mid=${loadingState.response[index].mid}');
},
leading: NetworkImgLayer( leading: NetworkImgLayer(
width: 45, width: 45,
height: 45, height: 45,
@@ -81,8 +85,11 @@ class _BlackListPageState extends State<BlackListPage> {
), ),
dense: true, dense: true,
trailing: TextButton( trailing: TextButton(
onPressed: () => _blackListController onPressed: () => _blackListController.removeBlack(
.removeBlack(loadingState.response[index].mid), context,
loadingState.response[index].uname,
loadingState.response[index].mid,
),
child: const Text('移除'), child: const Text('移除'),
), ),
); );
@@ -130,7 +137,12 @@ class BlackListController extends CommonController {
return true; return true;
} }
Future removeBlack(mid) async { Future removeBlack(context, name, mid) async {
showConfirmDialog(
context: context,
title: '确定将 $name 移出黑名单?',
onConfirm: () async {
Get.back();
var result = await BlackHttp.removeBlack(fid: mid); var result = await BlackHttp.removeBlack(fid: mid);
if (result['status']) { if (result['status']) {
List list = (loadingState.value as Success).response; List list = (loadingState.value as Success).response;
@@ -140,6 +152,8 @@ class BlackListController extends CommonController {
LoadingState.success(list.isNotEmpty ? list : <BlackListItem>[]); LoadingState.success(list.isNotEmpty ? list : <BlackListItem>[]);
SmartDialog.showToast(result['msg']); SmartDialog.showToast(result['msg']);
} }
},
);
} }
@override @override