Internal
Public Access
Features: - Django-based REST API with web interface - Task management with tags, priorities, and due dates - Time tracking with start/stop timers - Subtasks support - Task filtering (all, today, upcoming, overdue, completed) - Tag-based organization with color coding - Sorting by due date and priority - Auto-assign tags when filtering - Responsive 3-pane layout (sidebar, task list, detail panel) - Task sharing between users - Mobile-responsive design with dark mode support 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
47 lines
2.1 KiB
HTML
47 lines
2.1 KiB
HTML
<div class="task-item priority-{{ task.priority }} {% if task.is_overdue %}overdue{% endif %} {% if task.status == 'completed' %}completed{% endif %} {% if selected_task_id == task.id|stringformat:'s' %}selected{% endif %}"
|
|
data-task-id="{{ task.id }}"
|
|
onclick="selectTask('{{ task.id }}')">
|
|
|
|
<!-- Checkbox -->
|
|
<form method="post" action="{% url 'task-toggle' task.id %}" class="task-toggle" onclick="event.stopPropagation();">
|
|
{% csrf_token %}
|
|
<input type="hidden" name="next" value="{{ request.get_full_path }}">
|
|
<button type="submit" class="task-checkbox {% if task.status == 'completed' %}checked{% endif %}">
|
|
{% if task.status == 'completed' %}
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3">
|
|
<path d="M5 13l4 4L19 7"/>
|
|
</svg>
|
|
{% endif %}
|
|
</button>
|
|
</form>
|
|
|
|
<!-- Content -->
|
|
<div class="task-content">
|
|
<div class="task-title">{{ task.title }}</div>
|
|
<div class="task-meta">
|
|
{% if task.due_date %}
|
|
<span class="task-due {% if task.is_overdue %}overdue{% endif %}">
|
|
📅 {{ task.due_date|date:"M j, Y" }}{% if task.due_time %} 🕐 {{ task.due_time|time:"g:i A" }}{% endif %}
|
|
</span>
|
|
{% endif %}
|
|
{% if task.due_date and task.tags.all %}
|
|
<span class="task-meta-separator">·</span>
|
|
{% endif %}
|
|
{% for tag in task.tags.all %}
|
|
<span class="task-group-label" style="background-color: {{ tag.color }}20; color: {{ tag.color }}">
|
|
{{ tag.name }}
|
|
</span>
|
|
{% endfor %}
|
|
{% if task.total_time_spent > 0 %}
|
|
{% if task.due_date or task.tags.all %}
|
|
<span class="task-meta-separator">·</span>
|
|
{% endif %}
|
|
<span class="task-time-spent">⏱️ {{ task.total_time_formatted }}</span>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Priority Badge -->
|
|
<span class="priority-badge {{ task.priority }}">{{ task.priority }}</span>
|
|
</div>
|