Files
flowdeck/app/templates/dashboard.html
T
bruno 3fcc12ad8c feat: sweep complet — tous les émojis → outline SVG icons
Templates modifiés (22 fichiers):
- _icons.html: +14 new icons (paperclip, external-link, sparkles, lightbulb, tag,
  file-text, save, upload, trending-up, zap, alert-triangle, user, eye-off)
- base.html: +8 JS icons, 🦎🐙🔑🔗👁📋🔲📑❓⚠️→SVG
- page_editor.html: 43→0 émojis (📎📄🔒🔗⭐📋📁✨📝🗄📑📊📅🗓🖼📥🌐✏💬💡 etc)
- settings.html: 30→0 (⚙️📋🏷🧩👥💾🙈👁🔒🌙☀️🌳📊📝⚠🦎✅🐙🔗✏🗑)
- local_workspace.html: 25→0 (📄📁✏🗑⚠📋➕)
- gitea_workspace.html: 25→0 (🔗📄📤🔄⚙📁📄🔒✏🗑💾)
- board.html: 13→0 (📁📊📋☰📈👥✕✓🗑⚡🔍)
- workspace.html: 11→0 (🏠🔑⚙📁🔗📂🐙)
- landing.html: 8→0 (📚🚀📝📊🦎🌐🔒⚡)
- trash.html, table_view, dashboard, accounts, card_detail, public_page,
  workspaces, team_load, notes, _header, detailed_board, card, board_fragment
- Ajouté import _icons.html aux fragments standalone
- 143 tests passent
2026-07-21 08:27:10 -04:00

83 lines
3.3 KiB
HTML

{% extends "base.html" %}
{% block page_icon %}{{ fd_icon("home",18) }}{% endblock %}
{% block page_title %}Home{% endblock %}
{% block title_prefix %}Home{% endblock %}
{% block content %}
<div class="page-title-area" style="padding-top: 24px;">
<div class="page-title">
<h1>Projects</h1>
</div>
</div>
<div class="view-toolbar">
<input class="search-input" type="text" name="search" placeholder="Search projects..."
value="{{ search }}"
hx-get="/" hx-trigger="keyup changed delay:300ms" hx-target="#project-list"
hx-swap="outerHTML"
style="background:var(--bg-tertiary); border:1px solid var(--border);
color:var(--text-primary); padding:6px 12px; border-radius:6px;
font-size:14px; width:300px; outline:none;">
<label class="text-sm text-dim" style="display:flex;align-items:center;gap:6px;cursor:pointer;">
<input type="checkbox" hx-get="/" hx-target="#project-list" hx-swap="outerHTML"
name="show_archived" value="1"
{% if show_archived %}checked{% endif %}
hx-trigger="change" style="accent-color:var(--blue);">
Show archived
</label>
<div class="view-toolbar-spacer"></div>
<div class="text-sm text-dim">{{ repos|length }} projects</div>
</div>
<!-- Project list -->
<div id="project-list" style="padding: 0 24px;">
<div style="display:flex; flex-direction:column; gap: 4px;">
{% for repo in repos %}
<a href="/board/{{ repo.full_name }}"
class="project-card-notion"
style="display:flex; align-items:center; gap:12px; padding: 10px 12px;
border-radius: 6px; transition: background 0.15s; cursor: pointer; color: var(--text-primary); text-decoration: none;"
onmouseover="this.style.background='var(--bg-hover)'"
onmouseout="this.style.background='transparent'">
<span style="font-size:18px;">{{ fd_icon("folder",20) }}</span>
<div style="flex:1; min-width:0;">
<div style="font-weight:500; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;">
{{ repo.name }}
</div>
<div style="font-size:12px; color: var(--text-secondary);">
{{ repo.owner.login if repo.owner else '?' }}/{{ repo.name }}
{% if repo.description %} — {{ repo.description[:60] }}{% endif %}
</div>
</div>
<div style="display:flex; align-items:center; gap:8px; flex-shrink:0;">
{% if repo.language %}
<span style="font-size:12px; color: var(--text-dim);">🟡 {{ repo.language }}</span>
{% endif %}
{% if repo.private %}
<span style="font-size:12px; color: var(--text-dim);">{{ fd_icon("lock",14) }}</span>
{% endif %}
<span style="font-size:12px; color: var(--text-dim);">→</span>
</div>
</a>
{% endfor %}
{% if not repos %}
<div style="text-align:center; padding:48px; color:var(--text-dim);">
<div style="margin-bottom:16px;">{{ fd_icon("inbox",48) }}</div>
<h3 style="color:var(--text-secondary);">Aucun projet trouvé</h3>
<p style="margin-top:8px;">
{% if search %}
Aucun résultat pour "{{ search }}".
{% else %}
Créez un repo sur <a href="https://git.dracodev.net" style="color:var(--blue);">Gitea</a>.
{% endif %}
</p>
</div>
{% endif %}
</div>
</div>
{% endblock %}