add function AddOrDeleteFriend

pull/32/head
Emre KARTAL 2 years ago
parent 00219afacb
commit 1fe178c662

@ -74,6 +74,7 @@ class _ProfileListComponentState extends State<ProfileListComponent> {
child: InkWell( child: InkWell(
splashColor: Colors.white.withOpacity(0.3), splashColor: Colors.white.withOpacity(0.3),
onTap: () { onTap: () {
MyApp.userViewModel.addOrDeleteFriend(widget.user.id);
setState(() { setState(() {
clicked = !clicked; clicked = !clicked;
}); });
@ -93,6 +94,7 @@ class _ProfileListComponentState extends State<ProfileListComponent> {
child: InkWell( child: InkWell(
splashColor: Colors.white.withOpacity(0.3), splashColor: Colors.white.withOpacity(0.3),
onTap: () { onTap: () {
MyApp.userViewModel.addOrDeleteFriend(widget.user.id);
setState(() { setState(() {
clicked = !clicked; clicked = !clicked;
}); });

@ -2,7 +2,6 @@ import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:tuple/tuple.dart'; import 'package:tuple/tuple.dart';
import '../../main.dart'; import '../../main.dart';
import '../Music.dart';
import '../Post.dart'; import '../Post.dart';
import '../User.dart'; import '../User.dart';

@ -14,8 +14,25 @@ class UserService {
String id = doc["unique_id"]; String id = doc["unique_id"];
return id != MyApp.userViewModel.userCurrent.uniquePseudo; return id != MyApp.userViewModel.userCurrent.uniquePseudo;
}).toList(); }).toList();
print("cc34" + users.toString());
return users; return users;
} }
addOrDeleteFriend(String id) async {
var userRef = MyApp.db.collection("users").doc(MyApp.userViewModel.userCurrent.id);
if (MyApp.userViewModel.isFriend(id)) {
await MyApp.db.runTransaction((transaction) async {
transaction.update(userRef, {'followed': FieldValue.arrayRemove([id])});
});
MyApp.userViewModel.userCurrent.followed.remove(id);
} else {
await MyApp.db.runTransaction((transaction) async {
transaction.update(userRef, {'followed': FieldValue.arrayUnion([id])});
});
MyApp.userViewModel.userCurrent.followed.add(id);
}
}
} }

@ -78,6 +78,15 @@ class UserViewModel {
} }
} }
AddOrDeleteFriend(String id) async {
try {
await _userService.addOrDeleteFriend(id);
} catch(e) {
print(e);
rethrow;
}
}
logout() { logout() {
_authService.signOut(); _authService.signOut();
} }

Loading…
Cancel
Save