diff --git a/components/LoraSelect.vue b/components/LoraSelect.vue index 9a13c60..55c135b 100644 --- a/components/LoraSelect.vue +++ b/components/LoraSelect.vue @@ -105,6 +105,7 @@ import { clampLoraStrength, loraFriendlyName, loraIdentityKey, + loraMatchesImageEngine, loraTriggerFor, makeLoraStackItem, type LoraStackItem @@ -121,6 +122,7 @@ const props = withDefaults(defineProps<{ clipStrength?: boolean triggers?: Record aliases?: Record + engine?: 'flux' | 'krea' | '' }>(), { label: 'LoRA', emptyLabel: 'None', @@ -130,7 +132,8 @@ const props = withDefaults(defineProps<{ disabled: false, clipStrength: true, triggers: () => ({}), - aliases: () => ({}) + aliases: () => ({}), + engine: '' }) const emit = defineEmits<{ @@ -145,8 +148,10 @@ const dragOverIndex = ref(null) const availableNames = computed(() => { const taken = new Set(model.value.map(item => loraIdentityKey(item.name))) + const engine = props.engine === 'flux' || props.engine === 'krea' ? props.engine : null return props.names .filter(name => !taken.has(loraIdentityKey(name))) + .filter(name => !engine || loraMatchesImageEngine(name, engine)) .slice() .sort((a, b) => labelFor(a).localeCompare(labelFor(b), undefined, { sensitivity: 'base' })) }) diff --git a/pages/index.vue b/pages/index.vue index 046dd1b..c6dd246 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -828,6 +828,7 @@