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:
@@ -234,7 +234,8 @@ class MorePanel extends StatelessWidget {
|
|||||||
minLeadingWidth: 0,
|
minLeadingWidth: 0,
|
||||||
),
|
),
|
||||||
if (item.modules.moduleAuthor.mid ==
|
if (item.modules.moduleAuthor.mid ==
|
||||||
GStorage.userInfo.get('userInfoCache')?.mid)
|
GStorage.userInfo.get('userInfoCache')?.mid &&
|
||||||
|
onRemove != null)
|
||||||
ListTile(
|
ListTile(
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
Get.back();
|
Get.back();
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
import 'package:PiliPalaX/http/loading_state.dart';
|
import 'package:PiliPalaX/http/loading_state.dart';
|
||||||
|
import 'package:PiliPalaX/http/msg.dart';
|
||||||
import 'package:PiliPalaX/pages/common/common_controller.dart';
|
import 'package:PiliPalaX/pages/common/common_controller.dart';
|
||||||
import 'package:PiliPalaX/utils/extension.dart';
|
import 'package:PiliPalaX/utils/extension.dart';
|
||||||
import 'package:PiliPalaX/http/member.dart';
|
import 'package:PiliPalaX/http/member.dart';
|
||||||
import 'package:PiliPalaX/models/dynamics/result.dart';
|
import 'package:PiliPalaX/models/dynamics/result.dart';
|
||||||
|
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||||
|
|
||||||
class MemberDynamicsController extends CommonController {
|
class MemberDynamicsController extends CommonController {
|
||||||
MemberDynamicsController(this.mid);
|
MemberDynamicsController(this.mid);
|
||||||
@@ -46,4 +48,16 @@ class MemberDynamicsController extends CommonController {
|
|||||||
offset: offset,
|
offset: offset,
|
||||||
mid: mid,
|
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;
|
: LastChildLayoutType.none;
|
||||||
},
|
},
|
||||||
children: (loadingState.response as List)
|
children: (loadingState.response as List)
|
||||||
.map((item) => DynamicPanel(item: item))
|
.map(
|
||||||
|
(item) => DynamicPanel(
|
||||||
|
item: item,
|
||||||
|
onRemove: _memberDynamicController.onRemove,
|
||||||
|
),
|
||||||
|
)
|
||||||
.toList(),
|
.toList(),
|
||||||
)
|
)
|
||||||
: SliverCrossAxisGroup(
|
: SliverCrossAxisGroup(
|
||||||
@@ -120,7 +125,9 @@ class _MemberDynamicsPageState extends State<MemberDynamicsPage>
|
|||||||
_memberDynamicController.onLoadMore();
|
_memberDynamicController.onLoadMore();
|
||||||
}
|
}
|
||||||
return DynamicPanel(
|
return DynamicPanel(
|
||||||
item: loadingState.response[index]);
|
item: loadingState.response[index],
|
||||||
|
onRemove: _memberDynamicController.onRemove,
|
||||||
|
);
|
||||||
},
|
},
|
||||||
childCount: loadingState.response.length,
|
childCount: loadingState.response.length,
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user