mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-23 22:22:11 -03:00
Add folder tag toggle and feedback button; refactor theme toggle
This commit is contained in:
@@ -441,13 +441,23 @@ body.modal-open {
|
|||||||
|
|
||||||
/* 主题切换按钮 */
|
/* 主题切换按钮 */
|
||||||
.theme-toggle {
|
.theme-toggle {
|
||||||
position: fixed;
|
position: static; /* Override the fixed positioning */
|
||||||
top: 20px;
|
width: 36px; /* Match the size of other buttons */
|
||||||
right: 20px;
|
height: 36px; /* Match the size of other buttons */
|
||||||
cursor: pointer;
|
display: flex; /* Center the image */
|
||||||
padding: 8px;
|
align-items: center;
|
||||||
border-radius: 50%;
|
justify-content: center;
|
||||||
background: var(--card-bg);
|
border: 1px solid var(--border-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-toggle:hover {
|
||||||
|
background: var(--lora-accent);
|
||||||
|
transform: translateY(-2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-toggle img {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.base-model-label {
|
.base-model-label {
|
||||||
@@ -928,4 +938,51 @@ body.modal-open {
|
|||||||
order: -1; /* 在移动端将搜索框移到顶部 */
|
order: -1; /* 在移动端将搜索框移到顶部 */
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ...existing code... */
|
||||||
|
|
||||||
|
.corner-controls {
|
||||||
|
position: fixed;
|
||||||
|
top: 20px;
|
||||||
|
right: 20px;
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
z-index: var(--z-overlay);
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-button {
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 8px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: var(--card-bg);
|
||||||
|
border: 1px solid var(--border-color);
|
||||||
|
color: var(--text-color);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
transition: all 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-button:hover {
|
||||||
|
background: var(--lora-accent);
|
||||||
|
color: white;
|
||||||
|
transform: translateY(-2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add responsive adjustments */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.corner-controls {
|
||||||
|
top: 10px;
|
||||||
|
right: 10px;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-button,
|
||||||
|
.theme-toggle {
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -4,7 +4,19 @@ import { modalManager } from './managers/ModalManager.js';
|
|||||||
import { state } from './state/index.js';
|
import { state } from './state/index.js';
|
||||||
import { showLoraModal } from './components/LoraCard.js';
|
import { showLoraModal } from './components/LoraCard.js';
|
||||||
import { loadMoreLoras, fetchCivitai, deleteModel, replacePreview, resetAndReload, refreshLoras } from './api/loraApi.js';
|
import { loadMoreLoras, fetchCivitai, deleteModel, replacePreview, resetAndReload, refreshLoras } from './api/loraApi.js';
|
||||||
import { showToast, lazyLoadImages, restoreFolderFilter, initTheme, toggleTheme, toggleFolder, copyTriggerWord, openCivitai } from './utils/uiHelpers.js';
|
import {
|
||||||
|
showToast,
|
||||||
|
lazyLoadImages,
|
||||||
|
restoreFolderFilter,
|
||||||
|
initTheme,
|
||||||
|
toggleTheme,
|
||||||
|
toggleFolder,
|
||||||
|
copyTriggerWord,
|
||||||
|
openCivitai,
|
||||||
|
toggleFolderTags,
|
||||||
|
openFeedback,
|
||||||
|
initFolderTagsVisibility
|
||||||
|
} from './utils/uiHelpers.js';
|
||||||
import { initializeInfiniteScroll } from './utils/infiniteScroll.js';
|
import { initializeInfiniteScroll } from './utils/infiniteScroll.js';
|
||||||
import { showDeleteModal, confirmDelete, closeDeleteModal } from './utils/modalUtils.js';
|
import { showDeleteModal, confirmDelete, closeDeleteModal } from './utils/modalUtils.js';
|
||||||
import { SearchManager } from './utils/search.js';
|
import { SearchManager } from './utils/search.js';
|
||||||
@@ -25,6 +37,8 @@ window.closeDeleteModal = closeDeleteModal;
|
|||||||
window.refreshLoras = refreshLoras;
|
window.refreshLoras = refreshLoras;
|
||||||
window.openCivitai = openCivitai;
|
window.openCivitai = openCivitai;
|
||||||
window.showToast = showToast
|
window.showToast = showToast
|
||||||
|
window.toggleFolderTags = toggleFolderTags;
|
||||||
|
window.openFeedback = openFeedback;
|
||||||
|
|
||||||
// Initialize everything when DOM is ready
|
// Initialize everything when DOM is ready
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
@@ -35,6 +49,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
lazyLoadImages();
|
lazyLoadImages();
|
||||||
restoreFolderFilter();
|
restoreFolderFilter();
|
||||||
initTheme();
|
initTheme();
|
||||||
|
initFolderTagsVisibility();
|
||||||
window.searchManager = new SearchManager();
|
window.searchManager = new SearchManager();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -96,4 +96,28 @@ export function openCivitai(modelName) {
|
|||||||
// 如果没有ID,尝试使用名称搜索
|
// 如果没有ID,尝试使用名称搜索
|
||||||
window.open(`https://civitai.com/models?query=${encodeURIComponent(modelName)}`, '_blank');
|
window.open(`https://civitai.com/models?query=${encodeURIComponent(modelName)}`, '_blank');
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function toggleFolderTags() {
|
||||||
|
const folderTags = document.querySelector('.folder-tags');
|
||||||
|
if (!folderTags) return;
|
||||||
|
|
||||||
|
const isHidden = folderTags.style.display === 'none';
|
||||||
|
folderTags.style.display = isHidden ? 'flex' : 'none';
|
||||||
|
|
||||||
|
// Save preference
|
||||||
|
localStorage.setItem('folderTagsVisible', isHidden ? 'true' : 'false');
|
||||||
|
}
|
||||||
|
|
||||||
|
export function openFeedback() {
|
||||||
|
window.open('https://github.com/willmiao/ComfyUI-Lora-Manager/issues/new', '_blank');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add this to your existing initialization code
|
||||||
|
export function initFolderTagsVisibility() {
|
||||||
|
const folderTags = document.querySelector('.folder-tags');
|
||||||
|
if (!folderTags) return;
|
||||||
|
|
||||||
|
const isVisible = localStorage.getItem('folderTagsVisible') !== 'false';
|
||||||
|
folderTags.style.display = isVisible ? 'flex' : 'none';
|
||||||
}
|
}
|
||||||
@@ -34,8 +34,16 @@
|
|||||||
<link rel="preconnect" href="https://cdnjs.cloudflare.com">
|
<link rel="preconnect" href="https://cdnjs.cloudflare.com">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="theme-toggle" onclick="toggleTheme()">
|
<div class="corner-controls">
|
||||||
<img src="/loras_static/images/theme-toggle.svg" alt="Theme">
|
<button class="control-button" onclick="toggleFolderTags()" title="Toggle folder tags">
|
||||||
|
<i class="fas fa-tags"></i>
|
||||||
|
</button>
|
||||||
|
<button class="control-button" onclick="openFeedback()" title="Report issues or request features">
|
||||||
|
<i class="fas fa-bug"></i>
|
||||||
|
</button>
|
||||||
|
<div class="theme-toggle" onclick="toggleTheme()" title="Toggle theme">
|
||||||
|
<img src="/loras_static/images/theme-toggle.svg" alt="Theme">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% include 'components/modals.html' %}
|
{% include 'components/modals.html' %}
|
||||||
|
|||||||
Reference in New Issue
Block a user