Re-select selected communication on fetch

This makes it so the UI updates with any changes we pull down.
This commit is contained in:
Eli Ribble 2026-03-14 20:03:46 +00:00
parent a8f2c87e38
commit 70d3aef8b3
No known key found for this signature in database
3 changed files with 12 additions and 6 deletions

View file

@ -19,11 +19,6 @@ type historyEntry struct {
Action string `json:"action"`
Timestamp time.Time `json:"timestamp"`
}
type reporter struct {
HasEmail bool `json:"has_email"`
HasPhone bool `json:"has_phone"`
Name string `json:"name"`
}
type communication struct {
Created time.Time `json:"created"`
History []historyEntry `json:"history"`

View file

@ -101,6 +101,15 @@
const data = await response.json();
this.communications = data.communications || data; // Handle different response formats
// if we already had something selected, reset it using the new data
if (this.selectedCommunication) {
const matching = this.communications.filter((report) => {
return report.id == this.selectedCommunication.id;
});
if (matching.length > 0) {
this.selectedCommunication = matching[0];
}
}
} catch (err) {
console.error("Error loading communications:", err);
throw err;

View file

@ -2,6 +2,7 @@ package types
import (
"encoding/json"
//"github.com/rs/zerolog/log"
)
type Contact struct {
@ -12,10 +13,11 @@ type Contact struct {
Phone *string `db:"phone" json:"-"`
}
func (c *Contact) MarshalJSON() ([]byte, error) {
func (c Contact) MarshalJSON() ([]byte, error) {
to_marshal := make(map[string]interface{}, 0)
to_marshal["name"] = c.Name
to_marshal["has_email"] = (c.Email != nil && *c.Email != "")
to_marshal["has_phone"] = (c.Phone != nil && *c.Phone != "")
//log.Debug().Msg("marshaling contact")
return json.Marshal(to_marshal)
}