Fix lora page header

This commit is contained in:
Will Miao
2025-03-17 15:53:53 +08:00
parent a4ee82b51f
commit 0580130d47
6 changed files with 14 additions and 60 deletions

View File

@@ -1,3 +1,5 @@
import { updateService } from '../managers/UpdateService.js';
/**
* Header.js - Manages the application header behavior across different pages
* Handles initialization of appropriate search and filter managers based on current page
@@ -76,7 +78,7 @@ export class HeaderManager {
const settingsToggle = document.querySelector('.settings-toggle');
if (settingsToggle) {
settingsToggle.addEventListener('click', () => {
if (window.settingsManager && typeof window.settingsManager.toggleSettings === 'function') {
if (window.settingsManager) {
window.settingsManager.toggleSettings();
}
});
@@ -86,7 +88,7 @@ export class HeaderManager {
const updateToggle = document.getElementById('updateToggleBtn');
if (updateToggle) {
updateToggle.addEventListener('click', () => {
// Handle update check logic
updateService.toggleUpdateModal();
});
}
@@ -148,8 +150,3 @@ export class HeaderManager {
}
}
}
// Initialize the header manager when the DOM is loaded
document.addEventListener('DOMContentLoaded', () => {
window.headerManager = new HeaderManager();
});

View File

@@ -3,6 +3,7 @@ import { LoadingManager } from './managers/LoadingManager.js';
import { modalManager } from './managers/ModalManager.js';
import { updateService } from './managers/UpdateService.js';
import { state, initSettings } from './state/index.js';
import { initializeCommonComponents } from './common.js';
import { showLoraModal } from './components/LoraModal.js';
import { toggleShowcase, scrollToTop } from './components/LoraModal.js';
import { loadMoreLoras, fetchCivitai, deleteModel, replacePreview, resetAndReload, refreshLoras } from './api/loraApi.js';
@@ -22,16 +23,13 @@ import {
} from './utils/uiHelpers.js';
import { initializeInfiniteScroll } from './utils/infiniteScroll.js';
import { showDeleteModal, confirmDelete, closeDeleteModal } from './utils/modalUtils.js';
import { SearchManager } from './managers/SearchManager.js';
import { DownloadManager } from './managers/DownloadManager.js';
import { SettingsManager, toggleApiKeyVisibility } from './managers/SettingsManager.js';
import { LoraContextMenu } from './components/ContextMenu.js';
import { moveManager } from './managers/MoveManager.js';
import { FilterManager } from './managers/FilterManager.js';
import { createLoraCard, updateCardsForBulkMode } from './components/LoraCard.js';
import { bulkManager } from './managers/BulkManager.js';
import { HeaderManager } from './components/Header.js';
// Add bulk mode to state
state.bulkMode = false;
state.selectedLoras = new Set();
@@ -73,6 +71,8 @@ document.addEventListener('DOMContentLoaded', async () => {
// Ensure settings are initialized
initSettings();
initializeCommonComponents();
window.headerManager = new HeaderManager();
state.loadingManager = new LoadingManager();
modalManager.initialize(); // Initialize modalManager after DOM is loaded
updateService.initialize(); // Initialize updateService after modalManager
@@ -104,19 +104,6 @@ document.addEventListener('DOMContentLoaded', async () => {
// Update positions on window resize
window.addEventListener('resize', updatePanelPositions);
// Initialize search manager with LoRA-specific options
const loraSearchManager = new SearchManager({
searchCallback: (query, options, recursive) => {
// LoRA-specific search implementation
// This could call your API with the right parameters
fetchLoras({
search: query,
search_options: options,
recursive: recursive
});
}
});
// Set the current page for proper context
document.body.dataset.page = 'loras';
});

View File

@@ -10,7 +10,6 @@ import { showToast } from '../utils/uiHelpers.js';
export class LoraSearchManager extends SearchManager {
constructor(options = {}) {
console.log("initializing lora search manager");
super({
page: 'loras',
...options

View File

@@ -34,10 +34,10 @@ export class UpdateService {
});
// Set up event listener for update button
const updateToggle = document.getElementById('updateToggleBtn');
if (updateToggle) {
updateToggle.addEventListener('click', () => this.toggleUpdateModal());
}
// const updateToggle = document.getElementById('updateToggleBtn');
// if (updateToggle) {
// updateToggle.addEventListener('click', () => this.toggleUpdateModal());
// }
// Immediately update modal content with current values (even if from default)
this.updateModalContent();
@@ -226,10 +226,6 @@ export class UpdateService {
});
}
showUpdateModal() {
this.toggleUpdateModal();
}
async manualCheckForUpdates() {
this.lastCheckTime = 0; // Reset last check time to force check
await this.checkForUpdates();

View File

@@ -161,6 +161,7 @@ class RecipeManager {
// Initialize components
document.addEventListener('DOMContentLoaded', () => {
initializeCommonComponents();
window.headerManager = new HeaderManager();
window.recipeManager = new RecipeManager();
// Make importRecipes function available globally