Added +add flows everywhere

ui: changed vibrant button to not so vibrant
This commit is contained in:
Andras Bacsai
2023-07-26 13:23:47 +02:00
parent 8deeb59d5c
commit fd89735521
40 changed files with 578 additions and 274 deletions

View File

@@ -1,39 +1,64 @@
<div>
<h1>Create a new Application</h1>
<div class="pt-2 pb-10">Deploy any public or private GIT repositories through a Deploy Key.</div>
<h3 class="py-2">Select a Private Key</h3>
@foreach ($private_keys as $key)
@if ($private_key_id == $key->id)
<x-forms.button class="bg-coollabs hover:bg-coollabs-100"
wire:click.defer="setPrivateKey('{{ $key->id }}')">
{{ $key->name }}</x-forms.button>
@else
<x-forms.button wire:click.defer="setPrivateKey('{{ $key->id }}')">{{ $key->name }}
</x-forms.button>
<div class="pt-2">Deploy any public or private Git repositories through a Deploy Key.</div>
<div class="flex flex-col pt-10">
@if ($current_step === 'private_keys')
<ul class="pb-10 steps">
<li class="step step-secondary">Select a Private Key</li>
<li class="step">Select a Repository, Branch & Save</li>
</ul>
<div class="flex flex-col justify-center gap-2 text-left xl:flex-row">
@foreach ($private_keys as $key)
@if ($private_key_id == $key->id)
<div class="gap-2 py-4 cursor-pointer group hover:bg-coollabs bg-coolgray-200"
wire:click.defer="setPrivateKey('{{ $key->id }}')" wire:key="{{ $key->id }}">
<div class="flex gap-4 mx-6">
<div class="group-hover:text-white">
{{ $key->name }}
</div>
<span wire:target="loadRepositories" wire:loading.delay
class="loading loading-xs text-warning loading-spinner"></span>
</div>
</div>
@else
<div class="gap-2 py-4 cursor-pointer group hover:bg-coollabs bg-coolgray-200"
wire:click.defer="setPrivateKey('{{ $key->id }}')" wire:key="{{ $key->id }}">
<div class="flex gap-4 mx-6">
<div class="group-hover:text-white">
{{ $key->name }}
</div>
<span wire:target="loadRepositories" wire:loading.delay
class="loading loading-xs text-warning loading-spinner"></span>
</div>
</div>
@endif
@endforeach
</div>
@endif
@endforeach
<a href="{{ route('private-key.new') }}">
<x-forms.button isHighlighted>+</x-forms.button>
</a>
@isset($private_key_id)
<form class="flex flex-col gap-2 pb-6" wire:submit.prevent='submit'>
<div class="flex gap-2">
<x-forms.input id="repository_url" label="Repository URL" helper="{!! __('repository.url') !!}" />
<x-forms.input id="branch" label="Branch" />
@if ($is_static)
<x-forms.input id="publish_directory" label="Publish Directory" />
@else
<x-forms.input type="number" id="port" label="Port" :readonly="$is_static" />
@endif
</div>
<h4 class="pt-4">Settings</h4>
<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>
<x-forms.button type="submit">
Save New Application
</x-forms.button>
</form>
@endisset
@if ($current_step === 'repository')
<ul class="pb-10 steps">
<li class="step step-secondary">Select a Private Key</li>
<li class="step step-secondary">Select a Repository, Branch & Save</li>
</ul>
<form class="flex flex-col gap-2 pb-6" wire:submit.prevent='submit'>
<div class="flex gap-2">
<x-forms.input id="repository_url" required label="Repository URL"
helper="{!! __('repository.url') !!}" />
<x-forms.input id="branch" required label="Branch" />
@if ($is_static)
<x-forms.input id="publish_directory" required label="Publish Directory" />
@else
<x-forms.input type="number" required id="port" label="Port" :readonly="$is_static" />
@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>
<x-forms.button type="submit">
Save New Application
</x-forms.button>
</form>
@endif
</div>
</div>

View File

