Pivoted to in memory only storage
This commit is contained in:
@@ -425,39 +425,97 @@ function setupDropZones() {
|
||||
}
|
||||
|
||||
// ---------------------------
|
||||
// Populate & Status functions (unchanged behavior)
|
||||
// Populate & Status functions
|
||||
// ---------------------------
|
||||
async function populateFriendly() {
|
||||
const id = toInt(document.getElementById("friendly-id").value);
|
||||
if (!id) return alert("Enter Friendly Faction ID");
|
||||
|
||||
await fetch("/api/populate_friendly", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ faction_id: id, interval: 0 })
|
||||
});
|
||||
try {
|
||||
const res = await fetch("/api/populate_friendly", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ faction_id: id, interval: 0 })
|
||||
});
|
||||
const data = await res.json();
|
||||
|
||||
// reload members and assignments
|
||||
await loadMembers("friendly");
|
||||
await loadMembers("enemy"); // in case population changed cross lists
|
||||
await pollAssignments();
|
||||
await refreshStatus("friendly");
|
||||
// Update in-memory map & DOM
|
||||
if (data.members) {
|
||||
for (const m of data.members) {
|
||||
let existing = friendlyMembers.get(m.id);
|
||||
if (existing) {
|
||||
existing.name = m.name;
|
||||
existing.level = m.level;
|
||||
existing.estimate = m.estimate;
|
||||
existing.status = m.status || "Unknown";
|
||||
updateMemberCard(existing);
|
||||
} else {
|
||||
const newMember = {
|
||||
id: m.id,
|
||||
name: m.name,
|
||||
level: m.level,
|
||||
estimate: m.estimate,
|
||||
status: m.status || "Unknown",
|
||||
domElement: null
|
||||
};
|
||||
friendlyMembers.set(m.id, newMember);
|
||||
const card = createMemberCard(newMember, "friendly");
|
||||
friendlyContainer.appendChild(card);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Refresh assignments & status UI
|
||||
await loadMembers("enemy"); // in case population changed cross lists
|
||||
await pollAssignments();
|
||||
} catch (err) {
|
||||
console.error("populateFriendly error:", err);
|
||||
}
|
||||
}
|
||||
|
||||
async function populateEnemy() {
|
||||
const id = toInt(document.getElementById("enemy-id").value);
|
||||
if (!id) return alert("Enter Enemy Faction ID");
|
||||
|
||||
await fetch("/api/populate_enemy", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ faction_id: id, interval: 0 })
|
||||
});
|
||||
try {
|
||||
const res = await fetch("/api/populate_enemy", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ faction_id: id, interval: 0 })
|
||||
});
|
||||
const data = await res.json();
|
||||
|
||||
await loadMembers("enemy");
|
||||
await loadMembers("friendly");
|
||||
await pollAssignments();
|
||||
await refreshStatus("enemy");
|
||||
if (data.members) {
|
||||
for (const m of data.members) {
|
||||
let existing = enemyMembers.get(m.id);
|
||||
if (existing) {
|
||||
existing.name = m.name;
|
||||
existing.level = m.level;
|
||||
existing.estimate = m.estimate;
|
||||
existing.status = m.status || "Unknown";
|
||||
updateMemberCard(existing);
|
||||
} else {
|
||||
const newMember = {
|
||||
id: m.id,
|
||||
name: m.name,
|
||||
level: m.level,
|
||||
estimate: m.estimate,
|
||||
status: m.status || "Unknown",
|
||||
domElement: null
|
||||
};
|
||||
enemyMembers.set(m.id, newMember);
|
||||
const card = createMemberCard(newMember, "enemy");
|
||||
enemyContainer.appendChild(card);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Refresh assignments & status UI
|
||||
await loadMembers("friendly");
|
||||
await pollAssignments();
|
||||
} catch (err) {
|
||||
console.error("populateEnemy error:", err);
|
||||
}
|
||||
}
|
||||
|
||||
// status refresh (pulls from server status json)
|
||||
|
||||
Reference in New Issue
Block a user