Prep site for MVP

This commit is contained in:
Peter 2023-08-10 19:34:27 -04:00
parent 2211cfde2e
commit a719c7739c
15 changed files with 301 additions and 1487 deletions

View File

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<meta property="og:title" content="SBa: Season 7" /> <meta property="og:title" content="SBa: Season 7" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://sombaseball.ddns.net" /> <meta property="og:url" content="https://sba.manticorum.dev" />
<meta property="og:image" content="https://sombaseball.ddns.net/static/images/sba-network.png" /> <meta property="og:image" content="https://sombaseball.ddns.net/static/images/sba-network.png" />
<meta property="og:description" content="The home of the Strat-o-matic Baseball Association" /> <meta property="og:description" content="The home of the Strat-o-matic Baseball Association" />
<meta name="theme-color" content="#A6CE39"> <meta name="theme-color" content="#A6CE39">

217
package-lock.json generated
View File

@ -8,6 +8,8 @@
"name": "sba2", "name": "sba2",
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"@popperjs/core": "2.11.8",
"bootstrap": "5.3.1",
"vue": "^3.2.45", "vue": "^3.2.45",
"vue-router": "^4.1.6" "vue-router": "^4.1.6"
}, },
@ -35,9 +37,9 @@
} }
}, },
"node_modules/@babel/parser": { "node_modules/@babel/parser": {
"version": "7.21.1", "version": "7.22.10",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.1.tgz", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz",
"integrity": "sha512-JzhBFpkuhBNYUY7qs+wTzNmyCWUHEaAFpQQD2YfU1rPL38/L43Wvid0fFkiOCnHvsGncRZgEPyGnltABLcVDTg==", "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==",
"bin": { "bin": {
"parser": "bin/babel-parser.js" "parser": "bin/babel-parser.js"
}, },
@ -422,10 +424,9 @@
} }
}, },
"node_modules/@jridgewell/sourcemap-codec": { "node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.14", "version": "1.4.15",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
"dev": true
}, },
"node_modules/@juggle/resize-observer": { "node_modules/@juggle/resize-observer": {
"version": "3.4.0", "version": "3.4.0",
@ -468,6 +469,15 @@
"node": ">= 8" "node": ">= 8"
} }
}, },
"node_modules/@popperjs/core": {
"version": "2.11.8",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/@rollup/pluginutils": { "node_modules/@rollup/pluginutils": {
"version": "5.0.2", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz",
@ -621,49 +631,49 @@
} }
}, },
"node_modules/@vue/compiler-core": { "node_modules/@vue/compiler-core": {
"version": "3.2.47", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
"integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
"dependencies": { "dependencies": {
"@babel/parser": "^7.16.4", "@babel/parser": "^7.21.3",
"@vue/shared": "3.2.47", "@vue/shared": "3.3.4",
"estree-walker": "^2.0.2", "estree-walker": "^2.0.2",
"source-map": "^0.6.1" "source-map-js": "^1.0.2"
} }
}, },
"node_modules/@vue/compiler-dom": { "node_modules/@vue/compiler-dom": {
"version": "3.2.47", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
"integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
"dependencies": { "dependencies": {
"@vue/compiler-core": "3.2.47", "@vue/compiler-core": "3.3.4",
"@vue/shared": "3.2.47" "@vue/shared": "3.3.4"
} }
}, },
"node_modules/@vue/compiler-sfc": { "node_modules/@vue/compiler-sfc": {
"version": "3.2.47", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
"integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
"dependencies": { "dependencies": {
"@babel/parser": "^7.16.4", "@babel/parser": "^7.20.15",
"@vue/compiler-core": "3.2.47", "@vue/compiler-core": "3.3.4",
"@vue/compiler-dom": "3.2.47", "@vue/compiler-dom": "3.3.4",
"@vue/compiler-ssr": "3.2.47", "@vue/compiler-ssr": "3.3.4",
"@vue/reactivity-transform": "3.2.47", "@vue/reactivity-transform": "3.3.4",
"@vue/shared": "3.2.47", "@vue/shared": "3.3.4",
"estree-walker": "^2.0.2", "estree-walker": "^2.0.2",
"magic-string": "^0.25.7", "magic-string": "^0.30.0",
"postcss": "^8.1.10", "postcss": "^8.1.10",
"source-map": "^0.6.1" "source-map-js": "^1.0.2"
} }
}, },
"node_modules/@vue/compiler-ssr": { "node_modules/@vue/compiler-ssr": {
"version": "3.2.47", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
"integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
"dependencies": { "dependencies": {
"@vue/compiler-dom": "3.2.47", "@vue/compiler-dom": "3.3.4",
"@vue/shared": "3.2.47" "@vue/shared": "3.3.4"
} }
}, },
"node_modules/@vue/devtools-api": { "node_modules/@vue/devtools-api": {
@ -672,60 +682,60 @@
"integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
}, },
"node_modules/@vue/reactivity": { "node_modules/@vue/reactivity": {
"version": "3.2.47", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
"integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
"dependencies": { "dependencies": {
"@vue/shared": "3.2.47" "@vue/shared": "3.3.4"
} }
}, },
"node_modules/@vue/reactivity-transform": { "node_modules/@vue/reactivity-transform": {
"version": "3.2.47", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
"integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
"dependencies": { "dependencies": {
"@babel/parser": "^7.16.4", "@babel/parser": "^7.20.15",
"@vue/compiler-core": "3.2.47", "@vue/compiler-core": "3.3.4",
"@vue/shared": "3.2.47", "@vue/shared": "3.3.4",
"estree-walker": "^2.0.2", "estree-walker": "^2.0.2",
"magic-string": "^0.25.7" "magic-string": "^0.30.0"
} }
}, },
"node_modules/@vue/runtime-core": { "node_modules/@vue/runtime-core": {
"version": "3.2.47", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
"integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
"dependencies": { "dependencies": {
"@vue/reactivity": "3.2.47", "@vue/reactivity": "3.3.4",
"@vue/shared": "3.2.47" "@vue/shared": "3.3.4"
} }
}, },
"node_modules/@vue/runtime-dom": { "node_modules/@vue/runtime-dom": {
"version": "3.2.47", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
"integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
"dependencies": { "dependencies": {
"@vue/runtime-core": "3.2.47", "@vue/runtime-core": "3.3.4",
"@vue/shared": "3.2.47", "@vue/shared": "3.3.4",
"csstype": "^2.6.8" "csstype": "^3.1.1"
} }
}, },
"node_modules/@vue/server-renderer": { "node_modules/@vue/server-renderer": {
"version": "3.2.47", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz", "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
"integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
"dependencies": { "dependencies": {
"@vue/compiler-ssr": "3.2.47", "@vue/compiler-ssr": "3.3.4",
"@vue/shared": "3.2.47" "@vue/shared": "3.3.4"
}, },
"peerDependencies": { "peerDependencies": {
"vue": "3.2.47" "vue": "3.3.4"
} }
}, },
"node_modules/@vue/shared": { "node_modules/@vue/shared": {
"version": "3.2.47", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==" "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
}, },
"node_modules/@vue/tsconfig": { "node_modules/@vue/tsconfig": {
"version": "0.1.3", "version": "0.1.3",
@ -811,6 +821,24 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/bootstrap": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.1.tgz",
"integrity": "sha512-jzwza3Yagduci2x0rr9MeFSORjcHpt0lRZukZPZQJT1Dth5qzV7XcgGqYzi39KGAVYR8QEDVoO0ubFKOxzMG+g==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/twbs"
},
{
"type": "opencollective",
"url": "https://opencollective.com/bootstrap"
}
],
"peerDependencies": {
"@popperjs/core": "^2.11.8"
}
},
"node_modules/brace-expansion": { "node_modules/brace-expansion": {
"version": "1.1.11", "version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@ -941,9 +969,9 @@
"dev": true "dev": true
}, },
"node_modules/csstype": { "node_modules/csstype": {
"version": "2.6.21", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
}, },
"node_modules/date-fns": { "node_modules/date-fns": {
"version": "2.29.3", "version": "2.29.3",
@ -1734,11 +1762,14 @@
"dev": true "dev": true
}, },
"node_modules/magic-string": { "node_modules/magic-string": {
"version": "0.25.9", "version": "0.30.2",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz",
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==",
"dependencies": { "dependencies": {
"sourcemap-codec": "^1.4.8" "@jridgewell/sourcemap-codec": "^1.4.15"
},
"engines": {
"node": ">=12"
} }
}, },
"node_modules/memorystream": { "node_modules/memorystream": {
@ -2227,14 +2258,6 @@
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
} }
}, },
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-js": { "node_modules/source-map-js": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
@ -2243,12 +2266,6 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/sourcemap-codec": {
"version": "1.4.8",
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"deprecated": "Please use @jridgewell/sourcemap-codec instead"
},
"node_modules/spdx-correct": { "node_modules/spdx-correct": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
@ -2477,18 +2494,6 @@
"balanced-match": "^1.0.0" "balanced-match": "^1.0.0"
} }
}, },
"node_modules/unplugin-vue-components/node_modules/magic-string": {
"version": "0.30.0",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
"integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
"dev": true,
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.13"
},
"engines": {
"node": ">=12"
}
},
"node_modules/unplugin-vue-components/node_modules/minimatch": { "node_modules/unplugin-vue-components/node_modules/minimatch": {
"version": "7.4.2", "version": "7.4.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.2.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.2.tgz",
@ -2594,15 +2599,15 @@
} }
}, },
"node_modules/vue": { "node_modules/vue": {
"version": "3.2.47", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
"integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
"dependencies": { "dependencies": {
"@vue/compiler-dom": "3.2.47", "@vue/compiler-dom": "3.3.4",
"@vue/compiler-sfc": "3.2.47", "@vue/compiler-sfc": "3.3.4",
"@vue/runtime-dom": "3.2.47", "@vue/runtime-dom": "3.3.4",
"@vue/server-renderer": "3.2.47", "@vue/server-renderer": "3.3.4",
"@vue/shared": "3.2.47" "@vue/shared": "3.3.4"
} }
}, },
"node_modules/vue-router": { "node_modules/vue-router": {

View File

@ -10,6 +10,8 @@
"type-check": "vue-tsc --noEmit" "type-check": "vue-tsc --noEmit"
}, },
"dependencies": { "dependencies": {
"@popperjs/core": "2.11.8",
"bootstrap": "5.3.1",
"vue": "^3.2.45", "vue": "^3.2.45",
"vue-router": "^4.1.6" "vue-router": "^4.1.6"
}, },