@@ -2,80 +2,106 @@
<h1>Create a new Application</h1>
<div class="pb-4 ">Deploy any public or private git repositories through a GitHub App.</div>
@if ($github_apps->count() > 0)
<form class="flex flex-col" wire:submit.prevent='submit'>
<div class="flex flex-col gap-2">
<h3 class="py-2">Select a GitHub App</h3>
@foreach ($github_apps as $ghapp)
@if ($selected_github_app_id == $ghapp->id)
<x-forms.button class="bg-coollabs hover:bg-coollabs-100 h-7" wire:key="{{ $ghapp->id }}"
wire:click.prevent="loadRepositories({{ $ghapp->id }})">
{{ $ghapp->name }}
</x-forms.button>
@else
<x-forms.button wire:key="{{ $ghapp->id }}"
wire:click.prevent="loadRepositories({{ $ghapp->id }})">
{{ $ghapp->name }}
</x-forms.button>
@endif
@endforeach
<div class="flex flex-col">
@if ($repositories->count() > 0)
<div class="flex items-end gap-2">
<x-forms.select class="w-full" label="Repository URL" helper="{!! __('repository.url') !!}"
wire:model.defer="selected_repository_id">
@foreach ($repositories as $repo)
@if ($loop->first)
<option selected value="{{ data_get($repo, 'id') }}">
{{ data_get($repo, 'name') }}
</option>
@else
<option value="{{ data_get($repo, 'id') }}">{{ data_get($repo, 'name') }}
</option>
@endif
@endforeach
</x-forms.select>
<x-forms.button wire:click.prevent="loadBranches"> Check
repository</x-forms.button>
</div>
@endif
<div class="flex flex-col pt-10">
@if ($current_step === 'github_apps')
<ul class="pb-10 steps">
<li class="step step-secondary">Select a GitHub App</li>
<li class="step">Select a Repository, Branch & Save</li>
</ul>
<div class="flex flex-col justify-center gap-2 text-left xl:flex-row">
@foreach ($github_apps as $ghapp)
@if ($selected_github_app_id == $ghapp->id)
<div class="gap-2 py-4 cursor-pointer group hover:bg-coollabs bg-coolgray-200"
wire:click.prevent="loadRepositories({{ $ghapp->id }})" wire:key="{{ $ghapp->id }}">
<div class="flex gap-4 mx-6">
<div class="group-hover:text-white">
{{ $ghapp->name }}
</div>
<span wire:target="loadRepositories" wire:loading.delay
class="loading loading-xs text-warning loading-spinner"></span>
</div>
</div>
@else
<div class="gap-2 py-4 cursor-pointer group hover:bg-coollabs bg-coolgray-200"
wire:click.prevent="loadRepositories({{ $ghapp->id }})"
wire:key="{{ $ghapp->id }}">
<div class="flex gap-4 mx-6">
<div class="group-hover:text-white">
{{ $ghapp->name }}
</div>
<span wire:target="loadRepositories" wire:loading.delay
class="loading loading-xs text-warning loading-spinner"></span>
</div>
</div>
@endif
@endforeach
</div>
@if ($branches->count() > 0)
<div class="flex flex-col gap-2 pb-6">
<div class="flex gap-2">
<x-forms.select id="selected_branch_name" label="Branch">
<option value="default" disabled selected>Select a branch</option>
@foreach ($branches as $branch)
@if ($loop->first)
<option selected value="{{ data_get($branch, 'name') }}">
{{ data_get($branch, 'name') }}
</option>
@else
<option value="{{ data_get($branch, 'name') }}">
{{ data_get($branch, 'name') }}
</option>
@endif
@endforeach
</x-forms.select>
@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." />
@else
<x-forms.input type="number" id="port" label="Port" :readonly="$is_static"
helper="The port your application listens on." />
@endif
</div>
<h4 class="pt-4">Settings</h4>
<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
@if ($current_step === 'repository')
<ul class="pb-10 steps">
<li class="step step-secondary">Select a GitHub App</li>
<li class="step step-secondary">Select a Repository, Branch & Save</li>
</ul>
@if ($repositories->count() > 0)
<div class="flex items-end gap-2">
<x-forms.select class="w-full" label="Repository URL" helper="{!! __('repository.url') !!}"
wire:model.defer="selected_repository_id">
@foreach ($repositories as $repo)
@if ($loop->first)
<option selected value="{{ data_get($repo, 'id') }}">
{{ data_get($repo, 'name') }}
</option>
@else
<option value="{{ data_get($repo, 'id') }}">{{ data_get($repo, 'name') }}
</option>
@endif
@endforeach
</x-forms.select>
<x-forms.button wire:click.prevent="loadBranches"> Check
repository</x-forms.button>
</div>
<x-forms.button type="submit">
Save New Application
</x-forms.button>
@else
<div>No repositories found. Check your GitHub App configuration.</div>
@endif
</div>
</form>
@if ($branches->count() > 0)
<h3 class="pt-8 pb-2">Details</h3>
<div class="flex flex-col gap-2 pb-6">
<form class="flex flex-col" wire:submit.prevent='submit'>
<div class="flex flex-col gap-2 pb-6">
<div class="flex gap-2">
<x-forms.select id="selected_branch_name" label="Branch">
<option value="default" disabled selected>Select a branch</option>
@foreach ($branches as $branch)
@if ($loop->first)
<option selected value="{{ data_get($branch, 'name') }}">
{{ data_get($branch, 'name') }}
</option>
@else
<option value="{{ data_get($branch, 'name') }}">
{{ data_get($branch, 'name') }}
</option>
@endif
@endforeach
</x-forms.select>
@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." />
@else
<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>
<x-forms.button type="submit">
Save New Application
</x-forms.button>
@endif
@endif
</div>
@else
<div>
<div>No Git App found.</div>

