diff --git a/app/storage.py b/app/storage.py index f129250..6951f0f 100644 --- a/app/storage.py +++ b/app/storage.py @@ -8,14 +8,18 @@ import os import glob from datetime import datetime +# Base directory anchored to this file's location (project root), so paths work +# regardless of the current working directory when the app is launched. +_BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + # File paths - organized in data directory -SETTINGS_FILE = 'data/camera_settings.json' -PLAYERS_FILE = 'data/players.json' -TOURNAMENT_FILE = 'data/tournament_state.json' -RESULTS_FILE = 'data/tournament_results.json' -LEAGUE_FILE = 'data/league_state.json' -ARCHIVE_DIR = 'data/tournament_archives' -LEAGUE_ARCHIVE_DIR = 'data/league_archives' +SETTINGS_FILE = os.path.join(_BASE_DIR, 'data', 'camera_settings.json') +PLAYERS_FILE = os.path.join(_BASE_DIR, 'data', 'players.json') +TOURNAMENT_FILE = os.path.join(_BASE_DIR, 'data', 'tournament_state.json') +RESULTS_FILE = os.path.join(_BASE_DIR, 'data', 'tournament_results.json') +LEAGUE_FILE = os.path.join(_BASE_DIR, 'data', 'league_state.json') +ARCHIVE_DIR = os.path.join(_BASE_DIR, 'data', 'tournament_archives') +LEAGUE_ARCHIVE_DIR = os.path.join(_BASE_DIR, 'data', 'league_archives') # Default settings DEFAULT_SETTINGS = { @@ -40,7 +44,7 @@ class FileStorage: @staticmethod def _ensure_directory(directory): """Ensure directory exists""" - if not os.path.exists(directory): + if directory and not os.path.exists(directory): os.makedirs(directory) @staticmethod diff --git a/templates/draft.html b/templates/draft.html index aa75428..2f14c53 100644 --- a/templates/draft.html +++ b/templates/draft.html @@ -25,7 +25,7 @@ display: flex; flex-direction: column; padding: 0px; - gap: 15px; + gap: 0px; } .tournament-header { @@ -34,7 +34,7 @@ box-shadow: 0 2px 8px rgba(0,0,0,0.08); padding: 10px 16px; flex-shrink: 0; - margin: 10px 15px 5px 15px; + margin: 8px 15px 0px 15px; display: flex; align-items: center; gap: 12px; @@ -99,15 +99,15 @@ flex: 1; display: flex; flex-direction: column; - gap: 12px; + gap: 8px; min-height: 0; overflow-y: auto; overflow-x: hidden; - padding: 15px; + padding: 10px; background: white; border-radius: 12px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); - margin: 5px 15px 15px 15px; + margin: 8px 15px 8px 15px; } /* Custom scrollbar styling */ @@ -234,7 +234,7 @@ background: white; border: 2px solid #9ca3af; border-radius: 10px; - overflow: visible; + overflow: hidden; display: flex; flex-direction: row; transition: all 0.3s ease; diff --git a/templates/index.html b/templates/index.html index 2c684db..4fcda1f 100644 --- a/templates/index.html +++ b/templates/index.html @@ -772,7 +772,7 @@