fix: member status on video intro

This commit is contained in:
bggRGjQaUbCoE
2024-10-24 10:37:13 +08:00
parent 61a0a498bb
commit 4431ed09c0
2 changed files with 45 additions and 28 deletions

View File

@@ -507,15 +507,30 @@ class VideoIntroController extends GetxController
SmartDialog.showToast('账号未登录');
return;
}
Utils.actionRelationMod(
context: context,
mid: videoDetail.value.owner?.mid,
isFollow: (followStatus['attribute'] ?? 0) != 0,
callback: (attribute) {
followStatus['attribute'] = attribute;
int attr = followStatus['attribute'] ?? 0;
if (attr == 128) {
dynamic res = await VideoHttp.relationMod(
mid: videoDetail.value.owner?.mid ?? -1,
act: attr != 128 ? 5 : 6,
reSrc: 11,
);
if (res['status']) {
followStatus['attribute'] = 0;
followStatus.refresh();
},
);
}
return;
}
if (context.mounted) {
Utils.actionRelationMod(
context: context,
mid: videoDetail.value.owner?.mid,
isFollow: (followStatus['attribute'] ?? 0) != 0,
callback: (attribute) {
followStatus['attribute'] = attribute;
followStatus.refresh();
},
);
}
// MemberController _ = Get.put<MemberController>(MemberController(mid: mid),
// tag: mid.toString());

View File

@@ -545,26 +545,28 @@ class _VideoInfoState extends State<VideoInfo> with TickerProviderStateMixin {
Obx followButton(BuildContext context, ThemeData t) {
return Obx(
() => TextButton(
onPressed: () => videoIntroController.actionRelationMod(context),
style: TextButton.styleFrom(
visualDensity: const VisualDensity(horizontal: -2, vertical: -3),
foregroundColor:
(videoIntroController.followStatus['attribute'] ?? 0) != 0
? t.colorScheme.outline
: t.colorScheme.onPrimary,
backgroundColor:
(videoIntroController.followStatus['attribute'] ?? 0) != 0
? t.colorScheme.onInverseSurface
: t.colorScheme.primary, // 设置按钮背景色
),
child: Text(
((videoIntroController.followStatus['attribute'] ?? 0) != 0)
? '已关注'
: '关注',
style: TextStyle(fontSize: t.textTheme.labelMedium!.fontSize),
),
),
() {
int attr = videoIntroController.followStatus['attribute'] ?? 0;
return TextButton(
onPressed: () => videoIntroController.actionRelationMod(context),
style: TextButton.styleFrom(
visualDensity: const VisualDensity(horizontal: -2, vertical: -3),
foregroundColor:
attr != 0 ? t.colorScheme.outline : t.colorScheme.onPrimary,
backgroundColor: attr != 0
? t.colorScheme.onInverseSurface
: t.colorScheme.primary, // 设置按钮背景色
),
child: Text(
attr == 128
? '已拉黑'
: attr != 0
? '关注'
: '关注',
style: TextStyle(fontSize: t.textTheme.labelMedium!.fontSize),
),
);
},
);
}