mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-08 06:30:04 +00:00
fix: Model upload UI improvements (#7938)
## Summary Polishing improvements for the model upload (BYOM) experience. ## Changes - **HoneyToast z-index**: Increased from `z-50` to `z-9999` so the ModelImportProgressDialog appears above modal backdrops - **VideoHelpDialog**: Removed pixel-based max-width constraint, now uses `90vw` to fill more of the viewport - **UploadModelDialog responsive layout**: Added `max-height: 90vh` and scrollable content area to prevent footer buttons from underflowing on small screens - **URL validity indicator**: Added green checkmark icon inside the URL input when a valid Civitai or HuggingFace URL is entered ## Testing - Open the model upload dialog and verify buttons remain accessible on small viewport heights - Enter a valid Civitai/HuggingFace URL and confirm the green checkmark appears - Open the help video and verify it uses more of the viewport - Start a model download and verify the progress toast appears above any open modals ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-7938-fix-Model-upload-UI-improvements-2e46d73d365081a292f5fda70c6db0f5) by [Unito](https://www.unito.io) --------- Co-authored-by: Amp <amp@ampcode.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
@@ -104,10 +104,10 @@ function closeDialog() {
|
||||
</Button>
|
||||
<Popover
|
||||
ref="filterPopoverRef"
|
||||
append-to="body"
|
||||
:dismissable="true"
|
||||
:close-on-escape="true"
|
||||
unstyled
|
||||
:base-z-index="9999"
|
||||
:pt="{
|
||||
root: { class: 'absolute z-50' },
|
||||
content: {
|
||||
@@ -171,22 +171,24 @@ function closeDialog() {
|
||||
|
||||
<template #footer="{ toggle }">
|
||||
<div
|
||||
class="flex h-12 items-center justify-between border-t border-border-default px-4"
|
||||
class="flex h-12 items-center justify-between gap-2 border-t border-border-default px-4"
|
||||
>
|
||||
<div class="flex items-center gap-2 text-sm">
|
||||
<div class="flex min-w-0 flex-1 items-center gap-2 text-sm">
|
||||
<template v-if="isInProgress">
|
||||
<i
|
||||
class="icon-[lucide--loader-circle] size-4 animate-spin text-muted-foreground"
|
||||
class="icon-[lucide--loader-circle] size-4 flex-shrink-0 animate-spin text-muted-foreground"
|
||||
/>
|
||||
<span class="font-bold text-base-foreground">{{
|
||||
currentJobName
|
||||
}}</span>
|
||||
<span
|
||||
class="min-w-0 flex-1 truncate font-bold text-base-foreground"
|
||||
>
|
||||
{{ currentJobName }}
|
||||
</span>
|
||||
</template>
|
||||
<template v-else-if="failedJobs.length > 0">
|
||||
<i
|
||||
class="icon-[lucide--circle-alert] size-4 text-destructive-background"
|
||||
class="icon-[lucide--circle-alert] size-4 flex-shrink-0 text-destructive-background"
|
||||
/>
|
||||
<span class="font-bold text-base-foreground">
|
||||
<span class="min-w-0 truncate font-bold text-base-foreground">
|
||||
{{
|
||||
t('progressToast.downloadsFailed', {
|
||||
count: failedJobs.length
|
||||
@@ -195,15 +197,20 @@ function closeDialog() {
|
||||
</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<i class="icon-[lucide--check-circle] size-4 text-jade-600" />
|
||||
<span class="font-bold text-base-foreground">
|
||||
<i
|
||||
class="icon-[lucide--check-circle] size-4 flex-shrink-0 text-jade-600"
|
||||
/>
|
||||
<span class="min-w-0 truncate font-bold text-base-foreground">
|
||||
{{ t('progressToast.allDownloadsCompleted') }}
|
||||
</span>
|
||||
</template>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center gap-2">
|
||||
<span v-if="isInProgress" class="text-sm text-muted-foreground">
|
||||
<div class="flex flex-shrink-0 items-center gap-2">
|
||||
<span
|
||||
v-if="isInProgress"
|
||||
class="whitespace-nowrap text-sm text-muted-foreground"
|
||||
>
|
||||
{{
|
||||
t('progressToast.progressCount', {
|
||||
completed: completedCount,
|
||||
|
||||
Reference in New Issue
Block a user