diff --git a/src/locales/en/main.json b/src/locales/en/main.json index 6f7baab19..6dc705071 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -2069,6 +2069,22 @@ "placeholderVideo": "Select video...", "placeholderModel": "Select model...", "placeholderUnknown": "Select media..." + }, + "seed": { + "controlHeaderBefore": "Automatically update the seed value", + "controlHeaderAfter": "AFTER", + "controlHeaderBefore2": "BEFORE", + "controlHeaderEnd": "running the workflow:", + "linkToGlobal": "Link to", + "linkToGlobalSeed": "Global Seed", + "linkToGlobalDesc": "Unique seed linked to the Global Seed's control setting", + "randomize": "Randomize Seed", + "randomizeDesc": "Shuffles the seed randomly after each generation", + "increment": "Increment Seed", + "incrementDesc": "Adds 1 to the seed number", + "decrement": "Decrement Seed", + "decrementDesc": "Subtracts 1 from the seed number", + "editSettings": "Edit seed control settings" } }, "nodeHelpPage": { diff --git a/src/renderer/extensions/vueNodes/widgets/components/SeedControlPopover.vue b/src/renderer/extensions/vueNodes/widgets/components/SeedControlPopover.vue new file mode 100644 index 000000000..8c91473ab --- /dev/null +++ b/src/renderer/extensions/vueNodes/widgets/components/SeedControlPopover.vue @@ -0,0 +1,132 @@ + + + + + + + {{ $t('widgets.seed.controlHeaderBefore') }} + + {{ + widgetControlMode === 'before' + ? $t('widgets.seed.controlHeaderBefore2') + : $t('widgets.seed.controlHeaderAfter') + }} + + {{ $t('widgets.seed.controlHeaderEnd') }} + + + + + + + + + {{ option.text }} + + + + + + {{ $t('widgets.seed.linkToGlobal') }} + {{ $t('widgets.seed.linkToGlobalSeed') }} + + + {{ $t(`widgets.seed.${option.title}`) }} + + + + {{ $t(`widgets.seed.${option.description}`) }} + + + + + + + + + + + + {{ $t('widgets.seed.editSettings') }} + + + + diff --git a/src/renderer/extensions/vueNodes/widgets/components/WidgetInputNumber.vue b/src/renderer/extensions/vueNodes/widgets/components/WidgetInputNumber.vue index ea6374188..d757b6730 100644 --- a/src/renderer/extensions/vueNodes/widgets/components/WidgetInputNumber.vue +++ b/src/renderer/extensions/vueNodes/widgets/components/WidgetInputNumber.vue @@ -1,22 +1,31 @@ +import Button from 'primevue/button' +import { ref } from 'vue' + +import type { SimplifiedWidget } from '@/types/simplifiedWidget' + +import SeedControlPopover from './SeedControlPopover.vue' +import WidgetInputNumberInput from './WidgetInputNumberInput.vue' + +defineProps<{ + widget: SimplifiedWidget + readonly?: boolean +}>() + +const modelValue = defineModel({ default: 0 }) +const popover = ref() + +const togglePopover = (event: Event) => { + popover.value.toggle(event) +} + + + + + + + + + + + + +
+ {{ $t('widgets.seed.controlHeaderBefore') }} + + {{ + widgetControlMode === 'before' + ? $t('widgets.seed.controlHeaderBefore2') + : $t('widgets.seed.controlHeaderAfter') + }} + + {{ $t('widgets.seed.controlHeaderEnd') }} +