mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
mod: delete dynamic on dynamic page
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
import 'package:PiliPalaX/http/loading_state.dart';
|
||||
import 'package:PiliPalaX/http/msg.dart';
|
||||
import 'package:PiliPalaX/pages/common/common_controller.dart';
|
||||
import 'package:PiliPalaX/utils/extension.dart';
|
||||
import 'package:PiliPalaX/http/member.dart';
|
||||
import 'package:PiliPalaX/models/dynamics/result.dart';
|
||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||
|
||||
class MemberDynamicsController extends CommonController {
|
||||
MemberDynamicsController(this.mid);
|
||||
@@ -46,4 +48,16 @@ class MemberDynamicsController extends CommonController {
|
||||
offset: offset,
|
||||
mid: mid,
|
||||
);
|
||||
|
||||
Future onRemove(dynamicId) async {
|
||||
var res = await MsgHttp.removeDynamic(dynamicId);
|
||||
if (res['status']) {
|
||||
List list = (loadingState.value as Success).response;
|
||||
list.removeWhere((item) => item.idStr == dynamicId);
|
||||
loadingState.value = LoadingState.success(list);
|
||||
SmartDialog.showToast('删除成功');
|
||||
} else {
|
||||
SmartDialog.showToast(res['msg']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,7 +105,12 @@ class _MemberDynamicsPageState extends State<MemberDynamicsPage>
|
||||
: LastChildLayoutType.none;
|
||||
},
|
||||
children: (loadingState.response as List)
|
||||
.map((item) => DynamicPanel(item: item))
|
||||
.map(
|
||||
(item) => DynamicPanel(
|
||||
item: item,
|
||||
onRemove: _memberDynamicController.onRemove,
|
||||
),
|
||||
)
|
||||
.toList(),
|
||||
)
|
||||
: SliverCrossAxisGroup(
|
||||
@@ -120,7 +125,9 @@ class _MemberDynamicsPageState extends State<MemberDynamicsPage>
|
||||
_memberDynamicController.onLoadMore();
|
||||
}
|
||||
return DynamicPanel(
|
||||
item: loadingState.response[index]);
|
||||
item: loadingState.response[index],
|
||||
onRemove: _memberDynamicController.onRemove,
|
||||
);
|
||||
},
|
||||
childCount: loadingState.response.length,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user