first commit
This commit is contained in:
661
public/css/gamecard.css
Normal file
661
public/css/gamecard.css
Normal file
@@ -0,0 +1,661 @@
|
||||
@import url("../css/paper.css");
|
||||
@import url("../fonts/vera/bitstreamvera.css");
|
||||
@import url("../fonts/verdana/verdanapro.css");
|
||||
@import url("../fonts/m+1m/m+1m.css");
|
||||
@import url("../fonts/helvetica-now/stylesheet.css");
|
||||
@import url("../fonts/futura-now/stylesheet.css");
|
||||
@import url("../fonts/inconsolata/stylesheet.css");
|
||||
|
||||
:root {
|
||||
--color-success: #b7e1cd;
|
||||
--color-danger: #f4c7c3;
|
||||
--color-neutral: #acc9fe;
|
||||
--color-warning: rgb(249, 228, 180);
|
||||
--color-grey-100: #f8f9fa;
|
||||
--color-grey-200: #e9ecef;
|
||||
--color-grey-300: #dee2e6;
|
||||
--color-grey-400: #ced4da;
|
||||
--color-grey-500: #adb5bd;
|
||||
--color-grey-600: #6c757d;
|
||||
--color-grey-700: #495057;
|
||||
--color-grey-800: #343a40;
|
||||
--color-grey-900: #212529;
|
||||
--row-height: 14px;
|
||||
--monospace-font: "Inconsolata";
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "Helvetica Now";
|
||||
position: relative;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
table {
|
||||
position: inherit;
|
||||
font-size: inherit;
|
||||
border-collapse: collapse;
|
||||
empty-cells: show;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow-x: hidden;
|
||||
overflow-y: hidden;
|
||||
width: 100%;
|
||||
border: 0.5px solid black;
|
||||
display: inline-table;
|
||||
}
|
||||
|
||||
.bar-right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.bar-left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
/* vertical-align: middle; */
|
||||
/* line-height: 1.3em; */
|
||||
overflow: hidden;
|
||||
padding: 0 2px 0 2px; /* top right bottom left */
|
||||
}
|
||||
|
||||
tr {
|
||||
border-bottom-width: 0.5px;
|
||||
border-color: grey;
|
||||
border-bottom-style: solid;
|
||||
}
|
||||
|
||||
tr:last-child {
|
||||
border-bottom-color: black;
|
||||
}
|
||||
|
||||
tr:first-child {
|
||||
border-top-color: black;
|
||||
}
|
||||
|
||||
tr:nth-child(odd) {
|
||||
background-color: rgb(242, 242, 242, 0.85);
|
||||
}
|
||||
|
||||
tr:nth-child(even) {
|
||||
background-color: rgb(256, 256, 256, 0.85);
|
||||
}
|
||||
|
||||
td:not(:first-child) {
|
||||
border-left: 0.5px solid grey;
|
||||
}
|
||||
|
||||
th {
|
||||
font-stretch: extra-condensed;
|
||||
width: 1em;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
td:empty::after,
|
||||
th:empty::after {
|
||||
content: "\00a0";
|
||||
}
|
||||
|
||||
td.player-name {
|
||||
text-transform: uppercase;
|
||||
font-stretch: 80%;
|
||||
/* font-family: var(--monospace-font); */
|
||||
}
|
||||
|
||||
td.position,
|
||||
td.jersey-number {
|
||||
font-family: var(--monospace-font);
|
||||
width: 2ch;
|
||||
text-align: right;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.index-card .gamecard {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.B5 > .gamecard {
|
||||
/* height: auto; */
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-template-rows: 1fr 1fr;
|
||||
/* padding: 0.15in; */
|
||||
/* grid-gap: 0.25in 0.15in; */
|
||||
|
||||
/* background-image: url("../2023-G08-0523.png"); */
|
||||
background-size: 100%;
|
||||
}
|
||||
|
||||
.gamecard > section {
|
||||
/* margin: 0.07in; */
|
||||
box-sizing: content-box;
|
||||
/* border: 4px solid var(--color-grey-200); */
|
||||
/* border-radius: 4px; */
|
||||
overflow: hidden;
|
||||
outline: 0.5px dashed lightgrey;
|
||||
/* border-right: 1px dotted black; */
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.gamecard > section > div {
|
||||
margin: 0.15in;
|
||||
outline: 0.5px solid black;
|
||||
display: flex;
|
||||
flex: 1; /* consumes all free space (taking full height) */
|
||||
align-items: stretch;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#lineup-card-dugout div.grid-container,
|
||||
#lineup-card-dugout-empty div.grid-container {
|
||||
display: grid;
|
||||
grid-template-columns: 60% auto;
|
||||
grid-template-rows: fit-content(16px) auto;
|
||||
grid-template-areas:
|
||||
"header header"
|
||||
"sarting-lineup-table substitution-table";
|
||||
}
|
||||
|
||||
#lineup-card-exchange div.grid-container,
|
||||
#lineup-card-exchange-empty div.grid-container {
|
||||
display: grid;
|
||||
grid-template-columns: auto;
|
||||
grid-template-rows: fit-content(16px) auto;
|
||||
grid-template-areas:
|
||||
"header"
|
||||
"sarting-lineup-table";
|
||||
}
|
||||
|
||||
.lineup-card div.grid-container > .section-header {
|
||||
grid-area: "header";
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.lineup-card div.grid-container > .section-header:empty::after {
|
||||
content: "\00a0";
|
||||
}
|
||||
|
||||
div.grid-container > .starting-lineup-table {
|
||||
grid-area: "starting-lineup-table";
|
||||
}
|
||||
|
||||
div.grid-container > .substitution-table {
|
||||
grid-area: "substitution-table";
|
||||
}
|
||||
|
||||
.lineup-card thead th {
|
||||
color: var(--color-grey-600);
|
||||
font-size: 0.7em;
|
||||
}
|
||||
|
||||
.lineup-card th.sequence {
|
||||
color: var(--color-grey-600);
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
.lineup-card table {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.lineup-card td {
|
||||
height: 33.5px;
|
||||
}
|
||||
|
||||
#lineup-card-exchange tr,
|
||||
#lineup-card-exchange-empty tr,
|
||||
#lineup-card-dugout .starting-lineup-table tr,
|
||||
#lineup-card-dugout .substitution-table tr:nth-child(odd) {
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
#lineup-card-exchange tr,
|
||||
#lineup-card-exchange-empty tr,
|
||||
#lineup-card-dugout .starting-lineup-table tr,
|
||||
#lineup-card-dugout .substitution-table tr:nth-child(even) {
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
|
||||
#lineup-card-exchange td.player-name {
|
||||
font-stretch: 100%;
|
||||
}
|
||||
|
||||
#lineup-card-dugout td.player-name {
|
||||
width: 10ch;
|
||||
}
|
||||
|
||||
#lineup-card-dugout td.substitution,
|
||||
#lineup-card-dugout-empty td.substitution {
|
||||
font-size: 11px;
|
||||
height: 15px;
|
||||
}
|
||||
|
||||
.lineup-card .position,
|
||||
.lineup-card .jersey-number {
|
||||
width: 2ch;
|
||||
}
|
||||
|
||||
#lineup-card-dugout .position,
|
||||
#lineup-card-dugout .jersey-number {
|
||||
font-stretch: 75%;
|
||||
padding-left: 2.5px;
|
||||
padding-right: 2.5px;
|
||||
}
|
||||
|
||||
.lineup-card .section-header {
|
||||
padding-left: 1px;
|
||||
padding-right: 1px;
|
||||
font-size: inherit;
|
||||
text-transform: uppercase;
|
||||
font-stretch: 85%;
|
||||
}
|
||||
|
||||
#todays-game > div {
|
||||
display: grid;
|
||||
/* gap: 0.5px; */
|
||||
grid-template-columns: 110px auto;
|
||||
grid-template-rows: calc(var(--row-height) * 1) auto auto;
|
||||
grid-template-areas:
|
||||
"header header"
|
||||
"offense defense"
|
||||
"footer footer";
|
||||
}
|
||||
|
||||
#defense-pane {
|
||||
position: relative;
|
||||
/* box-sizing: border-box; */
|
||||
padding: 4px 4px 0px 4px; /* top right bottom left */
|
||||
display: flex;
|
||||
grid-area: defense;
|
||||
border-left: 0.5px solid black;
|
||||
border-bottom: 0.5px solid black;
|
||||
}
|
||||
|
||||
#offense-pane {
|
||||
position: relative;
|
||||
/* box-sizing: border-box; */
|
||||
height: 100%;
|
||||
grid-area: offense;
|
||||
border-bottom: 0.5px solid black;
|
||||
/* outline: 0.5px solid black; */
|
||||
}
|
||||
|
||||
#offense-pane table {
|
||||
height: 100%;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#defense-pane .container {
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-rows: auto;
|
||||
}
|
||||
|
||||
#defense-pane .pitching-container {
|
||||
margin: auto 0 0 0; /* top right bottom left */
|
||||
}
|
||||
|
||||
#defense-pane .field-container {
|
||||
display: grid;
|
||||
grid-template-rows: auto;
|
||||
/* margin: top; */
|
||||
width: 100%;
|
||||
/* background: url("../baseball-diamond.svg"); */
|
||||
background-size: 100%;
|
||||
background-position: center 10px;
|
||||
background-repeat: no-repeat;
|
||||
gap: 6px;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
#defense-pane img {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.defense-slot-set {
|
||||
width: 77px;
|
||||
}
|
||||
|
||||
.index-card .defense-slot-set {
|
||||
width: 65px;
|
||||
}
|
||||
|
||||
.index-card .defense-slot-set .player-name {
|
||||
font-stretch: 70%;
|
||||
}
|
||||
|
||||
.pitching-container .defense-slot-set {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.container .row {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
background-color: #cadcf9;
|
||||
font-size: 8.8px;
|
||||
/* outline: 1px solid black; */
|
||||
/* height: var(--row-height); */
|
||||
width: auto;
|
||||
grid-area: header;
|
||||
text-align: center;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
border-bottom: 0.5px solid black;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.footer {
|
||||
/* height:var(--row-height); */
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
grid-area: footer;
|
||||
/* border: 1px solid black; */
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.footer table {
|
||||
height: 100%;
|
||||
outline: none;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
.footer tr {
|
||||
background-color: white;
|
||||
outline: none;
|
||||
border-bottom: 0.5px solid var(--color-grey-500);
|
||||
}
|
||||
|
||||
.footer tr :last-child {
|
||||
background-color: white;
|
||||
outline: none;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
.footer th {
|
||||
text-align: left;
|
||||
color: var(--color-grey-600);
|
||||
}
|
||||
.footer td {
|
||||
height: var(--row-height);
|
||||
|
||||
border: none;
|
||||
}
|
||||
|
||||
.footer td:empty::after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
.cell-checkbox {
|
||||
font-size: 0.75em;
|
||||
}
|
||||
|
||||
.in-starting-lineup {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.gametitle {
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
font-stretch: semi-condensed;
|
||||
}
|
||||
|
||||
.homeaway {
|
||||
text-transform: uppercase;
|
||||
font-stretch: normal;
|
||||
font-weight: bolder;
|
||||
float: right;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.cell-smalltext {
|
||||
font-stretch: condensed;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.statscell {
|
||||
font-family: "m+1m";
|
||||
text-align: center;
|
||||
font-stretch: extra-condensed;
|
||||
font-size: 9px;
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
{
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.condensedNameCell {
|
||||
width: 70px;
|
||||
text-transform: uppercase;
|
||||
font-stretch: condensed;
|
||||
}
|
||||
|
||||
.cell-square {
|
||||
height: var(--row-height);
|
||||
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 {
|
||||
color: rgb(0, 85, 0);
|
||||
background-color: #b7e1cd;
|
||||
}
|
||||
|
||||
.available-status-code-0 {
|
||||
color: rgb(170, 0, 0);
|
||||
background-color: #f4c7c3;
|
||||
}
|
||||
|
||||
.past.available-status-code-0,
|
||||
.past.available-status-code-null {
|
||||
color: var(--color-grey-600);
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
.past.available-status-code-1 {
|
||||
color: inherit;
|
||||
background-color: var(--color-warning);
|
||||
}
|
||||
|
||||
.past.available-status-code-1.started {
|
||||
color: inherit;
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
.available-status-code-2 {
|
||||
color: blue;
|
||||
background-color: #acc9fe;
|
||||
}
|
||||
|
||||
#roster-and-history .player-name,
|
||||
#roster-and-history .jersey-number {
|
||||
color: black;
|
||||
}
|
||||
|
||||
#roster-and-history .player-name {
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
.starting {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#roster-and-history > div > table {
|
||||
/* font-size: 10.5px; */
|
||||
padding: 0;
|
||||
line-height: 1em;
|
||||
/* outline: 0.5px black; */
|
||||
}
|
||||
|
||||
#roster-and-history td,
|
||||
#roster-and-history th {
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
padding: 0.2em 0.1em 0.2em 0.1em; /* top right bottom left */
|
||||
}
|
||||
|
||||
#roster-and-history td.player-name {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#roster-and-history th {
|
||||
background-color: #cadcf9;
|
||||
color: black;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#roster-and-history thead > tr,
|
||||
#roster-and-history tfoot > tr {
|
||||
border-bottom: solid black 1px;
|
||||
}
|
||||
|
||||
#roster-and-history tbody {
|
||||
border-bottom: solid black 1px;
|
||||
}
|
||||
|
||||
#roster-and-history td[id^="avail"][id$="today-plus-1"],
|
||||
#roster-and-history .pitcher,
|
||||
#roster-and-history .player-stats,
|
||||
#roster-and-history td[id^="avail"][id$="today-minus-1"] {
|
||||
border-left-width: 1px;
|
||||
border-left-style: solid;
|
||||
border-left-color: black;
|
||||
}
|
||||
|
||||
#roster-and-history td.jersey-number {
|
||||
border-left: 0.5px solid lightgrey;
|
||||
}
|
||||
|
||||
#roster-and-history td.today-minus-4 {
|
||||
border-right: 1px solid black;
|
||||
}
|
||||
|
||||
#roster-and-history tr.border-top {
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
#roster-and-history #today-availability {
|
||||
font-stretch: normal;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.player-stats {
|
||||
font-family: var(--monospace-font);
|
||||
font-size: 1em;
|
||||
font-stretch: 60%;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
#roster-and-history td.position-capability,
|
||||
th.position-capability {
|
||||
font-size: 8px;
|
||||
font-stretch: 50%;
|
||||
width: 5px;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#roster-and-history th.position-capability {
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
td.position-capability:not(:empty) {
|
||||
color: var(--color-grey-700);
|
||||
background-color: var(--color-grey-200);
|
||||
}
|
||||
|
||||
td.is-present-checkbox {
|
||||
font-size: 0.5em;
|
||||
text-align: center;
|
||||
color: white;
|
||||
/* text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000,
|
||||
1px 1px 0 #000; */
|
||||
}
|
||||
|
||||
td.is-present-checkbox.available-status-code-0 > span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
td.is-present-checkbox.available-status-code-None > span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
td.availability {
|
||||
font-family: var(--monospace-font);
|
||||
font-stretch: condensed;
|
||||
text-align: center;
|
||||
max-width: 0.8em;
|
||||
min-width: 0.8em;
|
||||
}
|
||||
|
||||
.availability.future,
|
||||
.availability.past {
|
||||
font-family: var(--monospace-font);
|
||||
font-stretch: condensed;
|
||||
font-weight: normal;
|
||||
font-size: 0.8em;
|
||||
padding: 0.1em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
#roster-test .player-name {
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
grid-area: player-name;
|
||||
}
|
||||
|
||||
#roster-test .jersey-number {
|
||||
font-weight: bolder;
|
||||
font-stretch: extra-condensed;
|
||||
grid-area: jersey-number;
|
||||
}
|
||||
|
||||
#roster-test .player-stats {
|
||||
grid-area: player-stats;
|
||||
}
|
||||
|
||||
#roster-test .diamond {
|
||||
grid-area: diamond;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
height: 10px;
|
||||
/* height:10px; */
|
||||
}
|
||||
|
||||
.rotate {
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
|
||||
.delimiter,
|
||||
.decimal-point {
|
||||
font-family: Helvetica Now;
|
||||
font-stretch: expanded;
|
||||
color: var(--color-grey-500);
|
||||
}
|
||||
|
||||
th .decimal-point {
|
||||
color: rgb(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
th .delimiter {
|
||||
color: var(--color-grey-500);
|
||||
}
|
||||
71
public/css/paper.css
Normal file
71
public/css/paper.css
Normal file
@@ -0,0 +1,71 @@
|
||||
@page {
|
||||
margin: 0;
|
||||
size: B5;
|
||||
}
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
.sheet {
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
page-break-after: always;
|
||||
}
|
||||
|
||||
/** Paper sizes **/
|
||||
body.B5 .sheet {
|
||||
width: 182mm;
|
||||
height: 257mm;
|
||||
}
|
||||
|
||||
body.index-card .sheet {
|
||||
width: 3.5in;
|
||||
height: 5in;
|
||||
}
|
||||
|
||||
/** For screen preview **/
|
||||
@media screen {
|
||||
body {
|
||||
background: #e0e0e0;
|
||||
}
|
||||
.sheet {
|
||||
background: white;
|
||||
box-shadow: 0 0.5mm 2mm rgba(0, 0, 0, 0.3);
|
||||
margin: 5mm auto;
|
||||
}
|
||||
}
|
||||
|
||||
/** Fix for Chrome issue #273306 **/
|
||||
@media print {
|
||||
body.A3.landscape {
|
||||
width: 420mm;
|
||||
}
|
||||
body.A3,
|
||||
body.A4.landscape {
|
||||
width: 297mm;
|
||||
}
|
||||
body.A4,
|
||||
body.A5.landscape {
|
||||
width: 210mm;
|
||||
}
|
||||
body.A5 {
|
||||
width: 148mm;
|
||||
}
|
||||
body.B5 {
|
||||
width: 182mm;
|
||||
}
|
||||
body.B5.landscape {
|
||||
width: 257mm;
|
||||
}
|
||||
body.letter,
|
||||
body.legal {
|
||||
width: 216mm;
|
||||
}
|
||||
body.letter.landscape {
|
||||
width: 280mm;
|
||||
}
|
||||
body.legal.landscape {
|
||||
width: 357mm;
|
||||
}
|
||||
}
|
||||
57
public/css/project.css
Normal file
57
public/css/project.css
Normal file
@@ -0,0 +1,57 @@
|
||||
/* These styles are generated from project.scss. */
|
||||
@import url("https://fonts.googleapis.com/css2?family=Open+Sans&display=swap");
|
||||
.alert-debug {
|
||||
color: black;
|
||||
background-color: white;
|
||||
border-color: #d6e9c6;
|
||||
}
|
||||
|
||||
.alert-error {
|
||||
color: #b94a48;
|
||||
background-color: #f2dede;
|
||||
border-color: #eed3d7;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
text-transform: uppercase;
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
.bg-navbar {
|
||||
background: #212529;
|
||||
}
|
||||
|
||||
.btn-teamsnap {
|
||||
background-color: #ff8f00;
|
||||
border-color: #cc7200;
|
||||
color: #ffffff;
|
||||
border-bottom-width: 2px;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-family: "Open Sans", Helvetica, sans-serif;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
height: 32px;
|
||||
line-height: 29px;
|
||||
margin: 0;
|
||||
padding: 0 16px;
|
||||
text-decoration: none;
|
||||
transition: all 250ms ease-in-out;
|
||||
vertical-align: middle;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.btn-teamsnap:hover,
|
||||
.btn-teamsnap:active,
|
||||
.btn-teamsnap:focus {
|
||||
background-color: #e68100;
|
||||
border-color: #b86700;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.btn-gamechanger {
|
||||
color: #fff;
|
||||
border-color: #1b73bc;
|
||||
background-color: #1b73bc;
|
||||
}
|
||||
6
public/fonts/futura-now/stylesheet.css
Normal file
6
public/fonts/futura-now/stylesheet.css
Normal file
@@ -0,0 +1,6 @@
|
||||
@font-face {
|
||||
font-family: "Futura Now";
|
||||
src: url('futura-now.ttf') format('truetype');
|
||||
font-style: normal;
|
||||
font-weight: 100 900;
|
||||
}
|
||||
7
public/fonts/helvetica-now/stylesheet.css
Normal file
7
public/fonts/helvetica-now/stylesheet.css
Normal file
@@ -0,0 +1,7 @@
|
||||
@font-face {
|
||||
font-family: "Helvetica Now";
|
||||
src: url('helvetica-now.ttf') format('truetype');
|
||||
font-weight: 125 900;
|
||||
font-stretch: 50% 150%;
|
||||
font-style: normal;
|
||||
}
|
||||
4
public/fonts/inconsolata/stylesheet.css
Normal file
4
public/fonts/inconsolata/stylesheet.css
Normal file
@@ -0,0 +1,4 @@
|
||||
@font-face {
|
||||
font-family: "Inconsolata";
|
||||
src: url("inconsolata-vf.ttf") format("truetype");
|
||||
}
|
||||
38
public/fonts/m+1m/m+1m.css
Normal file
38
public/fonts/m+1m/m+1m.css
Normal file
@@ -0,0 +1,38 @@
|
||||
@font-face {
|
||||
font-family: 'm+1m';
|
||||
src: url('mplus-1m-bold-webfont.woff') format('woff');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'm+1m';
|
||||
src: url('mplus-1m-light-webfont.woff') format('woff');
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'm+1m';
|
||||
src: url('mplus-1m-medium-webfont.woff') format('woff');
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'm+1m';
|
||||
src: url('mplus-1m-regular-webfont.woff') format('woff');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'm+1m';
|
||||
src: url('mplus-1m-thin-webfont.woff') format('woff');
|
||||
font-weight: 100;
|
||||
font-style: normal;
|
||||
}
|
||||
68
public/fonts/vera/bitstreamvera.css
Normal file
68
public/fonts/vera/bitstreamvera.css
Normal file
@@ -0,0 +1,68 @@
|
||||
@font-face {
|
||||
font-family: 'Bitstream Vera Sans';
|
||||
src: url('Vera-Bold-webfont.woff') format('woff');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Bitstream Vera Sans';
|
||||
src: url('Vera-Bold-Italic-webfont.woff') format('woff');
|
||||
font-weight: bold;
|
||||
font-style: oblique;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Bitstream Vera Sans';
|
||||
src: url('Vera-Italic-webfont.woff') format('woff');
|
||||
font-weight: normal;
|
||||
font-style: oblique;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Bitstream Vera Sans';
|
||||
src: url('Vera-webfont.woff') format('woff');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Bitstream Vera Sans Mono';
|
||||
src: url('VeraMono-Bold-webfont.woff') format('woff');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Bitstream Vera Sans Mono';
|
||||
src: url('VeraMono-Bold-Italic-webfont.woff') format('woff');
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Bitstream Vera Sans Mono';
|
||||
src: url('VeraMono-Italic-webfont.woff') format('woff');
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Bitstream Vera Sans Mono';
|
||||
src: url('VeraMono-webfont.woff') format('woff');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Bitstream Vera Sans Mono';
|
||||
src: url('VeraMono-webfont.woff') format('woff');
|
||||
font-weight: 800;
|
||||
font-style: normal;
|
||||
}
|
||||
123
public/fonts/verdana/verdanapro.css
Normal file
123
public/fonts/verdana/verdanapro.css
Normal file
@@ -0,0 +1,123 @@
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-Black.ttf') format('truetype');
|
||||
font-weight: 800;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-BlackItalic.ttf') format('truetype');
|
||||
font-weight: 800;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-Bold.ttf') format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-BoldItalic.ttf') format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-CondBlack.ttf') format('truetype');
|
||||
font-stretch: condensed;
|
||||
font-weight: 800;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-CondBlackItalic.ttf') format('truetype');
|
||||
font-stretch: condensed;
|
||||
font-weight: 800;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-CondBold.ttf') format('truetype');
|
||||
font-stretch: condensed;
|
||||
font-weight: bold;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-CondBoldItalic.ttf') format('truetype');
|
||||
font-stretch: condensed;
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-CondItalic.ttf') format('truetype');
|
||||
font-stretch: condensed;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-CondLight.ttf') format('truetype');
|
||||
font-stretch: condensed;
|
||||
font-weight: 300;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-CondLightItalic.ttf') format('truetype');
|
||||
font-stretch: condensed;
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-CondRegular.ttf') format('truetype');
|
||||
font-stretch: condensed;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-CondSemiBold.ttf') format('truetype');
|
||||
font-stretch: condensed;
|
||||
font-weight: 600;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-CondSemiBoldItalic.ttf') format('truetype');
|
||||
font-stretch: condensed;
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-Italic.ttf') format('truetype');
|
||||
font-style: italic;
|
||||
font-weight: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-Light.ttf') format('truetype');
|
||||
font-weight: 300;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-LightItalic.ttf') format('truetype');
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-Regular.ttf') format('truetype');
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-SemiBold.ttf') format('truetype');
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'VerdanaPro';
|
||||
src: url('VerdanaPro-SemiBoldItalic.ttf') format('truetype');
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
}
|
||||
115
public/js/load_from_teamsnap.js
Normal file
115
public/js/load_from_teamsnap.js
Normal file
@@ -0,0 +1,115 @@
|
||||
event_id = "292333461";
|
||||
event_id_2 = "292333462";
|
||||
team_id = "6882652";
|
||||
|
||||
function format_stat(number) {
|
||||
const zeroPad = (num, places) => String(num).padStart(3, "0");
|
||||
return zeroPad(Math.round(number * 1000), 3);
|
||||
}
|
||||
|
||||
async function load_data_xxx() {
|
||||
const event_id = document.querySelector('input[name="event_id"]').value;
|
||||
const team_id = document.querySelector('input[name="team_id"]').value;
|
||||
update_card(team_id, event_id);
|
||||
}
|
||||
|
||||
async function update_card(team_id, event_id) {
|
||||
fetch(`/${team_id}/event/${event_id}/gamecard/data`, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
Accept: "application/json",
|
||||
},
|
||||
})
|
||||
.then((response) => response.json())
|
||||
.then(function (items) {
|
||||
console.log(items);
|
||||
events = items.filter(function (item) {
|
||||
return item.type == "event";
|
||||
});
|
||||
event_index = events.findIndex(function (e) {
|
||||
return e.id == event_id;
|
||||
});
|
||||
event = events[event_index];
|
||||
document.title = event.formattedTitle;
|
||||
|
||||
document.querySelectorAll(".event-title").forEach(function (element) {
|
||||
element.innerText = event.formattedTitle;
|
||||
});
|
||||
|
||||
document.querySelectorAll(".event-label").forEach(function (element) {
|
||||
element.innerText = event.label;
|
||||
});
|
||||
|
||||
document
|
||||
.querySelectorAll(".event-location-name")
|
||||
.forEach(function (element) {
|
||||
element.innerText = event.locationName;
|
||||
});
|
||||
|
||||
document.querySelectorAll(".opponent").forEach(function (element) {
|
||||
element.innerText = event.opponentName;
|
||||
});
|
||||
|
||||
document.querySelectorAll(".homeaway").forEach(function (element) {
|
||||
element.innerText = event.gameType;
|
||||
});
|
||||
|
||||
document.querySelectorAll(".event-date").forEach(function (element) {
|
||||
element.innerText = new Date(event.startDate).toLocaleDateString(
|
||||
"en-us",
|
||||
{
|
||||
weekday: "short",
|
||||
day: "numeric",
|
||||
// year: "numeric",
|
||||
month: "short",
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
document.querySelectorAll(".event-time").forEach(function (element) {
|
||||
element.innerText = new Date(event.startDate).toLocaleTimeString(
|
||||
"en-us",
|
||||
{
|
||||
hour: "numeric",
|
||||
minute: "2-digit",
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
document.getElementById("todays-game-header").innerText =
|
||||
event.formattedTitle +
|
||||
" - " +
|
||||
new Date(event.startDate).toLocaleDateString("en-us", {
|
||||
weekday: "short",
|
||||
day: "numeric",
|
||||
// year: "numeric",
|
||||
month: "short",
|
||||
}) +
|
||||
" " +
|
||||
new Date(event.startDate).toLocaleTimeString("en-us", {
|
||||
hour: "numeric",
|
||||
minute: "2-digit",
|
||||
});
|
||||
|
||||
for (let j = -4; j < 5; j++) {
|
||||
if (j < 0) {
|
||||
plus_minus = "minus";
|
||||
} else if (j > 0) {
|
||||
plus_minus = "plus";
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
document.querySelector(
|
||||
`th.today-${plus_minus}-${Math.abs(j)} div`
|
||||
).textContent = new Date(
|
||||
events[event_index + j].startDate
|
||||
).toLocaleDateString("en-us", {
|
||||
weekday: "short",
|
||||
});
|
||||
}
|
||||
console.log({
|
||||
0: events[event_index],
|
||||
1: events[event_index + 1],
|
||||
});
|
||||
});
|
||||
}
|
||||
6810
public/js/teamsnap.js
Normal file
6810
public/js/teamsnap.js
Normal file
File diff suppressed because it is too large
Load Diff
10
public/media/baseball-diamond.svg
Normal file
10
public/media/baseball-diamond.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 198 371" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-miterlimit:1.5;">
|
||||
<g transform="matrix(1.04762,0,0,1.04802,-58.5948,32.9153)">
|
||||
<path d="M90,150L60,119.396C60,119.396 77.426,47.232 150,47.383C220.563,47.53 240.863,120.923 240.863,120.923L210,150" style="fill:none;stroke:rgb(13,202,242);stroke-opacity:0.42;stroke-width:4.17px;"/>
|
||||
<g transform="matrix(1.97279,0,0,1.79916,-103.351,-30.936)">
|
||||
<path d="M128.423,67.218L158.837,100.567L128.423,133.916L98.009,100.567L128.423,67.218Z" style="fill:rgb(13,202,242);fill-opacity:0.1;stroke:rgb(13,202,242);stroke-opacity:0.42;stroke-width:2.21px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
23
public/media/benchcoach.svg
Normal file
23
public/media/benchcoach.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 17 KiB |
Reference in New Issue
Block a user