Compare commits

..

2 Commits

Author SHA1 Message Date
github-actions
892a9b6068 Update locales [skip ci] 2025-06-11 15:47:53 +00:00
Yiqun Xu
dfc38083fe Merge branch 'main' into implement-versioned 2025-06-11 08:42:43 -07:00
6 changed files with 61 additions and 46 deletions

View File

@@ -1,37 +1,11 @@
<template>
<div :style="{ width: cssWidth, height: cssHeight }" class="overflow-hidden">
<!-- default banner show -->
<div v-if="showDefaultBanner" class="w-full h-full">
<img
:src="DEFAULT_BANNER"
alt="default banner"
class="w-full h-full object-cover"
/>
</div>
<!-- banner_url or icon show -->
<div v-else class="relative w-full h-full">
<!-- blur background -->
<div
v-if="imgSrc"
class="absolute inset-0 bg-cover bg-center bg-no-repeat opacity-30"
:style="{
backgroundImage: `url(${imgSrc})`,
filter: 'blur(10px)'
}"
></div>
<!-- image -->
<img
:src="isImageError ? DEFAULT_BANNER : imgSrc"
:alt="nodePack.name + ' banner'"
:class="
isImageError
? 'relative w-full h-full object-cover z-10'
: 'relative w-full h-full object-contain z-10'
"
@error="isImageError = true"
/>
</div>
</div>
<img
:src="isImageError ? DEFAULT_BANNER : imgSrc"
:alt="nodePack.name + ' banner'"
class="object-cover"
:style="{ width: cssWidth, height: cssHeight }"
@error="isImageError = true"
/>
</template>
<script setup lang="ts">
@@ -52,9 +26,12 @@ const {
}>()
const isImageError = ref(false)
const showDefaultBanner = computed(() => !nodePack.banner_url && !nodePack.icon)
const imgSrc = computed(() => nodePack.banner_url || nodePack.icon)
const shouldShowFallback = computed(
() => !nodePack.banner || nodePack.banner.trim() === '' || isImageError.value
)
const imgSrc = computed(() =>
shouldShowFallback.value ? DEFAULT_BANNER : nodePack.banner
)
const convertToCssValue = (value: string | number) =>
typeof value === 'number' ? `${value}rem` : value

View File

@@ -86,6 +86,7 @@ import { useSettingStore } from '@/stores/settingStore'
import { useToastStore } from '@/stores/toastStore'
import { useColorPaletteStore } from '@/stores/workspace/colorPaletteStore'
import { useWorkspaceStore } from '@/stores/workspaceStore'
import { getCurrentVersion } from '@/utils/versioning'
const emit = defineEmits<{
ready: []
@@ -300,11 +301,11 @@ onMounted(async () => {
CORE_SETTINGS.forEach((setting) => {
settingStore.addSetting(setting)
})
if (!settingStore.exists('Comfy.InstalledVersion')) {
if (!settingStore.get('Comfy.InstalledVersion')) {
const currentVersion =
Object.keys(settingStore.settingValues).length > 0
? ''
: __COMFYUI_FRONTEND_VERSION__
? '0.0.1'
: getCurrentVersion()
await settingStore.set('Comfy.InstalledVersion', currentVersion)
}
// @ts-expect-error fixme ts strict error

View File

@@ -709,10 +709,10 @@
"Interrupt": "中断",
"Load Default Workflow": "デフォルトワークフローを読み込む",
"Manage group nodes": "グループノードを管理",
"Move Selected Nodes Down": "選択したノードを下移動",
"Move Selected Nodes Left": "選択したノードを左移動",
"Move Selected Nodes Right": "選択したノードを右移動",
"Move Selected Nodes Up": "選択したノードを上移動",
"Move Selected Nodes Down": "選択したノードを下移動",
"Move Selected Nodes Left": "選択したノードを左移動",
"Move Selected Nodes Right": "選択したノードを右移動",
"Move Selected Nodes Up": "選択したノードを上移動",
"Mute/Unmute Selected Nodes": "選択したノードのミュート/ミュート解除",
"New": "新規",
"Next Opened Workflow": "次に開いたワークフロー",

View File

@@ -45,7 +45,7 @@
"label": "适应视图到选中节点"
},
"Comfy_Canvas_MoveSelectedNodes_Down": {
"label": "下移选中的节点"
"label": "下移选节点"
},
"Comfy_Canvas_MoveSelectedNodes_Left": {
"label": "向左移动选中节点"
@@ -54,7 +54,7 @@
"label": "向右移动选中节点"
},
"Comfy_Canvas_MoveSelectedNodes_Up": {
"label": "上移选中的节点"
"label": "上移选节点"
},
"Comfy_Canvas_ResetView": {
"label": "重置视图"

View File

@@ -7,7 +7,7 @@ import { api } from '@/scripts/api'
import { app } from '@/scripts/app'
import type { SettingParams } from '@/types/settingTypes'
import type { TreeNode } from '@/types/treeExplorerTypes'
import { compareVersions } from '@/utils/formatUtil'
import { compareVersions } from '@/utils/versioning'
export const getSettingInfo = (setting: SettingParams) => {
const parts = setting.category || setting.id.split('.')

37
src/utils/versioning.ts Normal file
View File

@@ -0,0 +1,37 @@
import { electronAPI, isElectron } from '@/utils/envUtil'
/**
* Compare two semantic version strings.
* @param a - First version string
* @param b - Second version string
* @returns 0 if equal, 1 if a > b, -1 if a < b
*/
export function compareVersions(a: string, b: string): number {
const parseVersion = (version: string) => {
return version.split('.').map((v) => parseInt(v, 10) || 0)
}
const versionA = parseVersion(a)
const versionB = parseVersion(b)
for (let i = 0; i < Math.max(versionA.length, versionB.length); i++) {
const numA = versionA[i] || 0
const numB = versionB[i] || 0
if (numA > numB) return 1
if (numA < numB) return -1
}
return 0
}
/**
* Get the current ComfyUI version for version tracking
*/
export function getCurrentVersion(): string {
if (isElectron()) {
return electronAPI().getComfyUIVersion()
}
// For web version, fallback to frontend version
return __COMFYUI_FRONTEND_VERSION__
}