addLike method
Implementation
Future<UserAccount> addLike({
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];
if (!likes.contains(packageName)) {
likes.add(packageName);
}
final updated =
user.copyWith(likedPackages: likes, updatedAt: DateTime.now());
users[index] = updated;
await _writeUsers(users);
await addActivity(
email: email,
action: 'like_add',
message: 'Liked package $packageName',
);
return updated;
}