mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-23 00:04:06 +00:00
## Summary Adds HuggingFace as a model import source alongside CivitAI, with improved UX for model type selection and UTF-8 filename support. ## Changes - **Import Sources**: Implemented extensible import source handler pattern supporting both CivitAI and HuggingFace - **UTF-8 Support**: Decode URL-encoded filenames to properly display international characters (e.g., Chinese) - **UX**: Sort model types alphabetically for easier selection - **Feature Flag**: Added `huggingfaceModelImportEnabled` flag for gradual rollout - **i18n**: Use proper template parameters for localized error messages ## Technical Details - Created `ImportSourceHandler` interface for extensibility - Refactored existing CivitAI logic into handler pattern - Added URL validation per source - Filename decoding handles malformed URLs gracefully ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-7540-feat-Add-HuggingFace-model-import-support-2cb6d73d3650818f966cca89244e8c36) by [Unito](https://www.unito.io) --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: GitHub Action <action@github.com>
30 lines
740 B
Vue
30 lines
740 B
Vue
<template>
|
|
<div class="flex items-center gap-2 p-4 font-bold">
|
|
<img
|
|
v-if="!flags.huggingfaceModelImportEnabled"
|
|
src="/assets/images/civitai.svg"
|
|
class="size-4"
|
|
/>
|
|
<span>{{ $t(titleKey) }}</span>
|
|
<span
|
|
class="rounded-full bg-white px-1.5 py-0 text-xxs font-inter font-semibold uppercase text-black"
|
|
>
|
|
{{ $t('g.beta') }}
|
|
</span>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { computed } from 'vue'
|
|
|
|
import { useFeatureFlags } from '@/composables/useFeatureFlags'
|
|
|
|
const { flags } = useFeatureFlags()
|
|
|
|
const titleKey = computed(() => {
|
|
return flags.huggingfaceModelImportEnabled
|
|
? 'assetBrowser.uploadModelGeneric'
|
|
: 'assetBrowser.uploadModelFromCivitai'
|
|
})
|
|
</script>
|