Merge website-branding feature and adjust for compatibility

- Resolved conflicts in models.py, app.py, and template files
- Added branding checks to prevent errors when g.branding is None
- Updated all template references to use conditional branding
- Added BrandingSettings to migrations
- Created branding uploads directory
- Integrated branding with existing comment and task management features
This commit is contained in:
2025-07-06 16:58:29 +02:00
14 changed files with 466 additions and 35 deletions

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login - TimeTrack</title>
<title>Login - {{ g.branding.app_name if g.branding else 'TimeTrack' }}</title>
<link rel="stylesheet" href="{{ url_for('static', filename='css/fonts.css') }}">
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
<link rel="stylesheet" href="{{ url_for('static', filename='css/auth.css') }}">
@@ -12,7 +12,7 @@
<div class="auth-container">
<div class="auth-brand">
<h1>Welcome Back</h1>
<p>Sign in to continue tracking</p>
<p>Sign in to {{ g.branding.app_name if g.branding else 'TimeTrack' }}</p>
</div>
{% with messages = get_flashed_messages(with_categories=true) %}