From 9172a37bcc1409f64778b8b0a08c32d05acb6f7d Mon Sep 17 00:00:00 2001 From: Tony Date: Fri, 10 Jun 2022 16:54:14 -0500 Subject: [PATCH] add gamecard progress --- gamecard/static/css/gamecard.css | 77 ++++-- gamecard/templates/gamecard/gamecard.html | 311 ++++++++++++---------- gamecard/views.py | 11 + 3 files changed, 246 insertions(+), 153 deletions(-) diff --git a/gamecard/static/css/gamecard.css b/gamecard/static/css/gamecard.css index 107338b..8033b41 100644 --- a/gamecard/static/css/gamecard.css +++ b/gamecard/static/css/gamecard.css @@ -1,4 +1,4 @@ -@import url("../../css/paper.css"); +@import url("paper.css"); @import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap'); @import url('../fonts/vera/bitstreamvera.css'); @import url('../fonts/verdana/verdanapro.css'); @@ -48,7 +48,7 @@ card-right { height: 100%; width: 100%; /* padding: .1in; */ - outline: solid grey; + /*outline: solid grey;*/ } table { @@ -59,12 +59,39 @@ table { white-space: nowrap; text-overflow: ellipsis; overflow-x: hidden; + overflow-y: hidden; width: 100%; } -th, tr, td { - /* box-sizing: content-box; */ - border: 0.5px solid black; +table.lineup { + text-transform: uppercase; + width: 100%; + border: black; +} + +.cell-checkbox { + color: grey; + font-size: .75em; +} + +.cell-info-lastname { + width: 70px; + text-transform: uppercase; + font-stretch: condensed; +} + +.in-starting-lineup { + font-weight: bold; +} + +th{ + background: black; + color: white; + border: none; +} + +tr, td { + border: 0.5px solid grey; height: 17px; text-overflow: ellipsis; overflow-x: hidden; @@ -82,13 +109,18 @@ th, tr, td { font-weight: bolder; } -.numbercell { - font-family: "m+1m"; - text-align: center; - font-stretch: condensed; +.cell-smalltext { + font-stretch: condensed; font-size: 10px; } +.day-of-the-week{ + font-family: "m+1m"; + font-size: 8px; + transform: rotate(-90deg); + display: inline-block +} + .statscell { font-family: "m+1m"; text-align: center; @@ -97,16 +129,13 @@ th, tr, td { width: 60px; } -tr:nth-child(even) {background-color: #f2f2f2;} - -th{ - background: black; - color: white; - border: none; +tr:nth-child(even) { + background-color: #f2f2f2; } -.customcol{ - width: 120px; + + +{ text-transform: uppercase; } @@ -116,9 +145,21 @@ th{ font-stretch: condensed; } -.square { +.cell-square { height: 14px; width: 14px; + text-align: center; +} + +.cell-square.narrow { + width: 10px; +} +.cell-mono { + font-family: "m+1m"; +} + +.cell-condensed { + font-stretch: condensed; } .available-status-code-1{ diff --git a/gamecard/templates/gamecard/gamecard.html b/gamecard/templates/gamecard/gamecard.html index 7913e48..f96cd31 100644 --- a/gamecard/templates/gamecard/gamecard.html +++ b/gamecard/templates/gamecard/gamecard.html @@ -23,70 +23,70 @@ - +
- - - - - - - - - - - + {% for inning in '1234567X' %} + + {% endfor %} {% for member in members_startinglineup %} - + - - - - - - - - - - + + + {% for inning in '1234567X' %} + + {% endfor %} {% endfor %}
+ + - 1 - 2 - 3 - 4 - 5 - 6 - 7 - X + {{ inning }} +
{{ member.lineup_entry.sequence | add:"1" }}{{ member.lineup_entry.sequence | add:"1" }} {{ member.member.last_name }}{{ member.member.jersey_number }}{{ member.lineup_entry.label }}{{ member.member.jersey_number }}{{ member.lineup_entry.label }}
- +
{% for member in members_startingpositiononly %} - - - - - - - - - - - - + + + + + {% for inning in '1234567X' %} + + {% endfor %} + + {% endfor %} + {% for member in members_bench %} + + + + + + {% for inning in '1234567X' %} + + {% endfor %} + + {% endfor %} + {% for _ in blankrows_lineup %} + + + + + + {% for inning in '1234567X' %} + + {% endfor %} {% endfor %} @@ -95,96 +95,137 @@
-
{{ member.member.last_name }}{{ member.member.jersey_number }}{{ member.lineup_entry.label }}{{ member.member.last_name }}{{ member.member.jersey_number }}{{ member.lineup_entry.label }}
{{ member.member.last_name }}{{ member.member.jersey_number }}{{ member.lineup_entry.label }}
{{ member.member.last_name }}{{ member.member.jersey_number }}{{ member.lineup_entry.label }}
- - - - - - - - - - - {% for event in events_future %} - - {% endfor %} - {% for event in events_past %} - - {% endfor %} - - - - {% for member in members %} - +
+
AvailableAVG/OBP/SLG:PAPCIFOF - - {{ event.data.start_date|date:'D' }} - - - - {{ event.data.start_date|date:'D' }} - -
+ - - - - - - - - - - - - - - - + + + + + + + + + {% for event in events_future %} + + {% endfor %} + {% for event in events_past %} + + {% endfor %} - {% endfor %} - -
{{ member.member.jersey_number }}{{ member.member.last_name }} - {% if "P" in member.member.position %} - - {% else %} - - {% endif %} - - {% if "C" in member.member.position %} - - {% else %} - - {% endif %} - - {% if "IF" in member.member.position or "1B" in member.member.position %} - - {% else %} - - {% endif %} - - {% if "OF" in member.member.position %} - - {% else %} - - {% endif %} - - {{ member.availability_future.0.data.status.0 }} - - {{ member.availability_future.1.data.status.0 }} - - {{ member.availability_future.2.data.status.0 }} - - {{ member.availability_future.3.data.status.0 }} - - {{ member.availability_past.0.data.status.0 }} - - {{ member.availability_past.1.data.status.0 }} - - {{ member.availability_past.2.data.status.0 }} - - {{ member.availability_past.3.data.status.0 }} - AvailableAVG/OBP/SLG:PAPCIFOF + {{ event.data.start_date|date:'D' }} + + {{ event.data.start_date|date:'D' }} +
+ + + {% for member in members %} + + + + {{ member.member.jersey_number }} + {{ member.member.last_name }} + + + + {% if "P" in member.member.position %} + + {% else %} + + {% endif %} + + {% if "C" in member.member.position %} + + {% else %} + + {% endif %} + + + {% if "IF" in member.member.position or "1B" in member.member.position or "2B" in member.member.position or "3B" in member.member.position or "SS" in member.member.position %} + + {% else %} + + {% endif %} + + + {% if "OF" in member.member.position or "LF" in member.member.position or "CF" in member.member.position or "RF" in member.member.position %} + + {% else %} + + {% endif %} + + + + {{ member.availability_future.0.data.status.0 }} + + + {{ member.availability_future.1.data.status.0 }} + + + {{ member.availability_future.2.data.status.0 }} + + + {{ member.availability_future.3.data.status.0 }} + + + {{ member.availability_past.0.data.status.0 }} + + + {{ member.availability_past.1.data.status.0 }} + + + {{ member.availability_past.2.data.status.0 }} + + + {{ member.availability_past.3.data.status.0 }} + + + + {% endfor %} + {% for _ in blankrows_info %} + + + + + + + + + + + + + + + + + + + {% endfor %} + + + + + + + + + + + {% for member in members %} + + + + {% endfor %} + {% for _ in blankrows_info %} + + + + {% endfor %} + +
+ @@ -198,17 +239,17 @@ - - - diff --git a/gamecard/views.py b/gamecard/views.py index add918a..cd405a1 100644 --- a/gamecard/views.py +++ b/gamecard/views.py @@ -106,6 +106,7 @@ def gamecard(request, team_id, event_id): members_startinglineup = [] members_startingpositiononly = [] + members_bench = [] for member in members: if re.search( @@ -123,9 +124,14 @@ def gamecard(request, team_id, event_id): member["lineup_entry"]["label"] = position if member["lineup_entry"].get("id") and not position_only: + member["in_starting_lineup"] = True members_startinglineup.append(member) elif member["lineup_entry"].get("id") and position_only: + member["in_starting_lineup"] = False members_startingpositiononly.append(member) + elif member["availability"]["status_code"] in [1, 2]: + member["in_starting_lineup"] = False + members_bench.append(member) members_startinglineup = sorted( members_startinglineup, @@ -139,7 +145,12 @@ def gamecard(request, team_id, event_id): "members": members, "members_startinglineup": members_startinglineup, "members_startingpositiononly": members_startingpositiononly, + "members_bench": members_bench, + "blankrows_lineup": range( + 13 - len(members_startingpositiononly) - len(members_bench) + ), "ts_team": Team.objects.get(id=team_id), "ts_opponent": Opponent.objects.filter(id=ts_event.data["opponent_id"]).first, + "blankrows_info": range(25 - len(members)), } return render(request, "gamecard/gamecard.html", context=context)
+ {{ event.data.start_date|date:"D, F j, Y g:i A" }}
+ {{ event.data.location_name }}
+