Switch Emojis to Tabler icons.

This commit is contained in:
2025-07-08 22:35:31 +02:00
parent f2773a674a
commit 9dd208800d
44 changed files with 389 additions and 366 deletions

View File

@@ -7,18 +7,18 @@
<div class="header-content">
<div class="header-left">
<h1 class="page-title">
<span class="page-icon">📁</span>
<i class="ti ti-folder page-icon"></i>
Project Management
</h1>
<p class="page-subtitle">Manage projects, categories, and track time entries</p>
</div>
<div class="header-actions">
<a href="{{ url_for('projects.create_project') }}" class="btn btn-primary">
<span class="icon">+</span>
<i class="ti ti-plus"></i>
Create New Project
</a>
<button id="manage-categories-btn" class="btn btn-secondary">
<span class="icon">🏷️</span>
<i class="ti ti-tag"></i>
Manage Categories
</button>
</div>
@@ -51,7 +51,7 @@
<div id="categories-section" class="categories-section" style="display: none;">
<div class="section-header">
<h2 class="section-title">
<span class="icon">🏷️</span>
<i class="ti ti-tag"></i>
Project Categories
</h2>
<button id="create-category-btn" class="btn btn-sm btn-primary">
@@ -65,7 +65,7 @@
<div class="category-card" data-category-id="{{ category.id }}">
<div class="category-header" style="background: linear-gradient(135deg, {{ category.color }}20 0%, {{ category.color }}10 100%); border-left: 4px solid {{ category.color }};">
<div class="category-title">
<span class="category-icon">{{ category.icon or '📁' }}</span>
<span class="category-icon">{{ category.icon or '<i class="ti ti-folder"></i>' }}</span>
<span class="category-name">{{ category.name }}</span>
</div>
<div class="category-stats">
@@ -76,11 +76,11 @@
<p class="category-description">{{ category.description or 'No description provided' }}</p>
<div class="category-actions">
<button class="btn btn-sm btn-edit edit-category-btn" data-id="{{ category.id }}">
<span class="icon">✏️</span>
<i class="ti ti-pencil"></i>
Edit
</button>
<button class="btn btn-sm btn-delete delete-category-btn" data-id="{{ category.id }}">
<span class="icon">🗑️</span>
<i class="ti ti-trash"></i>
Delete
</button>
</div>
@@ -88,7 +88,7 @@
</div>
{% else %}
<div class="empty-categories">
<div class="empty-icon">🏷️</div>
<div class="empty-icon"><i class="ti ti-tag" style="font-size: 4rem;"></i></div>
<p class="empty-message">No categories created yet</p>
<button id="first-category-btn" class="btn btn-primary">Create your first category</button>
</div>
@@ -102,7 +102,7 @@
<!-- View Controls -->
<div class="view-controls">
<div class="search-container">
<span class="search-icon">🔍</span>
<i class="ti ti-search search-icon"></i>
<input type="text"
class="search-input"
id="projectSearch"
@@ -110,10 +110,10 @@
</div>
<div class="view-toggle">
<button class="toggle-btn active" data-view="grid" title="Grid View">
<span class="icon"></span>
<i class="ti ti-layout-grid"></i>
</button>
<button class="toggle-btn" data-view="list" title="List View">
<span class="icon"></span>
<i class="ti ti-list"></i>
</button>
</div>
</div>
@@ -141,18 +141,18 @@
{% if project.category %}
<div class="project-category">
<span class="category-badge" style="background-color: {{ project.category.color }}20; color: {{ project.category.color }};">
{{ project.category.icon or '📁' }} {{ project.category.name }}
{{ project.category.icon or '<i class="ti ti-folder"></i>' }} {{ project.category.name }}
</span>
</div>
{% endif %}
<div class="project-info">
<div class="info-item">
<span class="info-icon">👥</span>
<i class="ti ti-users info-icon"></i>
<span class="info-text">{{ project.team.name if project.team else 'All Teams' }}</span>
</div>
<div class="info-item">
<span class="info-icon">📅</span>
<i class="ti ti-calendar info-icon"></i>
<span class="info-text">
{% if project.start_date %}
{{ project.start_date.strftime('%b %d, %Y') }}
@@ -163,11 +163,11 @@
</span>
</div>
<div class="info-item">
<span class="info-icon">⏱️</span>
<i class="ti ti-clock info-icon"></i>
<span class="info-text">{{ project.time_entries|length }} time entries</span>
</div>
<div class="info-item">
<span class="info-icon">👤</span>
<i class="ti ti-user info-icon"></i>
<span class="info-text">Created by {{ project.created_by.username }}</span>
</div>
</div>
@@ -175,18 +175,18 @@
<div class="project-actions">
<a href="{{ url_for('projects.edit_project', project_id=project.id) }}" class="btn btn-edit">
<span class="icon">✏️</span>
<i class="ti ti-pencil"></i>
Edit
</a>
<a href="{{ url_for('projects.manage_project_tasks', project_id=project.id) }}" class="btn btn-tasks">
<span class="icon">📋</span>
<i class="ti ti-clipboard-list"></i>
Tasks
</a>
{% if g.user.role in [Role.ADMIN, Role.SYSTEM_ADMIN] %}
<form method="POST" action="{{ url_for('projects.delete_project', project_id=project.id) }}" class="delete-form"
onsubmit="return confirm('Are you sure you want to delete this project? This will delete all tasks, time entries, and related data!')">
<button type="submit" class="btn btn-delete" title="Delete project">
<span class="icon">🗑️</span>
<i class="ti ti-trash"></i>
</button>
</form>
{% endif %}
@@ -226,7 +226,7 @@
<td>
{% if project.category %}
<span class="category-badge" style="background-color: {{ project.category.color }}20; color: {{ project.category.color }};">
{{ project.category.icon or '📁' }} {{ project.category.name }}
{{ project.category.icon or '<i class="ti ti-folder"></i>' }} {{ project.category.name }}
</span>
{% else %}
<span class="text-muted">-</span>
@@ -251,16 +251,16 @@
<td>
<div class="table-actions">
<a href="{{ url_for('projects.edit_project', project_id=project.id) }}" class="btn-action btn-edit" title="Edit">
<span class="icon">✏️</span>
<i class="ti ti-pencil"></i>
</a>
<a href="{{ url_for('projects.manage_project_tasks', project_id=project.id) }}" class="btn-action btn-tasks" title="Tasks">
<span class="icon">📋</span>
<i class="ti ti-clipboard-list"></i>
</a>
{% if g.user.role in [Role.ADMIN, Role.SYSTEM_ADMIN] %}
<form method="POST" action="{{ url_for('projects.delete_project', project_id=project.id) }}" class="inline-form"
onsubmit="return confirm('Are you sure you want to delete this project? This will delete all tasks, time entries, and related data!')">
<button type="submit" class="btn-action btn-delete" title="Delete">
<span class="icon">🗑️</span>
<i class="ti ti-trash"></i>
</button>
</form>
{% endif %}
@@ -275,18 +275,18 @@
<!-- No Results Message -->
<div class="no-results" id="noResults" style="display: none;">
<div class="empty-icon">🔍</div>
<div class="empty-icon"><i class="ti ti-search-off" style="font-size: 4rem;"></i></div>
<p class="empty-message">No projects found matching your search</p>
<p class="empty-hint">Try searching with different keywords</p>
</div>
{% else %}
<!-- Empty State -->
<div class="empty-state">
<div class="empty-icon">📁</div>
<div class="empty-icon"><i class="ti ti-folder-off" style="font-size: 4rem;"></i></div>
<h2 class="empty-title">No Projects Yet</h2>
<p class="empty-message">Create your first project to start tracking time</p>
<a href="{{ url_for('projects.create_project') }}" class="btn btn-primary btn-lg">
<span class="icon">+</span>
<i class="ti ti-plus"></i>
Create First Project
</a>
</div>
@@ -337,7 +337,7 @@
<div class="modal-footer">
<button type="button" class="btn btn-secondary" id="cancel-category">Cancel</button>
<button type="submit" form="category-form" class="btn btn-primary">
<span class="icon"></span>
<i class="ti ti-check"></i>
Save Category
</button>
</div>
@@ -1203,7 +1203,7 @@ document.addEventListener('DOMContentLoaded', function() {
manageCategoriesBtn.addEventListener('click', function() {
const isVisible = categoriesSection.style.display !== 'none';
categoriesSection.style.display = isVisible ? 'none' : 'block';
this.innerHTML = isVisible ? '<span class="icon">🏷️</span> Manage Categories' : '<span class="icon">🏷️</span> Hide Categories';
this.innerHTML = isVisible ? '<i class="ti ti-tag"></i> Manage Categories' : '<i class="ti ti-tag"></i> Hide Categories';
});
// View Toggle