View File

@@ -1,6 +1,6 @@
<div>
<h1>Create a new Application</h1>
<div class="pb-4">Deploy any public git repositories.</div>
<div class="pb-4">Deploy any public Git repositories.</div>
<form class="flex flex-col gap-2" wire:submit.prevent>
<div class="flex flex-col gap-2">
<div class="flex flex-col">
@@ -12,10 +12,14 @@
</x-forms.button>
</div>
@if ($branch_found)
<div class="py-2">
<div>Rate limit remaining: {{ $rate_limit_remaining }}</div>
<div>Rate limit reset at: {{ $rate_limit_reset }}</div>
</div>
@if ($rate_limit_remaining && $rate_limit_reset)
<div class="flex gap-2 py-2">
<div>Rate Limit</div>
<x-helper
helper="Rate limit remaining: {{ $rate_limit_remaining }}<br>Rate limit reset at: {{ $rate_limit_reset }}" />
</div>
@endif
<h3 class="pt-8 pb-2">Details</h3>
<div class="flex flex-col gap-2 pb-6">
<div class="flex gap-2">
<x-forms.input disabled id="git_branch" label="Selected branch"
@@ -28,7 +32,6 @@
helper="The port your application listens on." />
@endif
</div>
<h4 class="pt-4">Settings</h4>
<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." />

View File

@@ -0,0 +1,87 @@
<div x-data x-init="$wire.load_servers">
<h1>New Resource</h1>
<div class="pb-4 ">Deploy any Git repository from different sources.</div>
<div class="flex flex-col pt-10">
@if ($current_step === 'type')
<ul class="pb-10 steps">
<li class="step step-secondary">Application Type</li>
<li class="step">Select a Server</li>
<li class="step">Select a Destination</li>
</ul>
<div class="flex flex-col justify-center gap-2 text-left xl:flex-row">
<div class="gap-2 py-4 cursor-pointer group hover:bg-coollabs bg-coolgray-200"
wire:click="set_type('public')">
<div class="flex flex-col mx-6">
<div class="group-hover:text-white">
Public Repository
</div>
<div class="text-xs group-hover:text-white">
You can deploy any kind of public repositories from the supported git servers.</div>
</div>
</div>
<div class="gap-2 py-4 cursor-pointer group hover:bg-coollabs bg-coolgray-200"
wire:click="set_type('private-gh-app')">
<div class="flex flex-col mx-6">
<div class="group-hover:text-white">
Private Repository
</div>
<div class="text-xs group-hover:text-white">
You can deploy public & private repositories through your GitHub Apps.</div>
</div>
</div>
<div class="gap-2 py-4 cursor-pointer group hover:bg-coollabs bg-coolgray-200"
wire:click="set_type('private-deploy-key')">
<div class="flex flex-col mx-6">
<div class="group-hover:text-white">
Private Repository (with deploy key)
</div>
<div class="text-xs group-hover:text-white">
You can deploy public & private repositories with a simple deploy key.</div>
</div>
</div>
</div>
@endif
@if ($current_step === 'servers')
<ul class="pb-10 steps">
<li class="step step-secondary">Application Type</li>
<li class="step step-secondary">Select a Server</li>
<li class="step">Select a Destination</li>
</ul>
<div class="flex flex-col justify-center gap-2 text-left xl:flex-row">
@foreach ($servers as $server)
<div class="gap-2 py-4 cursor-pointer group hover:bg-coollabs bg-coolgray-200"
wire:click="set_server({{ $server }})">
<div class="flex flex-col mx-6">
<div class="group-hover:text-white">
{{ $server->name }}
</div>
<div class="text-xs group-hover:text-white">
{{ $server->description }}</div>
</div>
</div>
@endforeach
</div>
@endif
@if ($current_step === 'destinations')
<ul class="pb-10 steps">
<li class="step step-secondary">Application Type</li>
<li class="step step-secondary">Select a Server</li>
<li class="step step-secondary">Select a Destination</li>
</ul>
<div class="flex flex-col justify-center gap-2 text-left xl:flex-row">
@foreach ($destinations as $destination)
<div class="gap-2 py-4 cursor-pointer group hover:bg-coollabs bg-coolgray-200"
wire:click="set_destination('{{ $destination->uuid }}')">
<div class="flex flex-col mx-6">
<div class="group-hover:text-white">
{{ $destination->name }}
</div>
<div class="text-xs group-hover:text-white">
{{ $destination->description }}</div>
</div>
</div>
@endforeach
</div>
@endif
</div>
</div>