removeLike method

Future<UserAccount> removeLike({
  1. required String email,
  2. required String packageName,
})

Implementation

Future<UserAccount> removeLike({
  required String email,
  required String packageName,
}) async {
  final users = await _readUsers();
  final index = users.indexWhere((u) => u.email == email);
  if (index < 0) throw StateError('user not found');
  final user = users[index];
  final likes = [...user.likedPackages]..remove(packageName);
  final updated =
      user.copyWith(likedPackages: likes, updatedAt: DateTime.now());
  users[index] = updated;
  await _writeUsers(users);
  await addActivity(
    email: email,
    action: 'like_remove',
    message: 'Removed like for $packageName',
  );
  return updated;
}