feat: Add dark mode and album integration

Features:
- Dark mode with system preference detection and manual toggle
- Album integration via IMMICH_ALBUM_NAME environment variable
  - Auto-creates album if it doesn't exist
  - Adds uploaded assets to configured album
  - Shows album name in connection test
- Fixed WebSocket disconnection error

Updates:
- Enhanced UI with dark mode support for all components
- Updated README with new features and screenshot
- Added configuration for album name in docker-compose.yml
This commit is contained in:
TTLequals0
2025-08-26 19:17:31 -04:00
parent 0d0d9fbb9f
commit ad22d74224
7 changed files with 215 additions and 55 deletions

View File

@@ -14,6 +14,7 @@ class Settings:
immich_base_url: str
immich_api_key: str
max_concurrent: int = 3
album_name: str = ""
@property
def normalized_base_url(self) -> str:
@@ -24,8 +25,9 @@ def load_settings() -> Settings:
"""Load settings from .env, applying defaults when absent."""
base = os.getenv("IMMICH_BASE_URL", "http://127.0.0.1:2283/api")
api_key = os.getenv("IMMICH_API_KEY", "")
album_name = os.getenv("IMMICH_ALBUM_NAME", "")
try:
maxc = int(os.getenv("MAX_CONCURRENT", "3"))
except ValueError:
maxc = 3
return Settings(immich_base_url=base, immich_api_key=api_key, max_concurrent=maxc)
return Settings(immich_base_url=base, immich_api_key=api_key, max_concurrent=maxc, album_name=album_name)