Add build pack selection and show/hide static site options
This commit is contained in:
parent
8a91395472
commit
c620bb58ed
@ -30,18 +30,22 @@ class PublicGitRepository extends Component
|
||||
public GithubApp|GitlabApp|string $git_source = 'other';
|
||||
public string $git_host;
|
||||
public string $git_repository;
|
||||
public $build_pack;
|
||||
public bool $show_is_static = true;
|
||||
|
||||
protected $rules = [
|
||||
'repository_url' => 'required|url',
|
||||
'port' => 'required|numeric',
|
||||
'is_static' => 'required|boolean',
|
||||
'publish_directory' => 'nullable|string',
|
||||
'build_pack' => 'required|string',
|
||||
];
|
||||
protected $validationAttributes = [
|
||||
'repository_url' => 'repository',
|
||||
'port' => 'port',
|
||||
'is_static' => 'static',
|
||||
'publish_directory' => 'publish directory',
|
||||
'build_pack' => 'build pack',
|
||||
];
|
||||
|
||||
public function mount()
|
||||
@ -53,7 +57,18 @@ public function mount()
|
||||
$this->parameters = get_route_parameters();
|
||||
$this->query = request()->query();
|
||||
}
|
||||
|
||||
public function updatedBuildPack()
|
||||
{
|
||||
if ($this->build_pack === 'nixpacks') {
|
||||
$this->show_is_static = true;
|
||||
} else if ($this->build_pack === 'static') {
|
||||
$this->show_is_static = false;
|
||||
$this->is_static = false;
|
||||
} else {
|
||||
$this->show_is_static = false;
|
||||
$this->is_static = false;
|
||||
}
|
||||
}
|
||||
public function instantSave()
|
||||
{
|
||||
if ($this->is_static) {
|
||||
@ -157,6 +172,7 @@ public function submit()
|
||||
'environment_id' => $environment->id,
|
||||
'destination_id' => $destination->id,
|
||||
'destination_type' => $destination_class,
|
||||
'build_pack' => $this->build_pack,
|
||||
];
|
||||
} else {
|
||||
$application_init = [
|
||||
@ -170,7 +186,8 @@ public function submit()
|
||||
'destination_id' => $destination->id,
|
||||
'destination_type' => $destination_class,
|
||||
'source_id' => $this->git_source->id,
|
||||
'source_type' => $this->git_source->getMorphClass()
|
||||
'source_type' => $this->git_source->getMorphClass(),
|
||||
'build_pack' => $this->build_pack,
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -10,6 +10,15 @@
|
||||
Check repository
|
||||
</x-forms.button>
|
||||
</div>
|
||||
@if (!$branch_found)
|
||||
<div>
|
||||
<p>Public repositories: <span class='text-helper'>https://...</span></p>
|
||||
<p>Private repositories: <span class='text-helper'>git@...</span></p>
|
||||
<p>Preselect branch: <span
|
||||
class='text-helper'>https://github.com/coollabsio/coolify-examples/tree/static</span> to
|
||||
select 'static' branch.</p>
|
||||
</div>
|
||||
@endif
|
||||
@if ($branch_found)
|
||||
@if ($rate_limit_remaining && $rate_limit_reset)
|
||||
<div class="flex gap-2 py-2">
|
||||
@ -21,12 +30,20 @@
|
||||
<div class="flex flex-col gap-2 pb-6">
|
||||
<div class="flex gap-2">
|
||||
@if ($git_source === 'other')
|
||||
<x-forms.input id="git_branch" label="Selected branch"
|
||||
<x-forms.input id="git_branch" label="Branch"
|
||||
helper="You can select other branches after configuration is done." />
|
||||
@else
|
||||
<x-forms.input disabled id="git_branch" label="Selected branch"
|
||||
<x-forms.input disabled id="git_branch" label="Branch"
|
||||
helper="You can select other branches after configuration is done." />
|
||||
@endif
|
||||
<x-forms.select wire:model.live="build_pack" label="Build Pack" required>
|
||||
<option value="nixpacks">Nixpacks</option>
|
||||
<option value="static">Static</option>
|
||||
<option value="dockerfile">Dockerfile</option>
|
||||
<option value="dockercompose">Docker Compose</option>
|
||||
</x-forms.select>
|
||||
</div>
|
||||
@if ($show_is_static)
|
||||
@if ($is_static)
|
||||
<x-forms.input id="publish_directory" label="Publish Directory"
|
||||
helper="If there is a build process involved (like Svelte, React, Next, etc..), please specify the output directory for the build assets." />
|
||||
@ -34,14 +51,14 @@
|
||||
<x-forms.input type="number" id="port" label="Port" :readonly="$is_static"
|
||||
helper="The port your application listens on." />
|
||||
@endif
|
||||
</div>
|
||||
<div class="w-52">
|
||||
<x-forms.checkbox instantSave id="is_static" label="Is it a static site?"
|
||||
helper="If your application is a static site or the final build assets should be served as a static site, enable this." />
|
||||
</div>
|
||||
<div class="w-52">
|
||||
<x-forms.checkbox instantSave id="is_static" label="Is it a static site?"
|
||||
helper="If your application is a static site or the final build assets should be served as a static site, enable this." />
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<x-forms.button wire:click.prevent='submit'>
|
||||
Save New Application
|
||||
Continue
|
||||
</x-forms.button>
|
||||
@endif
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user