From d2152ff89c915f19d8d81e19c38b860f377162da Mon Sep 17 00:00:00 2001
From: George Katsikas <giorgakis.katsikas@gmail.com>
Date: Wed, 27 Sep 2023 17:21:35 +0200
Subject: [PATCH] beautify nominations round details summary

---
 .../colleges/_hx_nomination_details.html      |   3 +-
 .../colleges/_hx_nomination_summary.html      |  55 ++++-----
 .../_hx_nomination_voting_rounds_tab.html     |   4 +-
 .../colleges/_hx_voting_round_summary.html    | 104 ++++++++++++++----
 4 files changed, 109 insertions(+), 57 deletions(-)

diff --git a/scipost_django/colleges/templates/colleges/_hx_nomination_details.html b/scipost_django/colleges/templates/colleges/_hx_nomination_details.html
index ad427ab2b..e4684a441 100644
--- a/scipost_django/colleges/templates/colleges/_hx_nomination_details.html
+++ b/scipost_django/colleges/templates/colleges/_hx_nomination_details.html
@@ -5,7 +5,6 @@
   <div id="nomination-{{ nomination.id }}-details-contents"
        class="p-2 mt-2 bg-white"
        hx-get="{% url 'colleges:_hx_nomination_li_contents' nomination_id=nomination.id %}"
-       hx-trigger="toggle once from:#nomination-{{ nomination.id }}-details"
-       hx-indicator="#indicator-nomination-{{ nomination.id }}-details-contents"></div>
+       hx-trigger="toggle once from:#nomination-{{ nomination.id }}-details"></div>
 
 </details>
diff --git a/scipost_django/colleges/templates/colleges/_hx_nomination_summary.html b/scipost_django/colleges/templates/colleges/_hx_nomination_summary.html
index 2d1083408..0b3365886 100644
--- a/scipost_django/colleges/templates/colleges/_hx_nomination_summary.html
+++ b/scipost_django/colleges/templates/colleges/_hx_nomination_summary.html
@@ -1,40 +1,33 @@
-<div class="row mb-0 w-100">
-
-  <div class="col-12 col-sm">
-    <div class="fs-6">{{ nomination.profile }}</div>
-    <div class="d-none d-md-block">(click for details)</div>
-  </div>
-
-  {% with nomination.latest_voting_round as round %}
-
-    <div class="col-12 col-sm-auto">
-      <div>
-        <span>Editorial College:</span><span>&emsp;{{ nomination.college.name }}</span>
+<div class="row mb-0">
+  <div class="col-12 col-md">
+    <div class="row">
+ 
+      <div class="col">
+        <div class="fs-6">{{ nomination.profile }}</div>
+        <div class="d-none d-md-block">(click for details)</div>
       </div>
-      <div>
-        <span>Voting started:</span><span>&emsp;{{ round.voting_opens|date:"Y-m-d" }}</span>
+ 
+      <div class="col-auto">
+        <div class="row justify-content-between">
+          <small class="col text-muted text-nowrap">Editorial college</small>
+          <div class="col-auto">{{ nomination.college.name }}</div>
+        </div>
       </div>
-    </div>
 
-    <div class="col-12 col-sm-auto">
-      <div>
-        <span>Decision:</span>
+    </div>
+  </div>
 
-        {% if round.decision.outcome == "elected" %}
-          <span class="badge bg-success">{{ round.decision.get_outcome_display }}</span>
-        {% elif round.decision.outcome == "notelected" %}
-          <span class="badge bg-danger">{{ round.decision.get_outcome_display }}</span>
-        {% else %}
-          <span class="badge bg-warning">Pending</span>
-        {% endif %}
+  <div class="col col-md-6 col-lg-5">
 
+    {% if nomination.latest_voting_round %}
+      {% include "colleges/_hx_voting_round_summary.html" with round=nomination.latest_voting_round %}
+    {% else %}
+      <div class="h-100 d-flex align-items-center justify-content-center">
+        <div class="badge bg-danger fs-6">No rounds created yet</div>
       </div>
+    {% endif %}
+
+  </div>
 
-      <div>
-        <span>Deadline:&nbsp;</span><span>{{ round.voting_deadline|date:"Y-m-d" }}</span>
-      </div>
-    </div>
- 
-  {% endwith %}
  
 </div>
diff --git a/scipost_django/colleges/templates/colleges/_hx_nomination_voting_rounds_tab.html b/scipost_django/colleges/templates/colleges/_hx_nomination_voting_rounds_tab.html
index a2369526b..6a88f8e41 100644
--- a/scipost_django/colleges/templates/colleges/_hx_nomination_voting_rounds_tab.html
+++ b/scipost_django/colleges/templates/colleges/_hx_nomination_voting_rounds_tab.html
@@ -19,12 +19,12 @@
             {% if voting_round.voting_opens and voting_round.voting_deadline %}
               <small>{{ voting_round.voting_opens|date:"d M Y" }} - {{ voting_round.voting_deadline|date:"d M Y" }}</small>
               {% else %}
-              <span class="badge bg-danger">Uncheduled</span>
+              <span class="badge bg-warning">Unscheduled</span>
             {% endif %}
             <span class="d-flex justify-content-between align-items-center">
               <span>Round #{{ forloop.revcounter }}</span>  
               {% if voting_round.is_scheduled %}
