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> {{ 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> {{ 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: </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> {{ 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> {{ 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: </span><span>{{ round.voting_deadline|date:"Y-m-d" }}</span> + </div> + {% endif %} + + </div> </div> + </div> -- GitLab