mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
opt: follow btn text
This commit is contained in:
@@ -21,6 +21,8 @@ part 'data.g.dart';
|
||||
@JsonSerializable()
|
||||
class Data {
|
||||
int? relation;
|
||||
@JsonKey(name: 'rel_special')
|
||||
int? relSpecial;
|
||||
@JsonKey(name: 'guest_relation')
|
||||
int? guestRelation;
|
||||
@JsonKey(name: 'default_tab')
|
||||
@@ -54,6 +56,7 @@ class Data {
|
||||
|
||||
Data({
|
||||
this.relation,
|
||||
this.relSpecial,
|
||||
this.guestRelation,
|
||||
this.defaultTab,
|
||||
this.isParams,
|
||||
|
||||
@@ -8,6 +8,7 @@ part of 'data.dart';
|
||||
|
||||
Data _$DataFromJson(Map<String, dynamic> json) => Data(
|
||||
relation: (json['relation'] as num?)?.toInt(),
|
||||
relSpecial: (json['rel_special'] as num?)?.toInt(),
|
||||
guestRelation: (json['guest_relation'] as num?)?.toInt(),
|
||||
defaultTab: json['default_tab'] as String?,
|
||||
isParams: json['is_params'] as bool?,
|
||||
@@ -64,6 +65,7 @@ Data _$DataFromJson(Map<String, dynamic> json) => Data(
|
||||
|
||||
Map<String, dynamic> _$DataToJson(Data instance) => <String, dynamic>{
|
||||
'relation': instance.relation,
|
||||
'rel_special': instance.relSpecial,
|
||||
'guest_relation': instance.guestRelation,
|
||||
'default_tab': instance.defaultTab,
|
||||
'is_params': instance.isParams,
|
||||
|
||||
@@ -46,10 +46,12 @@ class FollowItem extends StatelessWidget {
|
||||
? SizedBox(
|
||||
height: 34,
|
||||
child: TextButton(
|
||||
onPressed: () async {
|
||||
await Get.bottomSheet(
|
||||
GroupPanel(mid: item.mid!),
|
||||
isScrollControlled: true,
|
||||
onPressed: () {
|
||||
Utils.actionRelationMod(
|
||||
context: context,
|
||||
mid: item.mid,
|
||||
isFollow: true,
|
||||
callback: (attribute) {},
|
||||
);
|
||||
},
|
||||
style: TextButton.styleFrom(
|
||||
|
||||
@@ -36,7 +36,9 @@ class MemberControllerNew extends CommonController
|
||||
bool customHandleResponse(Success response) {
|
||||
username = response.response?.card?.name ?? '';
|
||||
isFollow.value = response.response?.card?.relation?.isFollow == 1;
|
||||
relation.value = response.response?.relation ?? 1;
|
||||
relation.value = response.response?.relSpecial == 1
|
||||
? 2
|
||||
: response.response?.relation ?? 1;
|
||||
tab2 = response.response.tab2;
|
||||
if (tab2 != null && tab2!.isNotEmpty) {
|
||||
if (!response.response.tab.toJson().values.contains(true) &&
|
||||
@@ -127,7 +129,7 @@ class MemberControllerNew extends CommonController
|
||||
mid: mid,
|
||||
isFollow: isFollow.value,
|
||||
callback: (attribute) {
|
||||
relation.value = 1;
|
||||
relation.value = attribute;
|
||||
isFollow.value = attribute != 0;
|
||||
},
|
||||
);
|
||||
|
||||
@@ -238,9 +238,11 @@ class UserInfoCard extends StatelessWidget {
|
||||
TextSpan(
|
||||
text: relation == -1
|
||||
? '移除黑名单'
|
||||
: isFollow
|
||||
? ' 已关注'
|
||||
: '关注',
|
||||
: relation == 2
|
||||
? ' 特别关注'
|
||||
: isFollow
|
||||
? ' 已关注'
|
||||
: '关注',
|
||||
)
|
||||
],
|
||||
),
|
||||
|
||||
@@ -53,11 +53,11 @@ class _GroupPanelState extends State<GroupPanel> {
|
||||
final bool anyHasChecked =
|
||||
tagsList.any((MemberTagItemModel e) => e.checked == true);
|
||||
late String tagids;
|
||||
List<int>? tagidList;
|
||||
if (anyHasChecked) {
|
||||
final List<MemberTagItemModel> checkedList =
|
||||
tagsList.where((MemberTagItemModel e) => e.checked == true).toList();
|
||||
final List<int> tagidList =
|
||||
checkedList.map<int>((e) => e.tagid!).toList();
|
||||
tagidList = checkedList.map<int>((e) => e.tagid!).toList();
|
||||
tagids = tagidList.join(',');
|
||||
} else {
|
||||
tagids = '0';
|
||||
@@ -66,7 +66,7 @@ class _GroupPanelState extends State<GroupPanel> {
|
||||
final res = await MemberHttp.addUsers(widget.mid, tagids);
|
||||
SmartDialog.showToast(res['msg']);
|
||||
if (res['status']) {
|
||||
Get.back(result: true);
|
||||
Get.back(result: tagidList?.contains(-10) == true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ class Utils {
|
||||
);
|
||||
SmartDialog.showToast(res['status'] ? "关注成功" : res['msg']);
|
||||
if (res['status']) {
|
||||
callback(2);
|
||||
callback(1);
|
||||
// followStatus['attribute'] = 2;
|
||||
// followStatus.refresh();
|
||||
}
|
||||
@@ -84,6 +84,11 @@ class Utils {
|
||||
// followStatus['tag'] = tags;
|
||||
// followStatus.refresh();
|
||||
SmartDialog.showToast('$text成功');
|
||||
if (isSpecialFollowed) {
|
||||
callback(1);
|
||||
} else {
|
||||
callback(2);
|
||||
}
|
||||
} else {
|
||||
SmartDialog.showToast(res['msg']);
|
||||
}
|
||||
@@ -97,7 +102,7 @@ class Utils {
|
||||
dense: true,
|
||||
onTap: () async {
|
||||
Get.back();
|
||||
await showModalBottomSheet(
|
||||
dynamic result = await showModalBottomSheet(
|
||||
context: context,
|
||||
useSafeArea: true,
|
||||
isScrollControlled: true,
|
||||
@@ -125,10 +130,11 @@ class Utils {
|
||||
);
|
||||
},
|
||||
);
|
||||
// await Future.delayed(const Duration(milliseconds: 500));
|
||||
// if (result == true) {
|
||||
// queryFollowStatus();
|
||||
// }
|
||||
if (result == true) {
|
||||
callback(2);
|
||||
} else if (result == false) {
|
||||
callback(1);
|
||||
}
|
||||
},
|
||||
title: const Text(
|
||||
'设置分组',
|
||||
|
||||
Reference in New Issue
Block a user