mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-06-09 12:39:23 -03:00
fix: add --surface-subtle token, restore info grouping, and apply theme-aware favorite color
- Add --surface-subtle (oklch 3% opacity) to replace rgba(0,0,0,0.03) - Fix info items, creator-info, civitai-view, modal-send-btn, header-actions to use --surface-subtle instead of --surface-hover - Keep true hover states on --surface-hover - Use light #d4a017 / dark #ffc107 for --favorite-color based on theme - Replace hardcoded #ffc107 and #d4a017 with var(--favorite-color)
This commit is contained in:
@@ -124,6 +124,17 @@ body {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
:focus-visible {
|
||||
outline: 2px solid var(--color-accent);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
button:focus:not(:focus-visible),
|
||||
input:focus:not(:focus-visible),
|
||||
select:focus:not(:focus-visible) {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
@@ -132,4 +143,8 @@ body {
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
}
|
||||
|
||||
html {
|
||||
scroll-behavior: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/* 卡片网格布局 */
|
||||
/* Card grid layout */
|
||||
.card-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); /* Base size */
|
||||
gap: 12px; /* Consistent gap for both row and column spacing */
|
||||
row-gap: 20px; /* Increase vertical spacing between rows */
|
||||
margin-top: var(--space-2);
|
||||
padding-top: 4px; /* 添加顶部内边距,为悬停动画提供空间 */
|
||||
padding-bottom: 4px; /* 添加底部内边距,为悬停动画提供空间 */
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
width: 100%; /* Ensure it takes full width of container */
|
||||
max-width: 1400px; /* Base container width */
|
||||
margin-left: auto;
|
||||
@@ -360,15 +360,19 @@
|
||||
align-self: flex-end;
|
||||
}
|
||||
|
||||
.card-actions i:hover {
|
||||
.card-actions i:hover,
|
||||
.card-actions i:focus-visible {
|
||||
opacity: 0.9;
|
||||
transform: scale(1.1);
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
outline: 2px solid var(--lora-accent);
|
||||
outline-offset: 2px;
|
||||
border-radius: var(--border-radius-xs);
|
||||
}
|
||||
|
||||
.favorite-active {
|
||||
color: #d4a017 !important;
|
||||
text-shadow: 0 0 5px rgba(212, 160, 23, 0.5);
|
||||
color: var(--favorite-color) !important;
|
||||
text-shadow: 0 0 5px var(--favorite-glow);
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
@@ -404,9 +408,13 @@
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.model-link a:hover {
|
||||
.model-link a:hover,
|
||||
.model-link a:focus-visible {
|
||||
opacity: 0.8;
|
||||
text-decoration: none;
|
||||
outline: 2px solid var(--lora-accent);
|
||||
outline-offset: 2px;
|
||||
border-radius: var(--border-radius-xs);
|
||||
}
|
||||
|
||||
/* Updated model name to fix text cutoff issues */
|
||||
|
||||
@@ -191,9 +191,11 @@
|
||||
}
|
||||
|
||||
.header-search .search-options-toggle:hover,
|
||||
.header-search .search-filter-toggle:hover {
|
||||
background: var(--lora-surface-hover, oklch(95% 0.02 256));
|
||||
color: var(--lora-accent);
|
||||
.header-search .search-filter-toggle:hover,
|
||||
.header-search .search-filter-toggle:focus-visible {
|
||||
background: var(--lora-surface-hover, oklch(95% 0.02 256));
|
||||
color: var(--lora-accent);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.header-search .filter-badge {
|
||||
@@ -366,9 +368,18 @@
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.hamburger-menu-btn:hover {
|
||||
background: var(--lora-accent);
|
||||
color: white;
|
||||
.hamburger-menu-btn:hover,
|
||||
.hamburger-menu-btn:focus-visible {
|
||||
background: var(--lora-surface-hover, oklch(95% 0.02 256));
|
||||
color: var(--lora-accent);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.hamburger-dropdown .dropdown-item:hover,
|
||||
.hamburger-dropdown .dropdown-item:focus-visible {
|
||||
background: var(--lora-surface-hover, oklch(95% 0.02 256));
|
||||
color: var(--lora-accent);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* Hamburger dropdown menu */
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
border-radius: var(--border-radius-base);
|
||||
text-align: center;
|
||||
border: 1px solid var(--lora-border);
|
||||
width: min(400px, 90vw); /* 固定最大宽度,但保持响应式 */
|
||||
width: min(400px, 90vw);
|
||||
}
|
||||
|
||||
.loading-spinner {
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
.loading-status {
|
||||
margin-bottom: 1rem;
|
||||
color: var(--text-color); /* 使用主题文本颜色 */
|
||||
color: var(--text-color);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
@@ -42,11 +42,11 @@
|
||||
}
|
||||
|
||||
.progress-container {
|
||||
width: 280px; /* 固定进度条宽度 */
|
||||
background-color: var(--lora-border); /* 使用主题边框颜色 */
|
||||
width: 280px;
|
||||
background-color: var(--lora-border);
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
margin: 0 auto; /* 居中显示 */
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.progress-bar {
|
||||
|
||||
@@ -105,14 +105,14 @@
|
||||
|
||||
.info-item {
|
||||
padding: var(--space-2);
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--border-radius-sm);
|
||||
}
|
||||
|
||||
/* 调整深色主题下的样式 */
|
||||
/* Dark theme info item styles */
|
||||
[data-theme="dark"] .info-item {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
}
|
||||
|
||||
@@ -271,13 +271,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* 修改 back-to-top 按钮样式,使其固定在 modal 内部 */
|
||||
/* Back-to-top button pinned inside modal */
|
||||
.modal-content .back-to-top {
|
||||
position: sticky; /* 改用 sticky 定位 */
|
||||
float: right; /* 使用 float 确保按钮在右侧 */
|
||||
bottom: 20px; /* 距离底部的距离 */
|
||||
margin-right: 20px; /* 右侧间距 */
|
||||
margin-top: -56px; /* 负边距确保不占用额外空间 */
|
||||
position: sticky;
|
||||
float: right;
|
||||
bottom: 20px;
|
||||
margin-right: 20px;
|
||||
margin-top: -56px;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 50%;
|
||||
@@ -334,7 +334,7 @@
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* 合并编辑按钮样式 */
|
||||
/* Consolidated edit button styles */
|
||||
.edit-model-name-btn,
|
||||
.edit-file-name-btn,
|
||||
.edit-base-model-btn,
|
||||
@@ -369,7 +369,7 @@
|
||||
.edit-base-model-btn:hover,
|
||||
.edit-model-description-btn:hover,
|
||||
.edit-version-name-btn:hover {
|
||||
opacity: 0.8 !important;
|
||||
opacity: 0.8;
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
@@ -387,7 +387,7 @@
|
||||
}
|
||||
|
||||
.base-wrapper {
|
||||
flex: 2; /* 分配更多空间给base model */
|
||||
flex: 2; /* Allocate more space to base model */
|
||||
}
|
||||
|
||||
/* Base model display and editing styles */
|
||||
@@ -447,7 +447,7 @@
|
||||
margin: 0;
|
||||
padding: var(--space-1);
|
||||
border-radius: var(--border-radius-xs);
|
||||
font-size: 1.5em !important;
|
||||
font-size: 1.5em;
|
||||
font-weight: 600;
|
||||
line-height: 1.2;
|
||||
color: var(--text-color);
|
||||
@@ -888,7 +888,7 @@
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
padding: 2px 10px;
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--border-radius-sm);
|
||||
max-width: fit-content;
|
||||
@@ -899,7 +899,7 @@
|
||||
[data-theme="dark"] .creator-info,
|
||||
[data-theme="dark"] .civitai-view,
|
||||
[data-theme="dark"] .modal-send-btn {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
}
|
||||
|
||||
@@ -958,7 +958,7 @@
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 6px 12px;
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--border-radius-sm);
|
||||
color: var(--text-color);
|
||||
@@ -981,7 +981,7 @@
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 6px 12px;
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--border-radius-sm);
|
||||
color: var(--text-color);
|
||||
@@ -992,7 +992,7 @@
|
||||
}
|
||||
|
||||
[data-theme="dark"] .modal-send-btn {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
}
|
||||
|
||||
|
||||
@@ -455,9 +455,9 @@
|
||||
}
|
||||
|
||||
.import-formats {
|
||||
font-size: 0.8em !important;
|
||||
opacity: 0.6 !important;
|
||||
margin-top: var(--space-2) !important;
|
||||
font-size: 0.8em;
|
||||
opacity: 0.6;
|
||||
margin-top: var(--space-2);
|
||||
}
|
||||
|
||||
.select-files-btn {
|
||||
@@ -481,7 +481,7 @@
|
||||
|
||||
/* For dark theme */
|
||||
[data-theme="dark"] .import-container {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
}
|
||||
|
||||
/* Setup Guidance State - When example images path is not configured */
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
.model-tag-compact {
|
||||
/* Updated styles to match info-item appearance */
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--border-radius-xs);
|
||||
padding: 2px 8px;
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
/* Adjust dark theme tag styles */
|
||||
[data-theme="dark"] .model-tag-compact {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
|
||||
.tooltip-tag {
|
||||
/* Updated styles to match info-item appearance */
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-hover);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--border-radius-xs);
|
||||
padding: 3px 8px;
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
/* Adjust dark theme tooltip tag styles */
|
||||
[data-theme="dark"] .tooltip-tag {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-hover);
|
||||
border: 1px solid var(--lora-border);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
/* Update Trigger Words styles */
|
||||
.info-item.trigger-words {
|
||||
padding: var(--space-2);
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--border-radius-sm);
|
||||
}
|
||||
|
||||
/* 调整 trigger words 样式 */
|
||||
/* Trigger words styles */
|
||||
[data-theme="dark"] .info-item.trigger-words {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
}
|
||||
|
||||
|
||||
@@ -186,7 +186,7 @@
|
||||
height: 88px;
|
||||
border-radius: var(--border-radius-xs);
|
||||
overflow: hidden;
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-hover);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
@@ -21,9 +21,11 @@
|
||||
background: var(--lora-surface);
|
||||
}
|
||||
|
||||
.context-menu-item:hover {
|
||||
.context-menu-item:hover,
|
||||
.context-menu-item:focus-visible {
|
||||
background-color: var(--lora-accent);
|
||||
color: var(--lora-text);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.context-menu-separator {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* modal 基础样式 */
|
||||
/* Modal base styles */
|
||||
.modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
@@ -6,19 +6,19 @@
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: calc(100% - var(--header-height, 48px)); /* Adjust height to exclude header */
|
||||
background: rgba(0, 0, 0, 0.2); /* 调整为更淡的半透明黑色 */
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
z-index: var(--z-modal);
|
||||
overflow: auto; /* Change from hidden to auto to allow scrolling */
|
||||
}
|
||||
|
||||
/* 当模态窗口打开时,禁止body滚动 */
|
||||
/* Prevent body scroll when modal is open */
|
||||
body.modal-open {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
padding-right: var(--scrollbar-width, 0px); /* 补偿滚动条消失导致的页面偏移 */
|
||||
padding-right: var(--scrollbar-width, 0px);
|
||||
}
|
||||
|
||||
/* modal-content 样式 */
|
||||
/* Modal content styles */
|
||||
.modal-content {
|
||||
position: relative;
|
||||
max-width: 800px;
|
||||
@@ -31,7 +31,7 @@ body.modal-open {
|
||||
border: 1px solid var(--lora-border);
|
||||
box-shadow: var(--shadow-md);
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden; /* 防止水平滚动条 */
|
||||
overflow-x: hidden;
|
||||
scrollbar-gutter: stable both-edges; /* Reserve space to prevent layout shift when scrollbar toggles */
|
||||
}
|
||||
|
||||
@@ -39,10 +39,10 @@ body.modal-open {
|
||||
min-height: 480px;
|
||||
}
|
||||
|
||||
/* 当 modal 打开时锁定 body */
|
||||
/* Lock body when modal is open */
|
||||
body.modal-open {
|
||||
overflow: hidden !important; /* 覆盖 base.css 中的 scroll */
|
||||
padding-right: var(--scrollbar-width, 8px); /* 使用滚动条宽度作为补偿 */
|
||||
overflow: hidden !important;
|
||||
padding-right: var(--scrollbar-width, 8px);
|
||||
}
|
||||
|
||||
@keyframes modalFadeIn {
|
||||
@@ -95,15 +95,20 @@ body.modal-open {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.cancel-btn:hover {
|
||||
.cancel-btn:hover,
|
||||
.cancel-btn:focus-visible {
|
||||
background: var(--lora-border);
|
||||
}
|
||||
|
||||
.delete-btn:hover {
|
||||
.delete-btn:hover,
|
||||
.delete-btn:focus-visible {
|
||||
background: oklch(from var(--lora-error) l c h / 85%);
|
||||
}
|
||||
|
||||
.exclude-btn:hover, .confirm-btn:hover {
|
||||
.exclude-btn:hover,
|
||||
.exclude-btn:focus-visible,
|
||||
.confirm-btn:hover,
|
||||
.confirm-btn:focus-visible {
|
||||
background: oklch(from var(--lora-accent, #4f46e5) l c h / 85%);
|
||||
}
|
||||
|
||||
@@ -127,23 +132,27 @@ body.modal-open {
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.close:hover {
|
||||
.close:hover,
|
||||
.close:focus-visible {
|
||||
opacity: 1;
|
||||
outline: 2px solid var(--lora-accent);
|
||||
outline-offset: 2px;
|
||||
border-radius: var(--border-radius-xs);
|
||||
}
|
||||
|
||||
/* 统一各个 section 的样式 */
|
||||
/* Unified section styles */
|
||||
.support-section,
|
||||
.changelog-section,
|
||||
.update-info,
|
||||
.info-item,
|
||||
.path-preview {
|
||||
background: var(--surface-hover);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
border-radius: var(--border-radius-sm);
|
||||
padding: var(--space-2);
|
||||
}
|
||||
|
||||
/* 深色主题统一样式 */
|
||||
/* Dark theme unified styles */
|
||||
[data-theme="dark"] .modal-content {
|
||||
background: var(--lora-surface);
|
||||
border: 1px solid var(--lora-border);
|
||||
@@ -163,9 +172,11 @@ body.modal-open {
|
||||
font-size: 0.95em;
|
||||
}
|
||||
|
||||
.primary-btn:hover {
|
||||
.primary-btn:hover,
|
||||
.primary-btn:focus-visible {
|
||||
background-color: oklch(from var(--lora-accent) l c h / 85%);
|
||||
color: var(--lora-text);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* Secondary button styles */
|
||||
@@ -183,9 +194,11 @@ body.modal-open {
|
||||
font-size: 0.95em;
|
||||
}
|
||||
|
||||
.secondary-btn:hover {
|
||||
.secondary-btn:hover,
|
||||
.secondary-btn:focus-visible {
|
||||
background-color: var(--border-color);
|
||||
color: var(--text-color);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* Disabled button styles */
|
||||
@@ -246,14 +259,16 @@ button:disabled,
|
||||
font-size: 0.95em;
|
||||
}
|
||||
|
||||
.danger-btn:hover {
|
||||
.danger-btn:hover,
|
||||
.danger-btn:focus-visible {
|
||||
background-color: oklch(from var(--lora-error) l c h / 85%);
|
||||
color: white;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* Metadata archive status styles */
|
||||
.metadata-archive-status {
|
||||
background: var(--surface-hover);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
border-radius: var(--border-radius-sm);
|
||||
padding: var(--space-2);
|
||||
@@ -299,7 +314,7 @@ button:disabled,
|
||||
}
|
||||
|
||||
.backup-status {
|
||||
background: var(--surface-hover);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
border-radius: var(--border-radius-sm);
|
||||
padding: var(--space-3);
|
||||
@@ -383,7 +398,7 @@ button:disabled,
|
||||
.backup-location-details {
|
||||
border: 1px solid var(--lora-border);
|
||||
border-radius: var(--border-radius-sm);
|
||||
background: var(--surface-hover);
|
||||
background: var(--surface-subtle);
|
||||
}
|
||||
|
||||
.backup-location-details summary {
|
||||
@@ -414,7 +429,7 @@ button:disabled,
|
||||
max-width: 100%;
|
||||
padding: 6px 8px;
|
||||
border-radius: var(--border-radius-sm);
|
||||
background: var(--surface-hover);
|
||||
background: var(--surface-subtle);
|
||||
color: var(--text-color);
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-word;
|
||||
@@ -487,7 +502,7 @@ button:disabled,
|
||||
}
|
||||
|
||||
#bulkDownloadMissingLorasModal .bulk-download-loras-preview {
|
||||
background: var(--surface-hover);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
border-radius: var(--border-radius-sm);
|
||||
padding: var(--space-3);
|
||||
|
||||
@@ -48,8 +48,7 @@
|
||||
padding: var(--space-3);
|
||||
border-radius: var(--border-radius-sm);
|
||||
border: 1px solid var(--lora-border);
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
}
|
||||
|
||||
.doctor-kicker {
|
||||
@@ -128,7 +127,7 @@
|
||||
|
||||
.doctor-issue-card {
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border-radius: var(--border-radius-sm);
|
||||
padding: var(--space-3);
|
||||
box-shadow: none;
|
||||
@@ -242,7 +241,7 @@
|
||||
|
||||
[data-theme="dark"] .doctor-hero,
|
||||
[data-theme="dark"] .doctor-issue-card {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border-color: var(--lora-border);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
@@ -303,5 +303,5 @@
|
||||
|
||||
/* Dark theme adjustments */
|
||||
[data-theme="dark"] .video-container {
|
||||
background-color: rgba(255, 255, 255, 0.03);
|
||||
background-color: var(--surface-hover);
|
||||
}
|
||||
@@ -927,7 +927,7 @@ input:checked + .toggle-slider:before {
|
||||
|
||||
/* Path Template Settings Styles */
|
||||
.template-preview {
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--border-radius-xs);
|
||||
padding: var(--space-1);
|
||||
@@ -939,7 +939,7 @@ input:checked + .toggle-slider:before {
|
||||
}
|
||||
|
||||
[data-theme="dark"] .template-preview {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
}
|
||||
|
||||
|
||||
@@ -258,7 +258,7 @@
|
||||
color: white; /* Icon color changes to white on hover */
|
||||
}
|
||||
|
||||
/* 增强hover状态的视觉反馈 */
|
||||
/* Enhanced hover visual feedback */
|
||||
.social-link:hover,
|
||||
.update-link:hover,
|
||||
.folder-item:hover {
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
|
||||
/* Update progress styles */
|
||||
.update-progress {
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
border-radius: var(--border-radius-sm);
|
||||
padding: var(--space-2);
|
||||
@@ -179,7 +179,7 @@
|
||||
}
|
||||
|
||||
[data-theme="dark"] .update-progress {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
}
|
||||
|
||||
.progress-info {
|
||||
@@ -429,7 +429,7 @@
|
||||
}
|
||||
|
||||
[data-theme="dark"] .banner-history-item {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
}
|
||||
|
||||
.banner-history-title {
|
||||
|
||||
@@ -67,9 +67,17 @@
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.icon-button:hover {
|
||||
opacity: 1;
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
.icon-button:hover,
|
||||
.icon-button:focus-visible {
|
||||
background: var(--lora-surface-hover, oklch(95% 0.02 256));
|
||||
color: var(--lora-accent);
|
||||
transform: scale(1.05);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .icon-button:hover,
|
||||
[data-theme="dark"] .icon-button:focus-visible {
|
||||
background: oklch(35% 0.02 256 / 0.98);
|
||||
}
|
||||
|
||||
[data-theme="dark"] .icon-button:hover {
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
/* 删除不再需要的按钮样式 */
|
||||
/* Remove obsolete button styles */
|
||||
.editor-actions {
|
||||
display: none;
|
||||
}
|
||||
@@ -144,7 +144,7 @@
|
||||
}
|
||||
|
||||
.recipe-tag-compact {
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--border-radius-xs);
|
||||
padding: 2px 8px;
|
||||
@@ -154,7 +154,7 @@
|
||||
}
|
||||
|
||||
[data-theme="dark"] .recipe-tag-compact {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
}
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
}
|
||||
|
||||
.tooltip-tag {
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-hover);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--border-radius-xs);
|
||||
padding: 3px 8px;
|
||||
@@ -212,7 +212,7 @@
|
||||
}
|
||||
|
||||
[data-theme="dark"] .tooltip-tag {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-hover);
|
||||
border: 1px solid var(--lora-border);
|
||||
}
|
||||
|
||||
@@ -251,7 +251,7 @@
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 6px 12px;
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--border-radius-sm);
|
||||
color: var(--text-color);
|
||||
@@ -263,7 +263,7 @@
|
||||
}
|
||||
|
||||
[data-theme="dark"] .recipe-source-url-btn {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-subtle);
|
||||
border: 1px solid var(--lora-border);
|
||||
}
|
||||
|
||||
@@ -1114,9 +1114,9 @@
|
||||
color: #777;
|
||||
}
|
||||
|
||||
/* 标题输入框特定的样式 */
|
||||
/* Title input specific styles */
|
||||
.title-input {
|
||||
font-size: 1.2em !important; /* 调整为更合适的大小 */
|
||||
font-size: 1.2em;
|
||||
line-height: 1.2;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
/* 调整搜索框样式以匹配其他控件 */
|
||||
/* Match search input styles to other controls */
|
||||
.search-container input {
|
||||
width: 100%;
|
||||
padding: 6px 35px 6px 12px; /* Reduced right padding */
|
||||
@@ -35,7 +35,7 @@
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
/* 修改清空按钮样式 */
|
||||
/* Clear button styles */
|
||||
.search-clear {
|
||||
position: absolute;
|
||||
right: 105px; /* Adjusted further left to avoid overlapping */
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
/* Edit Container */
|
||||
.metadata-edit-container {
|
||||
padding: var(--space-2);
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
background: var(--surface-hover);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--border-radius-sm);
|
||||
margin-top: var(--space-2);
|
||||
@@ -42,7 +42,7 @@
|
||||
}
|
||||
|
||||
[data-theme="dark"] .metadata-edit-container {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
background: var(--surface-hover);
|
||||
border: 1px solid var(--lora-border);
|
||||
}
|
||||
|
||||
|
||||
@@ -707,19 +707,25 @@
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.sidebar-create-folder-btn:hover {
|
||||
.sidebar-create-folder-btn:hover,
|
||||
.sidebar-create-folder-btn:focus-visible {
|
||||
background: var(--lora-surface);
|
||||
color: var(--text-color);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.sidebar-create-folder-confirm:hover {
|
||||
.sidebar-create-folder-confirm:hover,
|
||||
.sidebar-create-folder-confirm:focus-visible {
|
||||
background: oklch(from var(--success-color) l c h / 0.15);
|
||||
color: var(--success-color);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.sidebar-create-folder-cancel:hover {
|
||||
.sidebar-create-folder-cancel:hover,
|
||||
.sidebar-create-folder-cancel:focus-visible {
|
||||
background: oklch(from var(--error-color) l c h / 0.15);
|
||||
color: var(--error-color);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.sidebar-create-folder-hint {
|
||||
|
||||
@@ -15,18 +15,18 @@
|
||||
/* Toast Notifications */
|
||||
.toast {
|
||||
position: fixed;
|
||||
top: 20px; /* 改为从顶部显示 */
|
||||
right: 20px; /* 改为右对齐 */
|
||||
left: auto; /* 移除左对齐 */
|
||||
transform: translateX(120%); /* 初始位置在屏幕右侧外 */
|
||||
min-width: 300px; /* 设置最小宽度 */
|
||||
max-width: 400px; /* 设置最大宽度 */
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
left: auto;
|
||||
transform: translateX(120%);
|
||||
min-width: 300px;
|
||||
max-width: 400px;
|
||||
background: var(--lora-surface);
|
||||
color: var(--text-color);
|
||||
padding: 12px 16px;
|
||||
border-radius: var(--border-radius-sm);
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
|
||||
z-index: calc(var(--z-overlay) + 10); /* 让toast显示在最上层 */
|
||||
z-index: calc(var(--z-overlay) + 10);
|
||||
opacity: 0;
|
||||
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
|
||||
opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
@@ -36,11 +36,10 @@
|
||||
}
|
||||
|
||||
.toast.show {
|
||||
transform: translateX(0); /* 显示时滑入到正确位置 */
|
||||
transform: translateX(0);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* 添加图标容器 */
|
||||
.toast::before {
|
||||
content: '';
|
||||
width: 20px;
|
||||
@@ -51,7 +50,7 @@
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
/* 不同类型的toast样式 */
|
||||
/* Toast type variants */
|
||||
.toast-success {
|
||||
border-left: 4px solid oklch(65% 0.2 142);
|
||||
}
|
||||
@@ -76,15 +75,15 @@
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232196f3'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
/* 多个toast堆叠显示 */
|
||||
/* Stacked toast spacing */
|
||||
.toast + .toast {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
/* 响应式调整 */
|
||||
/* Responsive adjustments */
|
||||
@media (max-width: 768px) {
|
||||
.toast {
|
||||
width: calc(100% - 40px); /* 左右各留20px间距 */
|
||||
width: calc(100% - 40px);
|
||||
max-width: none;
|
||||
right: 20px;
|
||||
}
|
||||
|
||||
@@ -83,11 +83,13 @@
|
||||
box-shadow: var(--shadow-xs);
|
||||
}
|
||||
|
||||
.control-group button:hover {
|
||||
.control-group button:hover,
|
||||
.control-group button:focus-visible {
|
||||
border-color: var(--lora-accent);
|
||||
background: var(--bg-color);
|
||||
transform: translateY(-1px);
|
||||
box-shadow: var(--shadow-lg);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.control-group button:active {
|
||||
@@ -100,7 +102,8 @@
|
||||
transition: opacity 0.2s ease;
|
||||
}
|
||||
|
||||
.control-group button:hover i {
|
||||
.control-group button:hover i,
|
||||
.control-group button:focus-visible i {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
@@ -131,7 +134,7 @@
|
||||
|
||||
.control-group button.favorite-filter i {
|
||||
margin-right: 4px;
|
||||
color: #ffc107;
|
||||
color: var(--favorite-color);
|
||||
}
|
||||
|
||||
.control-group button.update-filter i {
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* 使用已有的loading-spinner样式 */
|
||||
/* Reuse existing loading-spinner styles */
|
||||
.initialization-notice .loading-spinner {
|
||||
margin-bottom: var(--space-2);
|
||||
}
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
--surface-base: #ffffff;
|
||||
--surface-elevated: oklch(97% 0 0 / 0.95);
|
||||
--surface-hover: oklch(95% 0.02 256);
|
||||
--surface-subtle: oklch(0% 0 0 / 0.03);
|
||||
|
||||
--border-base: #e0e0e0;
|
||||
--border-subtle: oklch(72% 0.03 256 / 0.45);
|
||||
@@ -74,7 +75,7 @@
|
||||
--status-info-border: oklch(55% 0.12 195 / 0.3);
|
||||
|
||||
--favorite-color: #d4a017;
|
||||
--favorite-glow: oklch(75% 0.15 85 / 0.5);
|
||||
--favorite-glow: oklch(65% 0.15 85 / 0.5);
|
||||
}
|
||||
|
||||
[data-theme="dark"] {
|
||||
@@ -92,6 +93,7 @@
|
||||
--surface-base: #2d2d2d;
|
||||
--surface-elevated: oklch(25% 0.02 256 / 0.98);
|
||||
--surface-hover: oklch(35% 0.02 256);
|
||||
--surface-subtle: oklch(100% 0 0 / 0.03);
|
||||
|
||||
--border-base: #404040;
|
||||
--border-subtle: oklch(90% 0.02 256 / 0.15);
|
||||
@@ -110,4 +112,6 @@
|
||||
|
||||
--color-error-bg: color-mix(in oklch, var(--color-error) 15%, transparent);
|
||||
--color-error-border: color-mix(in oklch, var(--color-error) 40%, transparent);
|
||||
|
||||
--favorite-color: #ffc107;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user