Files
benchcoach-rails/app/views/event/lineup_card.html.slim
2023-09-07 14:23:30 -05:00

232 lines
9.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

=stylesheet_link_tag 'gamecard', media: 'all'
body.B5
#page-1.sheet.gamecard
section#todays-game
header
.event-title.float-left
| #{event.formatted_title} #{event.start_date.strftime("%a, %b %e %l:%M %p")}
.homeaway.float-right
| #{event.game_type}
.grid-container
#offense-pane
table#starting-lineup-offense
tbody
.slot-set
- offensive_lineup_entries = by_member.select{|m,d| d[:event_lineup_entry] and d[:event_lineup_entry].label.exclude?("[PO]")}.sort_by{|m,d| d[:event_lineup_entry].sequence}.each_with_index do |(member, d), i|
- if i < 11
tr.slot
th.sequence(rowspan="2")
| #{i+1}
td.player-name
| #{member.last_name}
td.jersey-number
| #{member.jersey_number}
td.position
| #{d[:event_lineup_entry].label}
tr.slot.substitute
td
td
td
#defense-pane
.field-container
img[src="/assets/baseball-diamond.svg"]
- for pos in ["CF", "LF", "RF", "SS", "2B", "3B", "1B", "C"]
- (member, d) = by_member.find{|m,d| d[:event_lineup_entry] and d[:event_lineup_entry].label == pos}
div class="slot-set pos-slot-#{pos}"
table
tbody
tr.slot
th.position
td.player-name
| #{member.last_name}
tr.slot.substitute
th
td
tr.slot.substitute
th
td
- (member, d) = by_member.find{|m,d| d[:event_lineup_entry] and (d[:event_lineup_entry].label == "P" or d[:event_lineup_entry].label == "P [PO]")}
div class="slot-set pos-slot-p"
table
tr
th.position
td.player-name #{!member.nil? ? member.last_name : ""}
td.jersey-number #{!member.nil? ? member.jersey_number : ""}
td.jersey-number
tr
th.position.pos-slot-rp-1
td.player-name
td.jersey-number
td.jersey-number
tr
th.position.pos-slot-rp-2
td.player-name
td.jersey-number
td.jersey-number
.footer
table.notes
tbody
tr
th
| Notes
tr
td
tr
td
tr
td
section#roster-and-history
div
table
thead
tr
th#today-availability[colspan="3"]
| Available (#{availability_summary.player_going_count}|#{availability_summary.player_maybe_count})
th.player-stats
span.decimal-point
| .
| AVG
span.delimiter
| /
span.decimal-point
| .
| OBP
span.delimiter
| /
span.decimal-point
| .
| SLG
span.delimiter
| :
| PA
th.position-capability.pitcher
| P
th.position-capability.catcher
| C
th.position-capability.infield
| I
th.position-capability.outfield
| O
- for timepoint, i in timeline.select{|tp| tp[:comparison_to_selected]>0}.sort{|tp| -tp[:comparison_to_selected]}.each_with_index
th class="avail-today-plus-#{timepoint[:comparison_to_selected]} future availability"
div
| #{timepoint[:event].start_date.strftime("%a")}
- for timepoint, i in timeline.select{|tp| tp[:comparison_to_selected]<0}.sort{|tp| tp[:comparison_to_selected]}.each_with_index
th class="avail-today-minus-#{timepoint[:comparison_to_selected].abs} past availability available-status-code-#{timepoint[:by_member][member][:availability].status_code}"
div
| #{timepoint[:event].start_date.strftime("%a")}
tbody
- by_member.select{|m,d| !m.is_non_player}.each_with_index do |(member, d), i|
tr id="roster-history-slot-#{i}"
td class="is-present-checkbox available-status-code-#{d[:availability].status_code}"
span
| ■
td class="jersey-number border-left available-status-code-#{d[:availability].status_code} #{!d[:event_lineup_entry].nil? ? 'starting' : ''}"
| #{member.jersey_number}
td class="player-name available-status-code-#{d[:availability].status_code} #{!d[:event_lineup_entry].nil? ? 'starting' : ''}"
| #{member.last_name}
td.player-stats.border-left.border-right
span.decimal-point
| .
span.avg
| 000
span.delimiter
| /
span.decimal-point
| .
span.obp
| 000
span.delimiter
| /
span.decimal-point
| .
span.slg
| 000
span.delimiter
| :
span.pa
| 00
td.position-capability.pitcher
| #{member.position.split(",",-1).include?("P") ? "\u2713" : ""}
td.position-capability.catcher
| #{member.position.split(",",-1).include?("C") ? "\u2713" : ""}
td.position-capability.infield
| #{member.position.split(",",-1).include?("IF") ? "\u2713" : ""}
td.position-capability.outfield
| #{member.position.split(",",-1).include?("OF") ? "\u2713" : ""}
- for timepoint, i in timeline.select{|tp| tp[:comparison_to_selected]>0}.sort{|tp| -tp[:comparison_to_selected]}.each_with_index
td class="avail-today-plus-#{timepoint[:comparison_to_selected]} future availability available-status-code-#{timepoint[:by_member][member][:availability].status_code}"
| #{timepoint[:by_member][member][:event_lineup_entry] ? timepoint[:by_member][member][:event_lineup_entry].label : timepoint[:by_member][member][:availability].status[0]}
- for timepoint, i in timeline.select{|tp| tp[:comparison_to_selected]<0}.sort{|tp| -tp[:comparison_to_selected]}.each_with_index
td class="avail-today-minus-#{timepoint[:comparison_to_selected].abs} past availability available-status-code-#{timepoint[:by_member][member][:availability].status_code}"
| #{timepoint[:by_member][member][:event_lineup_entry] ? timepoint[:by_member][member][:event_lineup_entry].label : timepoint[:by_member][member][:availability].status[0]}
-for section_name in ["lineup-card-dugout", "lineup-card-exchange"]
section.lineup-card id="#{section_name}"
header
.float-left.event-title
| #{event.formatted_title}
.float-right.homeaway
| #{event.game_type}
.starting-lineup-table
table
thead
tr
th[colspan="4"]
| Starting
th.substitution
| Substitution
tbody
- offensive_lineup_entries = by_member.select{|m,d| d[:event_lineup_entry] and d[:event_lineup_entry].label.exclude?("[PO]")}.sort_by{|m,d| d[:event_lineup_entry].sequence}
- num_entries = offensive_lineup_entries.length
- for i in (0...12)
tr.slot
th.sequence
| #{i<num_entries ? i+1 : nil}
td.player-name
| #{i<num_entries ? offensive_lineup_entries[i][0].last_name : nil}
td.jersey-number
| #{i<num_entries ? offensive_lineup_entries[i][0].jersey_number : nil}
td.position
| #{i<num_entries ? offensive_lineup_entries[i][1][:event_lineup_entry].label : nil}
td.substitution
#page-2.sheet.gamecard
section#back-cover
section#front-cover
header
.float-left.homeaway
| #{event.game_type[0]}
.event-title
| #{event.start_date.strftime('%A %b %-d, %l:%M %P')}
br
| #{event.location_name}
.container
.team
| #{team.name}
div vs.
.opponent
| #{event.opponent_name}
-for section_name in ["lineup-card-dugout-blank", "lineup-card-exchange-blank"]
section.lineup-card id="#{section_name}"
header
.float-left.event-title
.float-right.homeaway
.starting-lineup-table
table
thead
tr
th[colspan="4"]
| Starting
th.substitution
| Substitution
tbody
- for i in (0...12)
tr.slot
th.sequence
td.player-name
td.jersey-number
td.position
td.substitution