src/contacts/FavoriteContact.js
import {
getFavoriteContacts,
updateFavoriteContacts,
} from './ContactCache';
export class FavoriteContact {
constructor() {
this._favoriteContacts = new Set(getFavoriteContacts() || []);
}
saveFavorite(contactDeviceId) {
this._favoriteContacts.add(contactDeviceId);
updateFavoriteContacts(Array.from(this._favoriteContacts));
}
removeFavorite(contactDeviceId) {
if (this._favoriteContacts.delete(contactDeviceId)) {
updateFavoriteContacts(Array.from(this._favoriteContacts));
}
}
getFavoriteContacts() {
return this._favoriteContacts;
}
updateContactsWithFavoriteFlag(contacts) {
return contacts.map((contact) => {
contact.favorite = this.getFavoriteContacts().has(contact.contactDeviceId);
return contact;
});
}
}