mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-04 20:50:06 +00:00
Backport of #7938 to `cloud/1.36` Automatically created by backport workflow. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-7943-backport-cloud-1-36-fix-Model-upload-UI-improvements-2e46d73d365081fcadd1f71e7fa012d6) by [Unito](https://www.unito.io) Co-authored-by: Alexander Brown <drjkl@comfy.org> Co-authored-by: Amp <amp@ampcode.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
52 lines
1.7 KiB
TypeScript
52 lines
1.7 KiB
TypeScript
import { useFeatureFlags } from '@/composables/useFeatureFlags'
|
|
import UploadModelDialog from '@/platform/assets/components/UploadModelDialog.vue'
|
|
import UploadModelDialogHeader from '@/platform/assets/components/UploadModelDialogHeader.vue'
|
|
import UploadModelUpgradeModal from '@/platform/assets/components/UploadModelUpgradeModal.vue'
|
|
import UploadModelUpgradeModalHeader from '@/platform/assets/components/UploadModelUpgradeModalHeader.vue'
|
|
import { useDialogStore } from '@/stores/dialogStore'
|
|
import { computed } from 'vue'
|
|
|
|
export function useModelUpload(
|
|
onUploadSuccess?: () => Promise<unknown> | void
|
|
) {
|
|
const dialogStore = useDialogStore()
|
|
const { flags } = useFeatureFlags()
|
|
const isUploadButtonEnabled = computed(() => flags.modelUploadButtonEnabled)
|
|
|
|
function showUploadDialog() {
|
|
if (!flags.privateModelsEnabled) {
|
|
// Show upgrade modal if private models are disabled
|
|
dialogStore.showDialog({
|
|
key: 'upload-model-upgrade',
|
|
headerComponent: UploadModelUpgradeModalHeader,
|
|
component: UploadModelUpgradeModal,
|
|
dialogComponentProps: {
|
|
pt: {
|
|
header: 'py-0! pl-0!',
|
|
content: 'p-0! overflow-y-hidden!'
|
|
}
|
|
}
|
|
})
|
|
} else {
|
|
// Show regular upload modal
|
|
dialogStore.showDialog({
|
|
key: 'upload-model',
|
|
headerComponent: UploadModelDialogHeader,
|
|
component: UploadModelDialog,
|
|
props: {
|
|
onUploadSuccess: async () => {
|
|
await onUploadSuccess?.()
|
|
}
|
|
},
|
|
dialogComponentProps: {
|
|
pt: {
|
|
header: 'py-0! pl-0!',
|
|
content: 'p-0! overflow-y-hidden!'
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|
|
return { isUploadButtonEnabled, showUploadDialog }
|
|
}
|