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
26 lines
1003 B
HTML
26 lines
1003 B
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Upload Content - DigiServer v2{% endblock %}
|
|
|
|
{% block content %}
|
|
<h1>Upload Content</h1>
|
|
<div class="card">
|
|
<form method="POST" enctype="multipart/form-data">
|
|
<div style="margin-bottom: 1rem;">
|
|
<label>File</label>
|
|
<input type="file" name="file" required style="width: 100%; padding: 0.5rem;">
|
|
</div>
|
|
<div style="margin-bottom: 1rem;">
|
|
<label>Duration (seconds, for images)</label>
|
|
<input type="number" name="duration" value="10" min="1" style="width: 100%; padding: 0.5rem;">
|
|
</div>
|
|
<div style="margin-bottom: 1rem;">
|
|
<label>Description (optional)</label>
|
|
<textarea name="description" rows="3" style="width: 100%; padding: 0.5rem;"></textarea>
|
|
</div>
|
|
<button type="submit" class="btn btn-success">Upload</button>
|
|
<a href="{{ url_for('content.content_list') }}" class="btn">Cancel</a>
|
|
</form>
|
|
</div>
|
|
{% endblock %}
|