-                <span class="badge bg-warning">Scheduled</span>
+                <span class="badge bg-primary">Scheduled</span>
               {% elif voting_round.is_open %}
                 <span class="badge bg-success">Open</span>
               {% endif %}
diff --git a/scipost_django/colleges/templates/colleges/_hx_voting_round_summary.html b/scipost_django/colleges/templates/colleges/_hx_voting_round_summary.html
index a2220ed10..119a04577 100644
--- a/scipost_django/colleges/templates/colleges/_hx_voting_round_summary.html
+++ b/scipost_django/colleges/templates/colleges/_hx_voting_round_summary.html
@@ -1,36 +1,96 @@
-<div class="row mb-0 w-100">
+<div class="row mb-0">
 
-  <div class="col-12 col-sm">
-    <div class="fs-6">{{ round.nomination.profile }}</div>
-    <div class="d-none d-md-block">(click for details)</div>
-  </div>
+  {% if not round.is_unscheduled %}
+    <div class="order-1 col-12 col-sm-6 col-md-12 col-xl-7">
+      <div class="row justify-content-between">
+        <small class="col text-muted text-nowrap">Voting opens</small>
+
+        <div class="col-auto">
+
+          {% if round.is_open %}
+            {{ round.voting_opens|timesince }} ago
+          {% else %}
+            {{ round.voting_opens|date:"Y-m-d" }}
+          {% endif %}
+
+        </div>
+      </div>
+    </div>
+    <div class="order-2 order-sm-3 order-md-2 order-xl-3 col-12 col-sm-6 col-md-12 col-xl-7">
+      <div class="row justify-content-between">
+        <small class="col text-muted text-nowrap">Voting deadline</small>
 
+        <div class="col-auto">
 
-  <div class="col-12 col-sm-auto">
-    <div>
-      <span>Editorial College:</span><span>&emsp;{{ round.nomination.college.name }}</span>
+          {% if round.is_open %}
+            In {{ round.voting_deadline|timeuntil }}
+          {% else %}
+            {{ round.voting_deadline|date:"Y-m-d" }}
+          {% endif %}
+
+        </div>
+
+      </div>
     </div>
-    <div>
-      <span>Voting started:</span><span>&emsp;{{ round.voting_opens|date:"Y-m-d" }}</span>
+  {% else %}
+    <div class="order-1 col-12 col-sm-6 col-md-12 col-xl-7"></div>
+    <div class="order-2 order-sm-3 order-md-2 order-xl-3 col-12 col-sm-6 col-md-12 col-xl-7"></div>
+  {% endif %}
+
+  <div class="order-3 order-sm-2 order-md-3 order-xl-2 col-12 col-sm-6 col-md-12 col-xl-5">
+    <div class="row justify-content-between">
+      <small class="col text-muted text-nowrap">Voting status</small>
+
+      <div class="col-auto">
+
+        {% if round.is_unscheduled %}
+          <span class="badge bg-warning">Unscheduled</span>
+        {% elif round.is_open %}
+          <span class="badge bg-success">Open</span>
+        {% elif round.is_scheduled %}
+          <span class="badge bg-primary">Scheduled</span>
+        {% elif round.is_closed %}
+          <span class="badge bg-primary">Closed</span>
+        {% endif %}
+
+      </div>
+
     </div>
   </div>
+ 
+  <div class="order-4 col-12 col-sm-6 col-md-12 col-xl-5">
+    <div class="row justify-content-between">
+
+      {% if round.is_closed %}
+        <small class="col text-muted text-nowrap">Decision</small>
 
-  <div class="col-12 col-sm-auto">
-    <div>
-      <span>Decision:</span>
+        <div class="col-auto">
 
-      {% if round.decision.outcome == "elected" %}
-        <span class="badge bg-success">{{ round.decision.get_outcome_display }}</span>
-      {% elif round.decision.outcome == "notelected" %}
-        <span class="badge bg-danger">{{ round.decision.get_outcome_display }}</span>
+          {% if round.decision.outcome == "elected" %}
+            <span class="badge bg-success">{{ round.decision.get_outcome_display }}</span>
+          {% elif round.decision.outcome == "notelected" %}
+            <span class="badge bg-danger">{{ round.decision.get_outcome_display }}</span>
+          {% else %}
+            <span class="badge bg-warning">Pending</span>
+          {% endif %}
+
+        </div>
       {% else %}
-        <span class="badge bg-warning">Pending</span>
-      {% endif %}
+        <small class="col text-muted text-nowrap">Voted / Total</small>
 
-    </div>
+        <div class="col-auto">
+
+          {% if round.eligible_to_vote.count > 0 %}
+            {{ round.votes.count }}  /  {{ round.eligible_to_vote.count }}
+          {% else %}
+            <span class="badge bg-danger">None</span>
+          {% endif %}
 
-    <div>
-      <span>Deadline:&nbsp;</span><span>{{ round.voting_deadline|date:"Y-m-d" }}</span>
+        </div>
+      {% endif %}
+
+ 
     </div>
   </div>
+
 </div>
-- 
GitLab