mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-19 22:09:37 +00:00
## Summary Adds tests that simulate the execution flow and output feed ## Changes - **What**: - Add ExecutionHelper for mocking network activity - Refactor ws fixture to use Playwright websocket helper instead of patching window - ## Review Focus <!-- Critical design decisions or edge cases that need attention --> <!-- If this PR fixes an issue, uncomment and update the line below --> <!-- Fixes #ISSUE_NUMBER --> ## Screenshots (if applicable) <!-- Add screenshots or video recording to help explain your changes --> ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-10801-test-App-mode-Execution-tests-3356d73d365081e4acf0c34378600031) by [Unito](https://www.unito.io)
70 lines
2.0 KiB
Vue
70 lines
2.0 KiB
Vue
<script setup lang="ts">
|
|
import { computed } from 'vue'
|
|
import type { Locale } from '../i18n/translations'
|
|
import { t } from '../i18n/translations'
|
|
|
|
const { locale = 'en' } = defineProps<{ locale?: Locale }>()
|
|
|
|
const steps = computed(() => [
|
|
{
|
|
number: '1',
|
|
title: t('getStarted.step1.title', locale),
|
|
description: t('getStarted.step1.desc', locale)
|
|
},
|
|
{
|
|
number: '2',
|
|
title: t('getStarted.step2.title', locale),
|
|
description: t('getStarted.step2.desc', locale)
|
|
},
|
|
{
|
|
number: '3',
|
|
title: t('getStarted.step3.title', locale),
|
|
description: t('getStarted.step3.desc', locale)
|
|
}
|
|
])
|
|
</script>
|
|
|
|
<template>
|
|
<section class="border-t border-white/10 bg-black py-24">
|
|
<div class="mx-auto max-w-7xl px-6 text-center">
|
|
<h2 class="text-3xl font-bold text-white">
|
|
{{ t('getStarted.heading', locale) }}
|
|
</h2>
|
|
<p class="mt-4 text-smoke-700">
|
|
{{ t('getStarted.subheading', locale) }}
|
|
</p>
|
|
|
|
<!-- Steps -->
|
|
<div class="mt-16 grid grid-cols-1 gap-8 md:grid-cols-3">
|
|
<div v-for="(step, index) in steps" :key="step.number" class="relative">
|
|
<!-- Connecting line between steps (desktop only) -->
|
|
<div
|
|
v-if="index < steps.length - 1"
|
|
class="absolute top-8 right-0 hidden w-full translate-x-1/2 border-t border-brand-yellow/20 md:block"
|
|
/>
|
|
|
|
<div class="relative">
|
|
<span class="text-6xl font-bold text-brand-yellow/20">
|
|
{{ step.number }}
|
|
</span>
|
|
<h3 class="mt-2 text-xl font-semibold text-white">
|
|
{{ step.title }}
|
|
</h3>
|
|
<p class="mt-2 text-sm text-smoke-700">
|
|
{{ step.description }}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- CTA -->
|
|
<a
|
|
href="/download"
|
|
class="mt-12 inline-block rounded-full bg-brand-yellow px-8 py-3 text-sm font-semibold text-black transition-opacity hover:opacity-90"
|
|
>
|
|
{{ t('getStarted.cta', locale) }}
|
|
</a>
|
|
</div>
|
|
</section>
|
|
</template>
|