mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-27 02:04:09 +00:00
## Summary - fix sizing of sidebars in app mode - update feedback button to match design - update job queue notification - clickable queue spinner item to allow clear queue - refactor mode out of store to specific workflow instance - support different saved vs active mode - other styling/layout tweaks ## Changes - **What**: Changes the store to a composable and moves the mode state to the workflow. - This enables switching between tabs and maintaining the mode they were in ## Screenshots (if applicable) <img width="1866" height="1455" alt="image" src="https://github.com/user-attachments/assets/f9a8cd36-181f-4948-b48c-dd27bd9127cf" /> ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9137-App-mode-more-updates-fixes-3106d73d365081a18ccff6ffe24fdec7) by [Unito](https://www.unito.io) --------- Co-authored-by: github-actions <github-actions@github.com>
59 lines
2.1 KiB
Vue
59 lines
2.1 KiB
Vue
<script setup lang="ts">
|
|
import { useI18n } from 'vue-i18n'
|
|
import { useAppMode } from '@/composables/useAppMode'
|
|
import { useAppModeStore } from '@/stores/appModeStore'
|
|
import Button from '@/components/ui/button/Button.vue'
|
|
import { storeToRefs } from 'pinia'
|
|
|
|
const { t } = useI18n()
|
|
const { setMode } = useAppMode()
|
|
const { hasOutputs } = storeToRefs(useAppModeStore())
|
|
</script>
|
|
|
|
<template>
|
|
<div
|
|
role="article"
|
|
data-testid="linear-welcome"
|
|
class="flex flex-col items-center justify-center h-full gap-6 p-8 max-w-lg mx-auto text-center"
|
|
>
|
|
<div class="flex flex-col gap-2">
|
|
<h2 class="text-3xl font-semibold text-muted-foreground">
|
|
{{ t('linearMode.welcome.title') }}
|
|
</h2>
|
|
</div>
|
|
|
|
<div class="flex flex-col gap-3 text-muted-foreground max-w-md text-[14px]">
|
|
<p class="mt-0">{{ t('linearMode.welcome.message') }}</p>
|
|
<p class="mt-0">{{ t('linearMode.welcome.controls') }}</p>
|
|
<p class="mt-0">{{ t('linearMode.welcome.sharing') }}</p>
|
|
</div>
|
|
<div v-if="hasOutputs" class="flex flex-row gap-2 text-[14px]">
|
|
<p class="mt-0 text-base-foreground">
|
|
<i18n-t keypath="linearMode.welcome.getStarted" tag="span">
|
|
<template #runButton>
|
|
<span
|
|
class="inline-flex items-center px-3.5 py-0.5 mx-0.5 transform -translate-y-0.5 rounded bg-primary-background text-base-foreground text-xxs font-medium cursor-default"
|
|
>
|
|
{{ t('menu.run') }}
|
|
</span>
|
|
</template>
|
|
</i18n-t>
|
|
</p>
|
|
</div>
|
|
<div v-else class="flex flex-row gap-2">
|
|
<Button variant="textonly" size="lg" @click="setMode('graph')">
|
|
{{ t('linearMode.welcome.backToWorkflow') }}
|
|
</Button>
|
|
<Button variant="primary" size="lg" @click="setMode('builder:select')">
|
|
<i class="icon-[lucide--hammer]" />
|
|
{{ t('linearMode.welcome.buildApp') }}
|
|
<div
|
|
class="bg-base-foreground text-base-background text-xxs rounded-full absolute -top-2 -right-2 px-1"
|
|
>
|
|
{{ t('g.experimental') }}
|
|
</div>
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
</template>
|