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
This commit is contained in:
2026-07-21 08:27:10 -04:00
parent b88a972531
commit 3fcc12ad8c
23 changed files with 204 additions and 169 deletions
+10 -10
View File
@@ -1,12 +1,12 @@
{% extends "base.html" %}
{% block page_title %}Workspace{% endblock %}
{% block title_prefix %}Workspace{% endblock %}
{% block page_icon %}🏠{% endblock %}
{% block page_icon %}{{ fd_icon("home",18) }}{% endblock %}
{% block topbar %}
{% set page_icon = "🏠" %}
{% set page_icon = "home" %}
{% set page_title = "Workspace — Projects" %}
{% set right_actions = '<a href="/auth/login?provider=local" class="topbar-btn" title="Login">🔑</a><a href="/accounts/settings" class="topbar-btn" title="Settings">⚙</a>' %}
{% set right_actions = '<a href="/auth/login?provider=local" class="topbar-btn" title="Login">' ~ fd_icon("key",16) ~ '</a><a href="/accounts/settings" class="topbar-btn" title="Settings">' ~ fd_icon("settings",16) ~ '</a>' %}
{% include '_header.html' %}
{% endblock %}
@@ -51,7 +51,7 @@
<div class="workspace-layout" x-data="workspacePage()">
<div class="workspace-header">
<h1>🏠 Workspace</h1>
<h1>{{ fd_icon("home",20) }} Workspace</h1>
<p>All your projects in one place — built-in, Gitea, and GitHub</p>
</div>
@@ -62,7 +62,7 @@
<template x-for="p in builtinProjects" :key="p.id">
<div class="project-card" @click="openProject(p)">
<div class="project-card-top">
<span class="project-card-icon" x-text="p.icon || '📁'"></span>
<span class="project-card-icon" x-html="getSvgIcon(p.icon || 'folder',20)"></span>
<span class="forge-badge builtin">Built-in</span>
</div>
<div class="project-card-name" x-text="p.name"></div>
@@ -80,12 +80,12 @@
<!-- Gitea Projects -->
<div class="forge-section" x-show="giteaProjects.length">
<h2><span class="forge-badge gitea">🔗 Gitea</span> Repositories</h2>
<h2><span class="forge-badge gitea">{{ fd_icon("link",14) }} Gitea</span> Repositories</h2>
<div class="project-grid">
<template x-for="p in giteaProjects" :key="p.id">
<div class="project-card" @click="openProject(p)">
<div class="project-card-top">
<span class="project-card-icon">📂</span>
<span class="project-card-icon">{{ fd_icon("folder",14) }}</span>
<span class="forge-badge gitea">Gitea</span>
</div>
<div class="project-card-name" x-text="p.name"></div>
@@ -101,12 +101,12 @@
<!-- GitHub Projects -->
<div class="forge-section" x-show="githubProjects.length">
<h2><span class="forge-badge github">🐙 GitHub</span> Repositories</h2>
<h2><span class="forge-badge github">{{ fd_icon("link",14) }} GitHub</span> Repositories</h2>
<div class="project-grid">
<template x-for="p in githubProjects" :key="p.id">
<div class="project-card" @click="openProject(p)">
<div class="project-card-top">
<span class="project-card-icon">📂</span>
<span class="project-card-icon">{{ fd_icon("folder",14) }}</span>
<span class="forge-badge github">GitHub</span>
</div>
<div class="project-card-name" x-text="p.name"></div>
@@ -179,7 +179,7 @@ function workspacePage() {
});
if (r.ok) {
const p = await r.json();
this.builtinProjects.unshift({...p, icon: '📁', pageCount: 0});
this.builtinProjects.unshift({...p, icon: 'folder', pageCount: 0});
this.newProjectName = '';
this.showCreateModal = false;
}