fix: view fan/follow list from member info

This commit is contained in:
bggRGjQaUbCoE
2024-10-17 12:04:54 +08:00
parent f77088b870
commit 8d5f3cd3b1
3 changed files with 29 additions and 15 deletions

View File

@@ -88,15 +88,7 @@ class MemberControllerNew extends CommonController
TextButton(
onPressed: () async {
Get.back();
var res = await VideoHttp.relationMod(
mid: mid ?? -1,
act: relation.value != -1 ? 5 : 6,
reSrc: 11,
);
if (res['status']) {
relation.value = relation.value != -1 ? -1 : 1;
isFollow.value = false;
}
_onBlock();
},
child: const Text('确认'),
)
@@ -109,4 +101,26 @@ class MemberControllerNew extends CommonController
void shareUser() {
Share.share('https://space.bilibili.com/$mid');
}
void _onBlock() async {
dynamic res = await VideoHttp.relationMod(
mid: mid ?? -1,
act: relation.value != -1 ? 5 : 6,
reSrc: 11,
);
if (res['status']) {
relation.value = relation.value != -1 ? -1 : 1;
isFollow.value = false;
}
}
void onFollow() async {
if (relation.value == -1) {
_onBlock();
} else if (!isFollow.value) {
// TODO
} else {
// TODO
}
}
}

View File

@@ -298,7 +298,7 @@ class _MemberPageNewState extends State<MemberPageNew>
isFollow: _userController.isFollow.value,
card: userState.response.card,
images: userState.response.images,
// onFollow: _userController.onFollow,
onFollow: _userController.onFollow,
),
);
}

View File

@@ -16,14 +16,14 @@ class UserInfoCard extends StatelessWidget {
required this.images,
required this.relation,
required this.isFollow,
// required this.onFollow,
required this.onFollow,
});
final int relation;
final bool isFollow;
final space.Card card;
final space.Images images;
// final Function(dynamic uid, dynamic isFollow) onFollow;
final VoidCallback onFollow;
@override
Widget build(BuildContext context) {
@@ -154,10 +154,10 @@ class UserInfoCard extends StatelessWidget {
onTap: () {
if (index == 0) {
Get.toNamed(
'/follow?mid=${card.mid}&name=${card.name}');
'/fan?mid=${card.mid}&name=${card.name}');
} else if (index == 2) {
Get.toNamed(
'/fan?mid=${card.mid}&name=${card.name}');
'/follow?mid=${card.mid}&name=${card.name}');
}
},
),
@@ -206,7 +206,7 @@ class UserInfoCard extends StatelessWidget {
),
const SizedBox(width: 10),
FilledButton.tonal(
onPressed: () {},
onPressed: onFollow,
style: FilledButton.styleFrom(
backgroundColor: relation == -1 || isFollow
? Theme.of(context).colorScheme.onInverseSurface