R1 foundation - Phase 1 live build

This commit is contained in:
2026-02-28 03:33:33 +00:00
commit f36ea194f3
45 changed files with 4009 additions and 0 deletions

48
templates/projects.html Normal file
View File

@@ -0,0 +1,48 @@
{% extends "base.html" %}
{% block content %}
<div class="page-header">
<h1 class="page-title">Projects<span class="page-count">{{ items|length }}</span></h1>
<a href="/projects/create" class="btn btn-primary">+ New Project</a>
</div>
<form class="filters-bar" method="get" action="/projects">
<select name="domain_id" class="filter-select" onchange="this.form.submit()">
<option value="">All Domains</option>
{% for d in domains %}
<option value="{{ d.id }}" {{ 'selected' if current_domain_id == d.id|string }}>{{ d.name }}</option>
{% endfor %}
</select>
<select name="status" class="filter-select" onchange="this.form.submit()">
<option value="">All Statuses</option>
{% for s in ['active', 'on_hold', 'completed', 'archived'] %}
<option value="{{ s }}" {{ 'selected' if current_status == s }}>{{ s|replace('_', ' ')|title }}</option>
{% endfor %}
</select>
</form>
{% if items %}
<div class="card">
{% for item in items %}
<div class="list-row">
<span class="row-domain-tag" style="background: {{ item.domain_color or '#4F6EF7' }}22; color: {{ item.domain_color or '#4F6EF7' }}">{{ item.domain_name }}</span>
<span class="row-title"><a href="/projects/{{ item.id }}">{{ item.name }}</a></span>
{% if item.area_name %}<span class="row-meta">{{ item.area_name }}</span>{% endif %}
<span class="status-badge status-{{ item.status }}">{{ item.status|replace('_', ' ') }}</span>
<div style="width: 80px;">
<div class="progress-bar"><div class="progress-fill" style="width: {{ item.progress }}%"></div></div>
<div class="progress-text">{{ item.done_count }}/{{ item.task_count }}</div>
</div>
<div class="row-actions">
<a href="/projects/{{ item.id }}/edit" class="btn btn-ghost btn-xs">Edit</a>
</div>
</div>
{% endfor %}
</div>
{% else %}
<div class="empty-state">
<div class="empty-state-icon">&#128194;</div>
<div class="empty-state-text">No projects found</div>
<a href="/projects/create" class="btn btn-primary">Create First Project</a>
</div>
{% endif %}
{% endblock %}