View File

@ -10,7 +10,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta property="og:title" content="SBa: Season 8" /> <meta property="og:title" content="SBa: Season 8" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://sombaseball.ddns.net" /> <meta property="og:url" content="https://sba.manticorum.dev" />
<meta property="og:image" content="https://sombaseball.ddns.net/static/images/sba-network.png" /> <meta property="og:image" content="https://sombaseball.ddns.net/static/images/sba-network.png" />
<meta property="og:description" content="The home of the Strat-o-matic Baseball Association" /> <meta property="og:description" content="The home of the Strat-o-matic Baseball Association" />
<meta name="theme-color" content="#A6CE39"> <meta name="theme-color" content="#A6CE39">
@ -36,67 +36,3 @@ export default {
} }
} }
</script> </script>
<style scoped>
header {
line-height: 1.5;
max-height: 100vh;
}
.logo {
display: block;
margin: 0 auto 2rem;
}
nav {
width: 100%;
font-size: 12px;
text-align: center;
margin-top: 2rem;
}
nav a.router-link-exact-active {
color: var(--color-text);
}
nav a.router-link-exact-active:hover {
background-color: transparent;
}
nav a {
display: inline-block;
padding: 0 1rem;
border-left: 1px solid var(--color-border);
}
nav a:first-of-type {
border: 0;
}
@media (min-width: 1024px) {
header {
display: flex;
place-items: center;
padding-right: calc(var(--section-gap) / 2);
}
.logo {
margin: 0 2rem 0 0;
}
header .wrapper {
display: flex;
place-items: flex-start;
flex-wrap: wrap;
}
nav {
text-align: left;
margin-left: -1rem;
font-size: 1rem;
padding: 1rem 0;
margin-top: 1rem;
}
}
</style>

