152 Commits

Author SHA1 Message Date
Your Name a89d6e1a63 feat(ui): add new sponsor and quote image
Add a new sponsor link to index and o-nas pages with corresponding logo, and include a new quote image.
2026-06-01 15:56:16 +02:00
Your Name 60a4b82931 feat(ui): add new sponsor and update text content
Add a new sponsor logo and link for NSA to the index and o-nas pages.
Update the header text in o-nas.html to reflect winner status.
2026-05-30 09:33:58 +02:00
Your Name efa35518ab feat(ui): update sponsor logos and links
Replace the alpacar.pl sponsor with kovosteel.cz and gracla.cz in index.html and o-nas.html, and add new sponsor image assets.
2026-05-25 17:41:17 +02:00
Tomas Dvorak cc6841e723 feat(backend): implement fallback API for club data retrieval
Add a fallback mechanism to use an alternative base URL and club ID
when the primary API request fails. This ensures data resilience by
attempting to fetch club details and standings from a secondary source
using a slug-based lookup.

The implementation also updates the logic to use the active club ID
(either primary or fallback) when overriding logo URLs in match
details and table standings.
2026-05-13 12:05:20 +02:00
Tomas Dvorak 4c904a1546 fix(backend): improve video resilience and add blog ordering validation
Implement fallback mechanisms for YouTube video data and add startup
validation for blog post ordering.

- Add `loadVideosJSON` to persist and reload video data from disk.
- Update `refreshVideos` to retain existing local videos if the YouTube
  API returns an empty response.
- Add `validateBlogOrdering` to perform a health check on blog post
  sequence during startup.
- Call video loading and blog validation in `main`.
2026-05-11 15:30:24 +02:00
Tomas Dvorak 76c447a395 fix(ui): add defensive sorting for blog posts
Implement client-side sorting for blog post lists to ensure they are
displayed in descending order by numeric ID. This prevents issues
where API response ordering or file modification timestamps might
cause older posts to appear newer than recent ones.

