Merge pull request 'dev' (#31) from dev into main
All checks were successful
Code Analysis and Production Deploy / analyze (push) Successful in 2m45s
Code Analysis and Production Deploy / deploy-production (push) Successful in 2m1s
Code Analysis and Production Deploy / deploy-test (push) Has been skipped

Reviewed-on: #31
This commit is contained in:
2026-05-21 00:09:31 +02:00
3 changed files with 22 additions and 10 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "harheimertc-website",
"version": "1.5.0",
"version": "1.5.1",
"description": "Moderne Webseite für den Harheimer Tischtennis Club",
"private": true,
"type": "module",

View File

@@ -259,7 +259,13 @@
:class="isCurrentTeamRow(row) ? 'bg-primary-50' : 'bg-white'"
>
<td class="px-4 py-3 whitespace-nowrap text-sm text-gray-900">
{{ row.table_rank ?? '-' }}
{{ row.table_rank ?? '-' }}<span
v-if="row.rise_fall_state === 'rise'"
class="ml-1 text-green-600"
></span><span
v-else-if="row.rise_fall_state === 'fall'"
class="ml-1 text-red-600"
></span>
</td>
<td class="px-4 py-3 whitespace-nowrap text-sm text-gray-900 font-medium">
{{ row.team_name || '-' }}

View File

@@ -136,13 +136,19 @@ function sanitizeSeasonSlug(value) {
return /^\d{2}--\d{2}$/.test(seasonSlug) ? seasonSlug : null
}
async function resolveMannschaftenCsvPath() {
const candidates = [
getServerDataPath('public-data', 'mannschaften.csv'),
getServerDataPath('mannschaften.csv'),
getProjectPath('.output', 'public', 'data', 'mannschaften.csv'),
getProjectPath('public', 'data', 'mannschaften.csv')
]
async function resolveMannschaftenCsvPath(seasonSlug) {
const seasonalName = sanitizeSeasonSlug(seasonSlug) ? `mannschaften_${seasonSlug}.csv` : null
const fileNames = seasonalName ? [seasonalName, 'mannschaften.csv'] : ['mannschaften.csv']
const candidates = []
for (const fileName of fileNames) {
candidates.push(
getServerDataPath('public-data', fileName),
getServerDataPath(fileName),
getProjectPath('.output', 'public', 'data', fileName),
getProjectPath('public', 'data', fileName)
)
}
for (const candidate of candidates) {
if (await fileExists(candidate)) return candidate
@@ -204,7 +210,7 @@ async function fetchTable(url) {
export async function importLeagueTables(options = {}) {
const today = options.today ?? new Date()
const season = getSpieljahrForDate(today)
const csvPath = await resolveMannschaftenCsvPath()
const csvPath = await resolveMannschaftenCsvPath(season.seasonSlug)
const csvContent = await fs.readFile(csvPath, 'utf8')
const teams = extractRowsWithTableUrl(csvContent)