View File

@ -3,7 +3,6 @@
#app { #app {
max-width: 1280px; max-width: 1280px;
margin: 0 auto; margin: 0 auto;
padding: 2rem;
font-weight: normal; font-weight: normal;
} }
@ -32,4 +31,4 @@ a,
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
padding: 0 2rem; padding: 0 2rem;
} }
} }

View File

@ -1,178 +1,26 @@
<template> <template>
<nav class="navbar navbar-expand-sm navbar-dark bg-primary" style="margin-bottom: 1rem" id="navbar"> <nav class="navbar navbar-expand-sm navbar-dark bg-primary" style="margin-bottom: 1rem" id="navbar">
<RouterLink class="nav-link" to="/">SBa Season {{ seasonNumber }}</RouterLink> <RouterLink class="navbar-brand nav-link" to="/">SBa Season {{ seasonNumber }}</RouterLink>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#top-navbar-collapse" <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#top-navbar-collapse"
aria-controls="top-navbar-collapse" aria-expanded="false" aria-label="Toggle navigation"> aria-controls="top-navbar-collapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
<div class="collapse navbar-collapse" id="top-navbar-collapse"> <div class="collapse navbar-collapse" id="top-navbar-collapse">
<ul class="navbar-nav mr-auto"> <ul class="navbar-nav mr-auto">
<li class="nav-item">
<!-- TODO -->
<RouterLink class="nav-link" to="/schedule">Schedule</RouterLink>
</li>
<li class="nav-item"> <li class="nav-item">
<!-- TODO --> <!-- TODO -->
<RouterLink class="nav-link" to="/standings">Standings</RouterLink> <RouterLink class="nav-link" to="/standings">Standings</RouterLink>
</li> </li>
<li class="nav-item dropdown"> <li class="nav-item">
<a class="nav-link dropdown-toggle" href="#" id="statsDropdown" role="button" data-toggle="dropdown" <RouterLink class="nav-link"
aria-haspopup="true" aria-expanded="false">Stats & Leaders</a> :to="{ name: 'team', params: { seasonNumber: seasonNumber, teamAbbreviation: 'FA' } }">Free Agents
<ul class="dropdown-menu" aria-labelledby="statsDropdown"> </RouterLink>
<li><a class="dropdown-item dropdown-toggle" href="#">Season Leaders</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/stats/leaders/season?stat=batting">Batting Leaders</a></li>
<li><a class="dropdown-item" href="/stats/leaders/season?stat=pitching">Pitching Leaders</a></li>
<li><a class="dropdown-item" href="/stats/leaders/season?stat=fielding">Fielding Leaders</a></li>
</ul>
</li>
<li><a class="dropdown-item dropdown-toggle" href="#">Team Stats</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/stats/team?stat=batting">Team Batting</a></li>
<li><a class="dropdown-item" href="/stats/team?stat=pitching">Team Pitching</a></li>
<li><a class="dropdown-item" href="/stats/team?stat=fielding">Team Fielding</a></li>
</ul>
</li>
<li><a class="dropdown-item dropdown-toggle" href="#">Single-Game Records</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/stats/leaders/single-game?stat=batting">Single-Game Batting</a></li>
<li><a class="dropdown-item" href="/stats/leaders/single-game?stat=pitching">Single-Game Pitching</a></li>
<li><a class="dropdown-item" href="/stats/leaders/single-game?stat=fielding">Single-Game Fielding</a></li>
</ul>
</li>
<li><a class="dropdown-item dropdown-toggle" href="#">Single-Season Leaders</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/stats/leaders/single-season?stat=batting">Single-Season Batting</a>
</li>
<li><a class="dropdown-item" href="/stats/leaders/single-season?stat=pitching">Single-Season Pitching</a>
</li>
<li><a class="dropdown-item" href="/stats/leaders/single-season?stat=fielding">Single-Season Fielding</a>
</li>
</ul>
</li>
<li><a class="dropdown-item dropdown-toggle" href="#">Career Leaders</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/stats/leaders/career?stat=batting">Career Batting</a></li>
<li><a class="dropdown-item" href="/stats/leaders/career?stat=pitching">Career Pitching</a></li>
<li><a class="dropdown-item" href="/stats/leaders/career?stat=fielding">Career Fielding</a></li>
</ul>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="teamsDropdown" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">Teams</a>
<ul class="dropdown-menu" aria-labelledby="teamsDropdown">
<li><a class="dropdown-item dropdown-toggle" href="#">AL East</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/teams?abbrev=NSH">Gators</a></li>
<li><a class="dropdown-item" href="/teams?abbrev=HAM">Honeybees</a></li>
<li><a class="dropdown-item" href="/teams?abbrev=TK">Kaiju</a></li>
<li><a class="dropdown-item" href="/teams?abbrev=PHP">Phantoms</a></li>
</ul>
</li>
<li><a class="dropdown-item dropdown-toggle" href="#">AL West</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/teams?abbrev=CHC">Cyclones</a></li>
<li><a class="dropdown-item" href="/teams?abbrev=PEI">Mussels</a></li>
<li><a class="dropdown-item" href="/teams?abbrev=WAI">Whale Sharks</a></li>
<li><a class="dropdown-item" href="/teams?abbrev=SHA">Wu Xia</a></li>
</ul>
</li>
<li><a class="dropdown-item dropdown-toggle" href="#">NL East</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/teams?abbrev=DAL">Drillers</a></li>
<li><a class="dropdown-item" href="/teams?abbrev=CLS">Macho Men</a></li>
<li><a class="dropdown-item" href="/teams?abbrev=KSS">Shoebills</a></li>
<li><a class="dropdown-item" href="/teams?abbrev=DEN">Zephyr</a></li>
</ul>
</li>
<li><a class="dropdown-item dropdown-toggle" href="#">NL West</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/teams?abbrev=VA">Angels</a></li>
<li><a class="dropdown-item" href="/teams?abbrev=WV">Black Bears</a></li>
<li><a class="dropdown-item" href="/teams?abbrev=MKE">Bovines</a></li>
<li><a class="dropdown-item" href="/teams?abbrev=BSG">Snow Geese</a></li>
</ul>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="transDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">Transactions</a>
<ul class="dropdown-menu" aria-labelledby="transDropdown">
<li><a class="dropdown-item" href="/teams?abbrev=FA">Free Agents</a></li>
<li><a class="dropdown-item" href="/transactions">Transactions</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="historyDropdown" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">History</a>
<ul class="dropdown-menu" aria-labelledby="historyDropdown">
<li><a class="dropdown-item" href="/awards">Awards</a></li>
<li><a class="dropdown-item dropdown-toggle" href="#">Managers</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item dropdown-toggle" href="#">Active</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/managers?name=Basebally">Basebally</a></li>
<li><a class="dropdown-item" href="/managers?name=Brian Taylor">BT</a></li>
<li><a class="dropdown-item" href="/managers?name=Cal">Cal</a></li>
<li><a class="dropdown-item" href="/managers?name=Cash">Cash</a></li>
<li><a class="dropdown-item" href="/managers?name=Derek">Derek</a></li>
<li><a class="dropdown-item" href="/managers?name=Foxx">Foxx</a></li>
<li><a class="dropdown-item" href="/managers?name=Jack">Jack</a></li>
<li><a class="dropdown-item" href="/managers?name=Joe">Joe</a></li>
<li><a class="dropdown-item" href="/managers?name=Josef">Josef</a></li>
<li><a class="dropdown-item" href="/managers?name=JP">JP</a></li>
<li><a class="dropdown-item" href="/managers?name=JZ">JZ</a></li>
<li><a class="dropdown-item" href="/managers?name=Kiger">Kiger</a></li>
<li><a class="dropdown-item" href="/managers?name=Kilo">Kilo</a></li>
<li><a class="dropdown-item" href="/managers?name=Kalin">Kalin</a></li>
<li><a class="dropdown-item" href="/managers?name=Lyle">Lyle</a></li>
<li><a class="dropdown-item" href="/managers?name=Mason">Mason</a></li>
<li><a class="dropdown-item" href="/managers?name=Mcast">Mcast</a></li>
<li><a class="dropdown-item" href="/managers?name=Paulie">Paulie</a></li>
<li><a class="dropdown-item" href="/managers?name=Plack">Plack</a></li>
<li><a class="dropdown-item" href="/managers?name=Reed">Reed</a></li>
<li><a class="dropdown-item" href="/managers?name=Riles">Riles</a></li>
<li><a class="dropdown-item" href="/managers?name=Ryan">Ryan</a></li>
<li><a class="dropdown-item" href="/managers?name=Smitty">Smitty</a></li>
<li><a class="dropdown-item" href="/managers?name=Will">Will</a></li>
</ul>
</li>
<li><a class="dropdown-item dropdown-toggle" href="#">Retired</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/managers?name=Berna">Berna</a></li>
<li><a class="dropdown-item" href="/managers?name=Boof">Boof</a></li>
<li><a class="dropdown-item" href="/managers?name=Caleb">Caleb</a></li>
<li><a class="dropdown-item" href="/managers?name=Diego">Diego</a></li>
<li><a class="dropdown-item" href="/managers?name=Jingles">Jingles</a></li>
<li><a class="dropdown-item" href="/managers?name=Jojo">Jojo</a></li>
<li><a class="dropdown-item" href="/managers?name=Petra">Petra</a></li>
<li><a class="dropdown-item" href="/managers?name=Triumph">Triumph</a></li>
<li><a class="dropdown-item" href="/managers?name=Val">Val</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="dropdown-item dropdown-toggle" href="#">Season Recaps</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/recaps?season=6">Season 6</a></li>
<li><a class="dropdown-item" href="/recaps?season=5">Season 5</a></li>
<li><a class="dropdown-item" href="/recaps?season=4">Season 4</a></li>
<li><a class="dropdown-item" href="/recaps?season=3">Season 3</a></li>
<li><a class="dropdown-item" href="/recaps?season=2">Season 2</a></li>
<li><a class="dropdown-item" href="/recaps?season=1">Season 1</a></li>
</ul>
</li>
</ul>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/rules">Rules Ref</a> <a class="nav-link" href="/rules">Rules Ref</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/news">News</a> <a class="nav-link" target="_blank" href="https://sbanews.manticorum.com/">News</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a id="login" class="nav-link">Login with Discord</a> <a id="login" class="nav-link">Login with Discord</a>
@ -186,19 +34,19 @@
<form class="form-inline" @submit.stop.prevent="searchPlayers"> <form class="form-inline" @submit.stop.prevent="searchPlayers">
<input type="text" name="name" placeholder="Player Search" list="player-names" v-model="searchPlayerName"> <input type="text" name="name" placeholder="Player Search" list="player-names" v-model="searchPlayerName">
<datalist id="player-names"> <datalist id="player-names">
<option v-for="name in sortedPlayerNames" :value="name">{{ name }}</option> <option v-for=" name in sortedPlayerNames " :value="name">{{ name }}</option>
</datalist> </datalist>
</form> </form>
<ul class="navbar-nav navbar-right"> <!-- <ul class="navbar-nav navbar-right">
<li class="nav-item"> <li class="nav-item">
<div class="custom-control custom-switch"> <div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="darkSwitch" /> <input type="checkbox" class="custom-control-input" id="darkSwitch" />
<label class="custom-control-label" for="darkSwitch">Dark Mode</label> <label class="custom-control-label" for="darkSwitch">Dark Mode</label>
</div> </div>
<!-- <script src="/static/dark-mode-switch.js"></script> --> <script src="/static/dark-mode-switch.js"></script>
</li> </li>
</ul> </ul> -->
</div> </div>
</nav> </nav>
@ -448,4 +296,14 @@ nav {
justify-content: flex-start; justify-content: flex-start;
gap: 8px; gap: 8px;
} }
navbar-brand {
display: inline-block;
padding-top: 0.32421875rem;
padding-bottom: 0.32421875rem;
margin-right: 1rem;
font-size: 1.171875rem;
line-height: inherit;
white-space: nowrap;
}
</style> </style>

