contacts: process pinned group edits in reducer correctly

This commit is contained in:
Liam Fitzgerald 2021-02-02 13:30:20 +10:00
parent 6e87e7e1ed
commit 557be6e701
No known key found for this signature in database
GPG Key ID: D390E12C61D1CFFB

View File

@ -48,11 +48,24 @@ const edit = (json: ContactUpdate, state: S) => {
data &&
(ship in state.contacts)
) {
const edit = Object.keys(data['edit-field']);
if (edit.length !== 1) {
console.log(data);
const [field] = Object.keys(data['edit-field']);
if (!field) {
return;
}
state.contacts[ship][edit[0]] = data['edit-field'][edit[0]];
const contact = state.contacts?.[ship];
const value = data['edit-field'][field];
if(!contact) {
return;
}
if(field === 'add-group') {
contact.groups.push(value);
} else if (field === 'remove-group') {
contact.groups = contact.groups.filter(g => g !== value);
} else {
contact[field] = value;
}
}
};