feat(ui): Shadow UI redesign, domain management, and DNS autoconfigure (#11119)

Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com>
This commit is contained in:
Andras BacsaiandShadowArcanist authored and GitHub committed 2026-08-03 23:11:54 +02:00
1 parent 0b843bb07c
commit 8ae56587d5
497 files changed
+44045 -22630

No files matched your search

@@ -1,47 +1,64 @@
<form class="flex flex-col w-full gap-2 rounded-sm" wire:submit='submit'
<form class="flex w-full flex-col gap-4" wire:submit='submit'
x-data="{ isMultiline: $wire.entangle('is_multiline') }">
<x-forms.input placeholder="NODE_ENV" id="key" label="Name" required />
<template x-if="isMultiline">
<div wire:key="env-value-textarea">
<x-forms.textarea id="value" label="Value" required class="font-sans" spellcheck />
</div>
</template>
<template x-if="!isMultiline">
<div wire:key="env-value-input">
<x-forms.env-var-input placeholder="production" id="value" label="Value" required
:availableVars="$shared ? [] : $this->availableSharedVariables"
:projectUuid="data_get($parameters, 'project_uuid')"
:environmentUuid="data_get($parameters, 'environment_uuid')"
:serverUuid="data_get($parameters, 'server_uuid')" />
</div>
</template>
<div class="grid gap-4 sm:grid-cols-2">
<x-forms.input placeholder="NODE_ENV" id="key" label="Name" required />
<x-forms.input id="comment" label="Comment" placeholder="Optional note"
helper="Add a note to document what this environment variable is used for." maxlength="256" />
</div>
<div>
<template x-if="isMultiline">
<div wire:key="env-value-textarea">
<x-forms.textarea id="value" label="Value" required class="font-sans" spellcheck />
</div>
</template>
<template x-if="!isMultiline">
<div wire:key="env-value-input">
<x-forms.env-var-input placeholder="production" id="value" label="Value" required
:availableVars="$shared ? [] : $this->availableSharedVariables"
:projectUuid="data_get($parameters, 'project_uuid')"
:environmentUuid="data_get($parameters, 'environment_uuid')"
:serverUuid="data_get($parameters, 'server_uuid')" />
</div>
</template>
@if (!$shared)
<div x-cloak x-show="!isMultiline" wire:key="env-value-tip"
class="mt-1.5 text-xs text-neutral-500 dark:text-fg-faint">
Tip: Type <span class="font-mono text-coollabs dark:text-warning">{{ '{{' }}</span> to reference a
shared environment variable
</div>
@endif
</div>
<div class="grid gap-4 border-t border-neutral-200 pt-4 dark:border-white/[0.07] sm:grid-cols-2">
<x-forms.listbox id="is_multiline" label="Value type" :live="true" :options="[
['value' => false, 'label' => 'Single line'],
['value' => true, 'label' => 'Multiline'],
]" />
@if (!$shared)
<x-forms.listbox id="is_literal" label="Interpolation" :options="[
['value' => false, 'label' => 'Interpolate $VARIABLES'],
['value' => true, 'label' => 'Literal (keep $ characters as-is)'],
]"
helper="Literal means $VARIABLES in the value is kept as the actual characters '$VARIABLES' instead of being resolved from another variable. Useful when your value contains a $ sign." />
<x-forms.listbox id="is_buildtime" label="Build time" :options="[
['value' => true, 'label' => 'Available during build'],
['value' => false, 'label' => 'Not available during build'],
]"
helper="Make this variable available during the Docker build process. Useful for build secrets and dependencies." />
<x-forms.listbox id="is_runtime" label="Runtime" :options="[
['value' => true, 'label' => 'Available in the container'],
['value' => false, 'label' => 'Not available in the container'],
]" helper="Make this variable available in the running container at runtime." />
@endif
</div>
@if (!$shared)
<div x-cloak x-show="!isMultiline" wire:key="env-value-tip" class="text-xs text-neutral-500 dark:text-neutral-400 -mt-1">
Tip: Type <span class="font-mono dark:text-warning text-coollabs">{{</span> to reference a shared environment
variable
</div>
@endif
<x-forms.input id="comment" label="Comment"
helper="Add a note to document what this environment variable is used for." maxlength="256" />
@if (!$shared)
<x-forms.checkbox id="is_buildtime"
helper="Make this variable available during Docker build process. Useful for build secrets and dependencies."
label="Available at Buildtime" />
<x-environment-variable-warning :problematic-variables="$problematicVariables" />
<x-forms.checkbox id="is_runtime" helper="Make this variable available in the running container at runtime."
label="Available at Runtime" />
<x-forms.checkbox id="is_literal"
helper="This means that when you use $VARIABLES in a value, it should be interpreted as the actual characters '$VARIABLES' and not as the value of a variable named VARIABLE.<br><br>Useful if you have $ sign in your value and there are some characters after it, but you would not like to interpolate it from another value. In this case, you should set this to true."
label="Is Literal?" />
@endif
<x-forms.checkbox id="is_multiline" x-model="isMultiline" label="Is Multiline?" />
<x-forms.button type="submit" @click="slideOverOpen=false">
Save
</x-forms.button>
<div class="flex justify-end border-t border-neutral-200 pt-4 dark:border-white/[0.07]">
<x-forms.button type="submit" @click="modalOpen = false">
Add variable
</x-forms.button>
</div>
</form>