View File

@ -1,8 +1,12 @@
import { createApp } from 'vue' import { createApp } from 'vue'
import App from './App.vue' import App from './App.vue'
import router from './router' import router from './router'
import './assets/main.css'
import 'bootstrap/dist/css/bootstrap.min.css'
import 'bootstrap'
// import './assets/main.css'
const app = createApp(App) const app = createApp(App)

View File

@ -25,7 +25,17 @@ export const routes: RouteRecordRaw[] = [
name: 'player', name: 'player',
component: () => import('../views/PlayerView.vue'), component: () => import('../views/PlayerView.vue'),
props: castPlayersRouteParams props: castPlayersRouteParams
} },
{
path: '/standings',
name: 'standings',
component: () => import('../views/StandingsView.vue')
},
{
path: '/rules',
name: 'rules',
component: () => import('../views/RulesView.vue')
},
] ]
function castTeamsRouteParams(route: any) { function castTeamsRouteParams(route: any) {

View File

@ -2,7 +2,7 @@ import type { Team } from './apiResponseTypes'
import { SITE_URL } from './utilities' import { SITE_URL } from './utilities'
export async function fetchTeam(seasonNumber: number, teamAbbreviation: string): Promise<Team> { export async function fetchTeam(seasonNumber: number, teamAbbreviation: string): Promise<Team> {
const response = await fetch(`${SITE_URL}/api/v3/teams/?season=${seasonNumber}&team_abbrev=${teamAbbreviation}`) const response = await fetch(`${SITE_URL}/api/v3/teams?season=${seasonNumber}&team_abbrev=${teamAbbreviation}`)
const teamResponse: { const teamResponse: {
count: number count: number

View File

@ -22,8 +22,6 @@ export async function fetchTransactionsByTeamAndWeek(seasonNumber: number, teamA
transactions: Transaction[] transactions: Transaction[]
} = await response.json() } = await response.json()
console.log('fetchTransactionsByTeam', seasonNumber, teamAbbreviation, transactionsResponse)
return transactionsResponse.transactions return transactionsResponse.transactions
} }

View File

@ -6,7 +6,9 @@
<h1 id="manager-name">{{ managerName }}</h1> <h1 id="manager-name">{{ managerName }}</h1>
</div> </div>
<div class="col-sm-12"> <div>🚧 Coming Soon 🚧</div>
<!-- <div class="col-sm-12">
<h3 id="manager-record">Career Record: 294-218</h3> <h3 id="manager-record">Career Record: 294-218</h3>
</div> </div>
@ -96,12 +98,7 @@
<tbody id="manager-awards"></tbody> <tbody id="manager-awards"></tbody>
</table> </table>
</div> </div>
</div> </div> -->
<div class="col-sm-3">
<h3 style="text-align: center" id="manager-bio-header"></h3>
<p id="manager-bio"></p>
</div>
</div> </div>
</div> </div>

File diff suppressed because it is too large Load Diff

29
src/views/RulesView.vue Normal file
View File

@ -0,0 +1,29 @@
<template>
<div class="rules-view centerDiv">
<div class="row">
<div class="col-sm-12">
<h1>Season 7 Rules and Guidelines</h1>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<h2>Season 7 Rules Reference</h2>
<a href="https://docs.google.com/document/d/1yGZcHy9zN2MUi4hnce12dAzlFpIApbn7zR24vCkPl1o">View in Google Docs</a>
<iframe height="800px" width="100%" style="border: 2px solid darkgray"
src="https://docs.google.com/document/d/e/2PACX-1vTJeAZPYPxjon4dqRgwWwsCoUw_xdPZtSBWVzrIQXlZ5N5IJv448QqbmcXCOYUpbbl9JkClOY56lPCj/pub?embedded=true"></iframe>
</div>
<div class="col-sm-6">
<h2>Season 7 League Guidelines</h2>
<a href="https://docs.google.com/document/d/1gRN2K2rj3kbhY0GQCnEZ0B_IohOl94pCdmmuWLgrcZg">View in Google Docs</a>
<iframe height="800px" width="100%" style="border: 2px solid darkgray"
src="https://docs.google.com/document/d/e/2PACX-1vT3eUdHtPyOfVSAR3ZeaGX3D-94n1ylwp3TaHyFqoGDeOxDr4sN17OVZDTQ6w1OGlM6EUJLBWqyu57D/pub?embedded=true"></iframe>
</div>
</div>
</div>
</template>
<script lang="ts">
export default {
name: "RulesView",
}
</script>

102
src/views/StandingsView.vue Normal file
View File

@ -0,0 +1,102 @@
<template>
<main class="standings-view">
<div class="centerDiv">
<div class="row">
<div class="col-sm-12">
<h1>Season {{ seasonNumber }} Standings</h1>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<h2 id="week-num">{{ weekNumber ? `Week ${weekNumber}` : '' }}</h2>
</div>
</div>
<!-- Division Standings -->
<div class="row">
<div class="col-md-6">
<h3>International wOBA Grand Prix</h3>
<StandingsTable :teams="iwgpTeams" :is-divisional=true />
<h3>Crabbers</h3>
<StandingsTable :teams="balTeams" :is-divisional=true />
</div>
<div class="col-md-6">
<h3>Fun Diff</h3>
<StandingsTable :teams="fdTeams" :is-divisional=true />
<h3>NL West</h3>
<StandingsTable :teams="nlwTeams" :is-divisional=true />
</div>
</div>
<div class="row">
<h3>Wildcard</h3>
<StandingsTable :teams="wildcardTeams" :is-divisional=false />
</div>
<!-- Extended Standings -->
<div class="row">
Extended Standings
</div>
<div class="row">
🚧 Coming soon 🚧
</div>
</div>
</main>
</template>
<script lang="ts">
import StandingsTable from '@/components/StandingsTable.vue'
import { fetchStandings, type TeamStanding } from '@/services/standingsService'
import { fetchCurrentLeagueInfo, type LeagueInfo } from '@/services/currentService'
import { CURRENT_SEASON } from '@/services/utilities'
export default {
name: "StandingsView",
data() {
return {
seasonNumber: CURRENT_SEASON as number,
weekNumber: undefined as number | undefined,
teamStandings: [] as TeamStanding[],
iwgpTeams: [] as TeamStanding[],
nlwTeams: [] as TeamStanding[],
wildcardTeams: [] as TeamStanding[],
balTeams: [] as TeamStanding[],
fdTeams: [] as TeamStanding[]
}
},
created() {
this.fetchData()
},
methods: {
async fetchData(): Promise<void> {
const leagueInfo: LeagueInfo = await fetchCurrentLeagueInfo()
this.weekNumber = leagueInfo.week
this.teamStandings = await fetchStandings(CURRENT_SEASON)
// TODO this could be made more robust to division/league structure changes by identifying the unique
// league/div abbreviations, then grouping on each into an array of arrays, then in the template above
// v-for over the structure to generate a dynamic standings page
this.iwgpTeams = this.teamStandings.filter(ts => ts.divisionAbbreviation === 'IWGP')
this.nlwTeams = this.teamStandings.filter(ts => ts.divisionAbbreviation === 'NLW')
this.balTeams = this.teamStandings.filter(ts => ts.divisionAbbreviation === 'BAL')
this.fdTeams = this.teamStandings.filter(ts => ts.divisionAbbreviation === 'FD')
this.wildcardTeams = this.teamStandings.filter(ts => ts.isWildcardTeam)
},
}
}
</script>
<style>
.row {
display: flex;
}
.column {
flex-basis: 50%;
/* Sets the initial width of each column to 50% */
padding: 10px;
box-sizing: border-box;
/* Includes padding within the width of each column */
}
</style>

View File

@ -71,7 +71,7 @@
</div> </div>
<!-- Right Column --> <!-- Right Column -->
<div class="col-sm-6"> <div v-if="!isFreeAgentTeam" class="col-sm-6">
<h3 id="minors-header">{{ minorsTeamName }} ({{ swarTotal(playersMinors).toFixed(2) }})</h3> <h3 id="minors-header">{{ minorsTeamName }} ({{ swarTotal(playersMinors).toFixed(2) }})</h3>
<div class="table-responsive-xl"> <div class="table-responsive-xl">
@ -182,6 +182,9 @@ export default {
teamAbbreviation: { type: String, required: true }, teamAbbreviation: { type: String, required: true },
}, },
computed: { computed: {
isFreeAgentTeam(): boolean {
return this.teamAbbreviation === 'FA'
},
manager1Name(): string | undefined { manager1Name(): string | undefined {
return this.team?.manager1?.name return this.team?.manager1?.name
}, },
@ -234,15 +237,19 @@ export default {
methods: { methods: {
async fetchData(): Promise<void> { async fetchData(): Promise<void> {
this.team = await fetchTeam(this.seasonNumber, this.teamAbbreviation) this.team = await fetchTeam(this.seasonNumber, this.teamAbbreviation)
this.teamMinors = await fetchTeam(this.seasonNumber, `${this.teamAbbreviation}MiL`) if (!this.isFreeAgentTeam) {
this.teamInjuredList = await fetchTeam(this.seasonNumber, `${this.teamAbbreviation}IL`) this.teamMinors = await fetchTeam(this.seasonNumber, `${this.teamAbbreviation}MiL`)
this.teamInjuredList = await fetchTeam(this.seasonNumber, `${this.teamAbbreviation}IL`)
}
this.teamStanding = (await fetchStandings(this.seasonNumber)).find(ts => ts.teamName === this.team?.sname) this.teamStanding = (await fetchStandings(this.seasonNumber)).find(ts => ts.teamName === this.team?.sname)
this.weekNumber = (await fetchCurrentLeagueInfo()).week this.weekNumber = (await fetchCurrentLeagueInfo()).week
this.players = await fetchPlayersByTeam(this.seasonNumber, this.team?.id) this.players = await fetchPlayersByTeam(this.seasonNumber, this.team?.id)
this.playersMinors = await fetchPlayersByTeam(this.seasonNumber, this.teamMinors?.id) if (!this.isFreeAgentTeam) {
this.playersInjuredList = await fetchPlayersByTeam(this.seasonNumber, this.teamInjuredList?.id) this.playersMinors = await fetchPlayersByTeam(this.seasonNumber, this.teamMinors!.id)
this.playersInjuredList = await fetchPlayersByTeam(this.seasonNumber, this.teamInjuredList!.id)
}
this.transactions = (await fetchTransactionsByTeamAndWeek(this.seasonNumber, this.teamAbbreviation, this.transactionsWeekNumber!)) this.transactions = (await fetchTransactionsByTeamAndWeek(this.seasonNumber, this.teamAbbreviation, this.transactionsWeekNumber!))
}, },