Also add backend tests to verify blog ordering logic.
2026-05-11 13:03:04 +02:00
Tomas Dvorak a6b47de1a4 refactor(backend): improve blog canonical ID resolution
Refactor the blog listing logic to use a canonical numeric ID when available. This ensures consistent identity and deduplication between numeric and slug-based filenames, and ensures image path resolution uses the correct identifier.
2026-05-11 12:33:26 +02:00
Your Name 2f65bc03e6 rybbit 2026-04-18 14:30:18 +02:00
Your Name ac9930767e new sponsor and fix backend 2026-04-09 15:43:28 +02:00
Tomas Dvorak 4f3164956a Add slug-to-numeric resolution for blog URLs
- Modified blog handler to resolve slugs to numeric files when slug files don't exist
- This allows slug URLs to work without creating duplicate slug files
- Fixes sorting issues while maintaining slug URL compatibility
2026-03-14 11:27:08 +01:00
Tomas Dvorak f8a6abf391 Fix blog sorting to show newest first
- When files have recent timestamps (from setup script), sort by numeric ID
- Higher numeric IDs represent newer blogs
- This ensures proper chronological ordering in admin interface
2026-03-14 11:21:31 +01:00
Tomas Dvorak 45facf7aa0 Fix image paths and remove duplicate slug files
- Remove duplicate slug files that were causing duplicate entries
- Add logic to find corresponding numeric ID for image paths
- This fixes broken images in admin interface for slug-based blogs
2026-03-14 11:19:09 +01:00
Tomas Dvorak c9c322ff95 Fix duplicate blog entries and image paths
- Add deduplication logic to avoid showing same blog twice
- Add extractBlogID function to get correct numeric ID from meta tags
- Use blogID for image paths instead of filename ID
- This fixes duplicate entries in admin interface and broken images
2026-03-14 11:17:49 +01:00
Tomas Dvorak 3a7c1bbcba Fix blog API endpoints and path issues
- Fix listLatestBlogs function to use correct blog directory path
- Add /data/blog-list.json endpoint for frontend blog listing
- Update remoteBlogDir references to use blogDir
- Resolve blog listing and admin interface loading issues
2026-03-14 11:12:40 +01:00
Tomas Dvorak 03b9abd32d fix 2026-03-14 10:52:14 +01:00
Tomas Dvorak 21574a8b30 Add slug support and new admin features 2026-03-14 10:40:04 +01:00
Tomas Dvorak 4773e4cab1 update 2026-02-22 13:09:22 +01:00
Tomas Dvorak 362f55e28a update 2026-02-22 13:01:34 +01:00
Tomas Dvorak 516161c1b3 contact 2026-01-13 21:52:29 +01:00
Tomas Dvorak 02b8479178 push 2025-11-23 12:31:39 +01:00
Tomas Dvorak 581b51fa09 translate 2025-09-27 17:28:48 +02:00
Tomas Dvorak 09cb946da5 fix 2025-09-27 16:00:34 +02:00
Tomáš Dvořák 71942e45b9 update 2025-09-23 20:15:36 +02:00
Tomas Dvorak b8891c8a38 fefe 2025-09-20 15:36:51 +02:00
Tomas Dvorak 9641dc9283 efe 2025-09-20 15:33:31 +02:00
Tomas Dvorak f93502a96f ff 2025-09-20 15:24:26 +02:00
Tomas Dvorak 422975ac6b grgfgdg 2025-09-19 08:48:00 +02:00
Tomas Dvorak 76c55aed58 dw 2025-09-19 08:23:18 +02:00
Tomas Dvorak 7bbc8271e4 fix matches 2025-09-13 00:47:17 +02:00
Tomas Dvorak 4a463346cf Merge branch 'main' of https://github.com/Dvorinka/bizoni 2025-09-08 17:13:04 +02:00
Tomas Dvorak 91947a53b5 efe 2025-09-08 17:13:01 +02:00
Tomáš Dvořák dfd5af2b97 Delete data/club.json 2025-09-08 16:25:43 +02:00
Tomas Dvorak 0e70f4e36b gr 2025-09-05 18:07:24 +02:00
Tomas Dvorak e8ff61e41e efe 2025-09-03 21:08:56 +02:00
Tomas Dvorak 64bd762e3c fef 2025-09-03 20:05:11 +02:00
Tomas Dvorak afff9d9b5e sponzor 2025-08-31 16:35:18 +02:00
Tomáš Dvořák 4cf6a5375a sponsor 2025-08-29 13:35:54 +02:00
Tomas Dvorak 9ea49f957e fef 2025-08-28 18:20:15 +02:00
Tomas Dvorak 985e918e1b dd 2025-08-28 17:57:20 +02:00
Tomas Dvorak 8bd8b1cf7d gsge 2025-08-28 17:54:59 +02:00
Tomáš Dvořák ed53a6c631 ww 2025-08-28 11:50:15 +02:00
Tomáš Dvořák cd8da17ed0 r 2025-08-28 08:57:35 +02:00
Tomáš Dvořák eddc96b49b optimize media 2025-08-28 08:41:04 +02:00
Tomáš Dvořák b549b4ba59 ef 2025-08-28 08:37:57 +02:00
Tomáš Dvořák 0b4638529f ddd 2025-08-28 08:28:31 +02:00
Tomáš Dvořák 3e6aec1236 women 2025-08-28 08:03:57 +02:00
Tomas Dvorak 6a9873d774 ff 2025-08-27 20:45:45 +02:00
Tomas Dvorak 36b709a556 sefes 2025-08-27 20:45:18 +02:00
Tomáš Dvořák fcb9f2d60c automated 2025-08-26 09:18:40 +02:00
Dvorinka a67731dec8 fix 2025-07-24 07:32:17 +02:00