Files
ComfyUI_frontend/apps/desktop-ui/src/views/DownloadGitView.vue
filtered 07a74e3cdc Decouple Desktop UI into monorepo app (#5912)
## Summary

Extracts desktop UI into apps/desktop-ui package with minimal changes.

## Changes

- **What**:
- Separates desktop-specific code into standalone package with
independent Vite config, router, and i18n
- Drastically simplifies the main app router by removing all desktop
routes
  - Adds a some code duplication, most due to the existing design
- Some duplication can be refactored to be *simpler* on either side - no
need to split things by `isElectron()`
  - Rudimentary storybook support has been added
- **Breaking**: Stacked PR for publishing must be merged before this PR
makes it to stable core (but publishing _could_ be done manually)
  - #5915
- **Dependencies**: Takes full advantage of pnpm catalog. No additional
dependencies added.

## Review Focus

- Should be no changes to normal frontend operation
- Scripts added to root package.json are acceptable
- The duplication in this PR is copied as is, wherever possible. Any
corrections or fix-ups beyond the scope of simply migrating the
functionality as-is, can be addressed in later PRs. That said, if any
changes are made, it instantly becomes more difficult to separate the
duplicated code out into a shared utility.
  - Tracking issue to address concerns: #5925

### i18n

Fixing i18n is out of scope for this PR. It is a larger task that we
should consider carefully and implement properly. Attempting to isolate
the desktop i18n and duplicate the _current_ localisation scripts would
be wasted energy.
2025-10-05 05:04:27 +00:00

60 lines
1.5 KiB
Vue

<template>
<BaseViewTemplate>
<div
class="max-w-(--breakpoint-sm) flex flex-col gap-8 p-8 bg-[url('/assets/images/Git-Logo-White.svg')] bg-no-repeat bg-top-right bg-origin-padding"
>
<!-- Header -->
<h1 class="mt-24 text-4xl font-bold text-red-500">
{{ $t('downloadGit.title') }}
</h1>
<!-- Message -->
<div class="space-y-4">
<p class="text-xl">
{{ $t('downloadGit.message') }}
</p>
<p class="text-xl">
{{ $t('downloadGit.instructions') }}
</p>
<p class="text-m">
{{ $t('downloadGit.warning') }}
</p>
</div>
<!-- Actions -->
<div class="flex gap-4 flex-row-reverse">
<Button
:label="$t('downloadGit.gitWebsite')"
icon="pi pi-external-link"
icon-pos="right"
severity="primary"
@click="openGitDownloads"
/>
<Button
:label="$t('downloadGit.skip')"
icon="pi pi-exclamation-triangle"
severity="secondary"
@click="skipGit"
/>
</div>
</div>
</BaseViewTemplate>
</template>
<script setup lang="ts">
import Button from 'primevue/button'
import { useRouter } from 'vue-router'
import BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'
const openGitDownloads = () => {
window.open('https://git-scm.com/downloads/', '_blank')
}
const skipGit = async () => {
console.warn('pushing')
const router = useRouter()
await router.push('install')
}
</script>