mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-09-20 18:51:26 -03:00
69a62d739c
- The Other nav entry is hidden while the feature is off (nav-item--hidden, toggled client-side after enabling) and now uses the fa-shapes icon. - Shared utils/otherModels.js helpers (enable through the settings API, open the settings Library section) are reused by the disabled page, the announcement banner and the download modal. - BannerService registers a one-time dismissible "other-models-announcement" banner while the feature is off; SettingsManager drops the banner and updates the nav when the master switch flips. - A disabled download routing answer now surfaces a showActionToast with an "Enable Other Models" action. - Settings UI: master toggle + five sub_type checkboxes whose default-root selects are disabled when unchecked; i18n keys added to en.json and synced (other locales keep TODO placeholders).
37 lines
1.3 KiB
JavaScript
37 lines
1.3 KiB
JavaScript
import { appCore } from './core.js';
|
|
import { showToast } from './utils/uiHelpers.js';
|
|
import { enableOtherModels } from './utils/otherModels.js';
|
|
|
|
/**
|
|
* Other Models is an opt-in feature. While it is disabled this page renders an
|
|
* empty state whose button turns the feature on; the backend then rebuilds the
|
|
* other-model roots and starts scanning, so a reload lands on the real page.
|
|
*/
|
|
async function handleEnableClick() {
|
|
const button = document.getElementById('enableOtherModelsBtn');
|
|
if (!button || button.disabled) return;
|
|
|
|
button.disabled = true;
|
|
try {
|
|
await enableOtherModels();
|
|
} catch (error) {
|
|
button.disabled = false;
|
|
showToast('other.disabled.enableFailed', { message: error.message }, 'error');
|
|
}
|
|
}
|
|
|
|
async function initializeOtherDisabledPage() {
|
|
// appCore.initialize() wires the shared header (theme, settings modal,
|
|
// language) so this page is not a dead end.
|
|
await appCore.initialize();
|
|
|
|
const button = document.getElementById('enableOtherModelsBtn');
|
|
if (button) {
|
|
button.addEventListener('click', handleEnableClick);
|
|
}
|
|
}
|
|
|
|
document.addEventListener('DOMContentLoaded', initializeOtherDisabledPage);
|
|
|
|
export { handleEnableClick as enableOtherModels, initializeOtherDisabledPage };
|