diff --git a/static/app.js b/static/app.js index 84dadee..699dee5 100644 --- a/static/app.js +++ b/static/app.js @@ -186,6 +186,7 @@ function filterChart(d) { ); })(); let lastSyn = null; +let synSwapped = false; /* ---------------- tabs ---------------- */ document.querySelectorAll("#tabs button").forEach((b) => @@ -502,6 +503,7 @@ $("#syn-go").addEventListener("click", async () => { }); const d = await res.json(); if (d.error) throw new Error(d.error); + synSwapped = false; renderSynastry(d); } catch (ex) { err.textContent = ex.message; @@ -534,9 +536,18 @@ function renderSynastry(d0, scroll = true) {
${sc.harmony}
harmony
${sc.tension}
tension
${sc.contacts}
contacts
-
-

Biwheel: ${esc(nameA)} outer · ${esc(nameB)} inner, in ${esc(nameA)}'s houses.

`; - $("#syn-wheel").innerHTML = wheelSVG(d.chart_a, d.chart_b); +
`; + const base = synSwapped ? d.chart_b : d.chart_a; + const over = synSwapped ? d.chart_a : d.chart_b; + const baseName = synSwapped ? nameB : nameA; + const overName = synSwapped ? nameA : nameB; + if (base.time_unknown && !over.time_unknown) { + $("#syn-legend").innerHTML = `${esc(baseName)}'s birth time is unknown — houses/rotation are its noon solar chart. Swap to frame by ${esc(overName)}.`; + } else { + $("#syn-legend").innerHTML = + `Biwheel: ${esc(baseName)} outer · ${esc(overName)} inner, in ${esc(baseName)}'s houses.`; + } + $("#syn-wheel").innerHTML = wheelSVG(base, over); // inter-aspect grid: rows = A points, cols = B points const cls = (a) => ({ Conjunction: "asp-gold", Opposition: "asp-red", Square: "asp-red", Trine: "asp-blue", Sextile: "asp-green" }[a.aspect] || "asp-dim"); @@ -568,6 +579,10 @@ function renderSynastry(d0, scroll = true) { if (scroll) $("#syn-results").scrollIntoView({ behavior: "smooth" }); } $("#syn-print").addEventListener("click", () => window.print()); +$("#syn-swap").addEventListener("click", () => { + synSwapped = !synSwapped; + if (lastSyn) renderSynastry(lastSyn, false); +}); /* ---------------- aspect reference ---------------- */ (async function loadReference() { diff --git a/static/index.html b/static/index.html index a0c3765..b0f2b02 100644 --- a/static/index.html +++ b/static/index.html @@ -127,6 +127,10 @@