Templates (8 basic templates): - base.html: Main layout with navigation, flash messages, responsive design - login.html: User login form with remember me option - register.html: User registration with validation - dashboard.html: Main dashboard with statistics cards and recent activity - players_list.html: Players list placeholder - add_player.html: Add player form - groups_list.html: Groups list placeholder - create_group.html: Create group form - content_list.html: Content list placeholder - upload_content.html: File upload form - admin.html: Admin panel with system overview Development Setup: - run_dev.sh: Automated development server setup script - Creates virtual environment - Installs dependencies - Initializes database - Creates default admin user (admin/admin123) - Runs Flask development server on port 5000 Static Files: - static/uploads/ directory with .gitkeep - Ready for media file uploads Testing Features: ✅ Basic navigation and routing ✅ Authentication flow (login/register/logout) ✅ Dashboard with statistics ✅ Flash message system ✅ Responsive design with clean UI ✅ Placeholder templates for all routes Ready for manual testing at http://localhost:5000
32 lines
1.3 KiB
HTML
32 lines
1.3 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Login - DigiServer v2{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="card" style="max-width: 400px; margin: 2rem auto;">
|
|
<h2>Login</h2>
|
|
<form method="POST" action="{{ url_for('auth.login') }}">
|
|
<div style="margin-bottom: 1rem;">
|
|
<label for="username" style="display: block; margin-bottom: 0.5rem;">Username</label>
|
|
<input type="text" id="username" name="username" required
|
|
style="width: 100%; padding: 0.5rem; border: 1px solid #ddd; border-radius: 4px;">
|
|
</div>
|
|
<div style="margin-bottom: 1rem;">
|
|
<label for="password" style="display: block; margin-bottom: 0.5rem;">Password</label>
|
|
<input type="password" id="password" name="password" required
|
|
style="width: 100%; padding: 0.5rem; border: 1px solid #ddd; border-radius: 4px;">
|
|
</div>
|
|
<div style="margin-bottom: 1rem;">
|
|
<label>
|
|
<input type="checkbox" name="remember" value="yes">
|
|
Remember me
|
|
</label>
|
|
</div>
|
|
<button type="submit" class="btn" style="width: 100%;">Login</button>
|
|
</form>
|
|
<p style="margin-top: 1rem; text-align: center;">
|
|
Don't have an account? <a href="{{ url_for('auth.register') }}">Register here</a>
|
|
</p>
|
|
</div>
|
|
{% endblock %}
|