diff --git a/__pycache__/main.cpython-311.pyc b/__pycache__/main.cpython-311.pyc index d9a846e..a905f86 100644 Binary files a/__pycache__/main.cpython-311.pyc and b/__pycache__/main.cpython-311.pyc differ diff --git a/main.py b/main.py index 0d5f1dc..e5cdf08 100644 --- a/main.py +++ b/main.py @@ -209,33 +209,6 @@ async def api_bot_control(req: BotControl): return {"status": "ok", "bot_running": STATE.bot_running} -# ============================================================ -# Reset Groups Endpoint -# ============================================================ - -@app.post("/api/reset_groups") -async def reset_groups(): - # Load existing data - data = load_json("assigned_groups.json") - - # Clear group assignments - for g in data["groups"].values(): - g.clear() - - # Reset friendly assigned_group - for f in data["friendly_members"]: - f["assigned_group"] = None - - # Reset enemy assigned_group - for e in data["enemy_members"]: - e["assigned_group"] = None - - # Save back to file - save_json("assigned_groups.json", data) - - return { "success": True } - - # ============================================================ # Discord Bot Setup # ============================================================ diff --git a/static/dashboard.js b/static/dashboard.js index 3b55950..23711dc 100644 --- a/static/dashboard.js +++ b/static/dashboard.js @@ -226,16 +226,24 @@ async function clearAssignmentsOnServer() { // --------------------------- function ensureMainListContains(member, kind) { const container = kind === "friendly" ? friendlyContainer : enemyContainer; - // If member is not in any group zone, ensure it's in the main list (append if not present) const parent = member.domElement?.parentElement; - const isInDropZone = parent && parent.classList && parent.classList.contains("drop-zone"); - if (!isInDropZone) { + + // Detect group zone: ids like "group-1-friendly" or "group-2-enemy" + const isInGroupZone = parent && typeof parent.id === "string" && /^group-\d+-/.test(parent.id); + + // If member has no parent yet, or is in a group zone, ensure it ends up in the main list + if (!parent || isInGroupZone) { + // If it's already in the right container, nothing to do if (member.domElement && member.domElement.parentElement !== container) { + // remove from previous parent (if any) and append to main list + const prev = member.domElement.parentElement; + if (prev) prev.removeChild(member.domElement); container.appendChild(member.domElement); } } } + function applyAssignmentsToDOM(assignments) { if (!assignments) return;