diff --git a/services/presentation/app/templates/_form_options.html b/services/presentation/app/templates/_form_options.html
new file mode 100644
index 0000000..5efd8d8
--- /dev/null
+++ b/services/presentation/app/templates/_form_options.html
@@ -0,0 +1,21 @@
+{# Opcje obliczeń — WSPÓLNE dla „Horoskop" (/) i „Skompiluj" (/compile). Jeden plik,
+ bo dodawaliśmy je już 3× w dwóch formularzach i groziło rozjechaniem (regresja
+ podsumowania). Wszystkie synchronizowane między zakładkami przez formsync.js. #}
+
+
+
+
+
+ {% set chosen = form.house_systems or [] %}
+ Porównaj systemy domów:
+
+
+
+
+
+
+
+
+
diff --git a/services/presentation/app/templates/chart.html b/services/presentation/app/templates/chart.html
index 599d926..563604c 100644
--- a/services/presentation/app/templates/chart.html
+++ b/services/presentation/app/templates/chart.html
@@ -51,24 +51,7 @@
{% include "_location_picker.html" %}
-
-
-
-
-
- {% set chosen = form.house_systems or [] %}
- Porównaj systemy domów:
-
-
-
-
-
-
-
-
-
+ {% include "_form_options.html" %}
{% if location_label %}
Wstępnie wpisano lokalizację: {{ location_label }} ({{ form.lat }}, {{ form.lon }}). Zmień pola lub kliknij „Tu i teraz".
-
- {% for key in ["Asc", "MC", "Dsc", "IC"] %}
- {% set a = result.angles[key] %}
-
{{ a.name }}
{{ a.sign }}
{{ a.in_sign }}
- {% endfor %}
-
-
- {% endif %}
-
- {# Porównanie systemów domów (PRE-05) — te same osie, inny podział na domy #}
- {% if result.house_systems and result.house_systems | length > 1 %}
- {% set HSN = {'whole_sign': 'Whole Sign', 'equal': 'Equal', 'porphyry': 'Porphyry'} %}
-
Porównanie systemów domów ({{ result.house_systems | length }})
{{ 'antyscja' if r.type == 'antiscion' else 'kontrantyscja' }}
-
{{ r.obj2 }}
-
{{ '%.2f'|format(r.orb) }}°
-
- {% endfor %}
-
-
- {% endif %}
-
- {% if result.tables %}
- {% set tb = result.tables %}
-
Tabele dodatkowe (LOG-23)
-
- {% set bal = tb.tally.with_modern_10_plus_asc %}
-
-
Bilans (10 planet + Asc)
Rozkład
-
-
Żywioły
- {% for e, n in bal.elements.items() %}
-
{{ tb.tally.labels.elements[e] }}: {{ n }}
- {% endfor %}
-
-
Jakości
- {% for q, n in bal.qualities.items() %}
-
{{ tb.tally.labels.qualities[q] }}: {{ n }}
- {% endfor %}
-
-
-
-
- {% if tb.tally.missing_elements or tb.tally.missing_qualities %}
-
Brak:
- {% for e in tb.tally.missing_elements %}{{ tb.tally.labels.elements[e] }}{{ ", " if not loop.last }}{% endfor %}
- {% for q in tb.tally.missing_qualities %}{{ tb.tally.labels.qualities[q] }}{{ ", " if not loop.last }}{% endfor %}
-
-
- {% endif %}
-
- {% if result.cusps %}
-
- Cusps domów ({{ result.house_system }})
-
-
Dom
Znak
Cusp
-
- {% for c in result.cusps %}
-
{{ c.house }}
{{ c.sign }}
{{ c.in_sign }}
- {% endfor %}
-
-
-
- {% endif %}
+ {% include "_result_tables.html" %}
{% endif %}
diff --git a/services/presentation/app/templates/compile.html b/services/presentation/app/templates/compile.html
index f41945b..800e9d5 100644
--- a/services/presentation/app/templates/compile.html
+++ b/services/presentation/app/templates/compile.html
@@ -55,26 +55,9 @@ zapamiętane predykcje okresowe. Dane pobiera z pozostałych zakładek — nie t
- {# Te same opcje co na „Horoskop" — synchronizowane między zakładkami (formsync),
- żeby podsumowanie liczyło się z tym, co wybrano przy horoskopie (nie okrojone). #}
-
-
-
-
-
- {% set chosen = form.house_systems or [] %}
- Porównaj systemy domów:
-
-
-
-
-
-
-
-
-
+ {# Te same opcje co na „Horoskop" (wspólny plik) — synchronizowane między
+ zakładkami (formsync), żeby podsumowanie liczyło się z tym, co wybrano. #}
+ {% include "_form_options.html" %}