feat: refactor styles dans custom_views.css et tag.cloud.html pour utiliser des variables CSS sémantiques, amélioration de la cohérence visuelle et suppression des couleurs hardcodées

This commit is contained in:
Bruno Charest 2026-04-20 18:48:39 -04:00
parent 561249ba06
commit 0f1bed5e15
3 changed files with 32 additions and 29 deletions

View File

@ -39,7 +39,7 @@ body.view-todo #linklist {
} }
.create-task-btn:hover { .create-task-btn:hover {
background-color: var(--primary-dark, #1d4ed8); background-color: var(--primary-hover);
transform: translateY(-1px); transform: translateY(-1px);
} }
@ -60,8 +60,8 @@ body.view-todo #linklist {
} }
.todo-list-item.active { .todo-list-item.active {
background-color: rgba(37, 99, 235, 0.1); background-color: color-mix(in srgb, var(--primary) 10%, transparent);
color: var(--primary-color, #2563eb); color: var(--primary);
font-weight: 600; font-weight: 600;
margin: 0; margin: 0;
} }
@ -113,7 +113,7 @@ body.view-todo #linklist {
.todo-item.completed .todo-title { .todo-item.completed .todo-title {
text-decoration: line-through; text-decoration: line-through;
color: var(--text-light, #94a3b8); color: var(--text-muted);
} }
.todo-meta { .todo-meta {
@ -187,7 +187,7 @@ body.view-archive .content-container {
} }
.icon-btn:hover { .icon-btn:hover {
background-color: rgba(136, 136, 136, 0.1); background-color: color-mix(in srgb, var(--text-muted) 10%, transparent);
} }
.icon-btn.active { .icon-btn.active {
@ -304,7 +304,7 @@ body.view-archive .content-container {
.note-modal-pin-toggle:hover, .note-modal-pin-toggle:hover,
.note-modal-pin-toggle.active { .note-modal-pin-toggle.active {
background-color: rgba(255, 255, 255, 0.14); background-color: color-mix(in srgb, var(--text-main) 14%, transparent);
} }
.note-body { .note-body {
@ -584,11 +584,11 @@ body.view-todo .note-card.todo-card .todo-checklist-preview-wrap {
} }
.todo-item-text:focus { .todo-item-text:focus {
background: rgba(0, 0, 0, 0.06); background: color-mix(in srgb, var(--text-main) 6%, transparent);
} }
[data-theme="dark"] .todo-item-text:focus { [data-theme="dark"] .todo-item-text:focus {
background: rgba(255, 255, 255, 0.08); background: color-mix(in srgb, var(--text-main) 8%, transparent);
} }
.todo-item-delete { .todo-item-delete {
@ -608,11 +608,11 @@ body.view-todo .note-card.todo-card .todo-checklist-preview-wrap {
.todo-item-delete:hover { .todo-item-delete:hover {
opacity: 1; opacity: 1;
background: rgba(0, 0, 0, 0.08); background: color-mix(in srgb, var(--text-main) 8%, transparent);
} }
[data-theme="dark"] .todo-item-delete:hover { [data-theme="dark"] .todo-item-delete:hover {
background: rgba(255, 255, 255, 0.12); background: color-mix(in srgb, var(--text-main) 12%, transparent);
} }
.todo-item-delete i { .todo-item-delete i {

View File

@ -34,6 +34,8 @@
if (themeMode === 'dark') { if (themeMode === 'dark') {
document.documentElement.setAttribute('data-theme', 'dark'); document.documentElement.setAttribute('data-theme', 'dark');
} else {
document.documentElement.setAttribute('data-theme', 'light');
} }
document.documentElement.setAttribute('data-theme-id', themeId); document.documentElement.setAttribute('data-theme-id', themeId);

View File

@ -56,7 +56,8 @@
<div id="cloudtag" class="tag-cloud"> <div id="cloudtag" class="tag-cloud">
{loop="$tags"} {loop="$tags"}
<span class="tag-item" data-tag="{$key}"> <span class="tag-item" data-tag="{$key}">
<a href="{$base_path}/?searchtags={$tags_url.$key1}{$tags_separator|urlencode}{$search_tags_url}" style="font-size:{$value.size}em;" class="cloud-tag">{$key}</a> <a href="{$base_path}/?searchtags={$tags_url.$key1}{$tags_separator|urlencode}{$search_tags_url}"
style="font-size:{$value.size}em;" class="cloud-tag">{$key}</a>
<span class="count-badge">{$value.count}</span> <span class="count-badge">{$value.count}</span>
{loop="$value.tag_plugin"} {loop="$value.tag_plugin"}
{$value} {$value}
@ -90,9 +91,9 @@
gap: 0.25rem; gap: 0.25rem;
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
padding: 0.75rem; padding: 0.75rem;
background: linear-gradient(135deg, rgba(30, 41, 59, 0.8) 0%, rgba(15, 23, 42, 0.9) 100%); background: linear-gradient(135deg, color-mix(in srgb, var(--bg-card) 80%, transparent) 0%, color-mix(in srgb, var(--bg-sidebar) 90%, transparent) 100%);
border-radius: 1rem; border-radius: 1rem;
border: 1px solid rgba(99, 102, 241, 0.2); border: 1px solid color-mix(in srgb, var(--primary) 20%, transparent);
box-shadow: box-shadow:
0 4px 20px rgba(0, 0, 0, 0.3), 0 4px 20px rgba(0, 0, 0, 0.3),
inset 0 1px 0 rgba(255, 255, 255, 0.05); inset 0 1px 0 rgba(255, 255, 255, 0.05);
@ -113,7 +114,7 @@
font-weight: 600; font-weight: 600;
font-family: 'Inter', 'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif; font-family: 'Inter', 'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif;
letter-spacing: 0.02em; letter-spacing: 0.02em;
color: rgba(148, 163, 184, 0.8); color: color-mix(in srgb, var(--text-muted) 80%, transparent);
background: transparent; background: transparent;
border: none; border: none;
border-radius: 50%; border-radius: 50%;
@ -133,27 +134,27 @@
} }
.alpha-btn:hover:not(.disabled) { .alpha-btn:hover:not(.disabled) {
color: #fff; color: var(--text-main);
} }
.alpha-btn:hover:not(.disabled)::before { .alpha-btn:hover:not(.disabled)::before {
background: rgba(99, 102, 241, 0.25); background: color-mix(in srgb, var(--primary) 25%, transparent);
} }
.alpha-btn.active { .alpha-btn.active {
color: #fff; color: var(--text-main);
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
} }
.alpha-btn.active::before { .alpha-btn.active::before {
background: linear-gradient(135deg, #5b8def 0%, #6366f1 100%); background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
box-shadow: box-shadow:
0 2px 10px rgba(91, 141, 239, 0.5), 0 2px 10px color-mix(in srgb, var(--primary) 50%, transparent),
0 0 20px rgba(99, 102, 241, 0.3); 0 0 20px color-mix(in srgb, var(--primary) 30%, transparent);
} }
.alpha-btn.disabled { .alpha-btn.disabled {
color: rgba(100, 116, 139, 0.3); color: color-mix(in srgb, var(--text-muted) 30%, transparent);
cursor: not-allowed; cursor: not-allowed;
} }
@ -223,9 +224,9 @@
justify-content: center; justify-content: center;
padding: 0.5em 1em; padding: 0.5em 1em;
font-weight: 500; font-weight: 500;
color: #e2e8f0; color: var(--text-main);
background: linear-gradient(135deg, rgba(30, 41, 59, 0.9) 0%, rgba(15, 23, 42, 0.95) 100%); background: linear-gradient(135deg, color-mix(in srgb, var(--bg-card) 90%, transparent) 0%, color-mix(in srgb, var(--bg-sidebar) 95%, transparent) 100%);
border: 1px solid rgba(99, 102, 241, 0.15); border: 1px solid color-mix(in srgb, var(--primary) 15%, transparent);
border-radius: 25px; border-radius: 25px;
text-decoration: none; text-decoration: none;
white-space: nowrap; white-space: nowrap;
@ -236,13 +237,13 @@
} }
.cloud-tag:hover { .cloud-tag:hover {
color: #fff; color: var(--text-main);
background: linear-gradient(135deg, rgba(99, 102, 241, 0.3) 0%, rgba(91, 141, 239, 0.2) 100%); background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 30%, transparent) 0%, color-mix(in srgb, var(--primary) 20%, transparent) 100%);
border-color: rgba(99, 102, 241, 0.5); border-color: color-mix(in srgb, var(--primary) 50%, transparent);
text-decoration: none; text-decoration: none;
box-shadow: box-shadow:
0 4px 16px rgba(99, 102, 241, 0.3), 0 4px 16px color-mix(in srgb, var(--primary) 30%, transparent),
0 0 20px rgba(99, 102, 241, 0.1), 0 0 20px color-mix(in srgb, var(--primary) 10%, transparent),
inset 0 1px 0 rgba(255, 255, 255, 0.1); inset 0 1px 0 rgba(255, 255, 255, 0.1);
} }