ui updates
This commit is contained in:
parent
5abe308a97
commit
774b8d987b
@ -27,7 +27,7 @@ input[type="text"],
|
|||||||
[type="number"],
|
[type="number"],
|
||||||
[type="email"],
|
[type="email"],
|
||||||
[type="password"] {
|
[type="password"] {
|
||||||
@apply read-only:opacity-40;
|
@apply read-only:bg-coolgray-200/50 read-only:text-opacity-25;
|
||||||
}
|
}
|
||||||
.label-text,
|
.label-text,
|
||||||
label {
|
label {
|
||||||
@ -40,9 +40,6 @@ textarea {
|
|||||||
select {
|
select {
|
||||||
@apply select select-sm text-sm disabled:bg-coolgray-200 border-none disabled:opacity-50 font-normal placeholder:text-neutral-700 text-white rounded-none;
|
@apply select select-sm text-sm disabled:bg-coolgray-200 border-none disabled:opacity-50 font-normal placeholder:text-neutral-700 text-white rounded-none;
|
||||||
}
|
}
|
||||||
.breadcrumbs > ul > li::before {
|
|
||||||
@apply text-warning opacity-100;
|
|
||||||
}
|
|
||||||
.loading {
|
.loading {
|
||||||
@apply w-4 text-warning;
|
@apply w-4 text-warning;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<Transition name="fade">
|
<Transition name="fade">
|
||||||
<div class="z-10">
|
<div>
|
||||||
<div class="flex items-center p-1 px-2 overflow-hidden transition-all transform rounded cursor-pointer bg-coolgray-200"
|
<div class="flex items-center p-1 px-2 overflow-hidden transition-all transform rounded cursor-pointer bg-coolgray-200"
|
||||||
@click="showCommandPalette = true">
|
@click="showCommandPalette = true">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6 icon" viewBox="0 0 24 24" stroke-width="2"
|
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6 icon" viewBox="0 0 24 24" stroke-width="2"
|
||||||
@ -12,9 +12,9 @@
|
|||||||
<span class="ml-2 kbd-custom">/</span>
|
<span class="ml-2 kbd-custom">/</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="relative" role="dialog" aria-modal="true" v-if="showCommandPalette" @keyup.esc="resetState">
|
<div class="relative" role="dialog" aria-modal="true" v-if="showCommandPalette" @keyup.esc="resetState">
|
||||||
<div class="fixed inset-0 transition-opacity bg-opacity-75 bg-coolgray-100" @click.self="resetState">
|
<div class="fixed inset-0 transition-opacity bg-opacity-90 bg-coolgray-100" @click.self="resetState">
|
||||||
</div>
|
</div>
|
||||||
<div class="fixed inset-0 w-3/5 p-4 mx-auto overflow-y-auto sm:p-6 md:px-20 min-w-fit"
|
<div class="fixed inset-0 p-4 mx-auto overflow-y-auto md:w-[70rem] sm:p-10 md:px-20"
|
||||||
@click.self="resetState">
|
@click.self="resetState">
|
||||||
<div class="overflow-hidden transition-all transform bg-coolgray-200 ring-1 ring-black ring-opacity-5">
|
<div class="overflow-hidden transition-all transform bg-coolgray-200 ring-1 ring-black ring-opacity-5">
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
@ -31,8 +31,8 @@
|
|||||||
aria-expanded="false" aria-controls="options">
|
aria-expanded="false" aria-controls="options">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="px-4 pb-2 overflow-y-auto lg:max-h-screen max-h-80 scroll-py-10 scroll-pb-2 scrollbar"
|
<ul class="px-4 pb-2 overflow-y-auto max-h-96 scroll-py-10 scroll-pb-2 scrollbar" id="options"
|
||||||
id="options" role="listbox">
|
role="listbox">
|
||||||
<li v-if="sequenceState.sequence.length !== 0">
|
<li v-if="sequenceState.sequence.length !== 0">
|
||||||
<h2 v-if="sequenceState.sequence[sequenceState.currentActionIndex] && possibleSequences[sequenceState.sequence[sequenceState.currentActionIndex]]"
|
<h2 v-if="sequenceState.sequence[sequenceState.currentActionIndex] && possibleSequences[sequenceState.sequence[sequenceState.currentActionIndex]]"
|
||||||
class="mt-4 mb-2 text-xs font-semibold text-neutral-500">{{
|
class="mt-4 mb-2 text-xs font-semibold text-neutral-500">{{
|
||||||
|
@ -1,37 +1,38 @@
|
|||||||
<x-layout-simple>
|
<x-layout-simple>
|
||||||
<div class="flex items-center justify-center h-screen">
|
<div class="flex items-center justify-center h-screen">
|
||||||
<div class="w-1/2 min-w-fit">
|
<div class="w-96 min-w-fit">
|
||||||
<div class="flex flex-col items-center pb-8">
|
<div class="flex flex-col items-center pb-8">
|
||||||
<div class="text-5xl font-bold tracking-tight text-center text-white">Coolify</div>
|
<div class="text-5xl font-extrabold tracking-tight text-center text-white">Coolify</div>
|
||||||
<x-version />
|
<x-version />
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<h1>{{ __('auth.login') }}</h1>
|
<h1>{{ __('auth.login') }}</h1>
|
||||||
@if ($is_registration_enabled)
|
|
||||||
<a href="/register"
|
|
||||||
class="text-xs text-center text-white normal-case bg-transparent border-none rounded no-animation hover:no-underline btn btn-sm bg-coollabs-gradient">
|
|
||||||
{{ __('auth.register_now') }}
|
|
||||||
</a>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<form action="/login" method="POST" class="flex flex-col gap-2">
|
<form action="/login" method="POST" class="flex flex-col gap-2">
|
||||||
@csrf
|
@csrf
|
||||||
@env('local')
|
@env('local')
|
||||||
<x-forms.input required value="test@example.com" type="email" name="email"
|
<x-forms.input value="test@example.com" type="email" name="email" label="{{ __('input.email') }}"
|
||||||
label="{{ __('input.email') }}" autofocus />
|
autofocus />
|
||||||
|
|
||||||
|
<x-forms.input value="password" type="password" name="password"
|
||||||
|
label="{{ __('input.password') }}" />
|
||||||
<a href="/forgot-password" class="text-xs">
|
<a href="/forgot-password" class="text-xs">
|
||||||
{{ __('auth.forgot_password') }}?
|
{{ __('auth.forgot_password') }}?
|
||||||
</a>
|
</a>
|
||||||
<x-forms.input required value="password" type="password" name="password"
|
|
||||||
label="{{ __('input.password') }}" />
|
|
||||||
@else
|
@else
|
||||||
<x-forms.input required type="email" name="email" label="{{ __('input.email') }}" autofocus />
|
<x-forms.input type="email" name="email" label="{{ __('input.email') }}" autofocus />
|
||||||
<x-forms.input required type="password" name="password" label="{{ __('input.password') }}" />
|
<x-forms.input type="password" name="password" label="{{ __('input.password') }}" />
|
||||||
@endenv
|
@endenv
|
||||||
|
|
||||||
<x-forms.button type="submit">{{ __('auth.login') }}</x-forms.button>
|
<x-forms.button type="submit">{{ __('auth.login') }}</x-forms.button>
|
||||||
@if (!$is_registration_enabled)
|
@if ($is_registration_enabled)
|
||||||
|
<a href="/register"
|
||||||
|
class="text-xs text-center text-white normal-case bg-transparent border-none rounded no-animation hover:no-underline btn btn-sm bg-coollabs-gradient">
|
||||||
|
{{ __('auth.register_now') }}
|
||||||
|
</a>
|
||||||
|
@else
|
||||||
<div class="text-sm text-center">{{ __('auth.registration_disabled') }}</div>
|
<div class="text-sm text-center">{{ __('auth.registration_disabled') }}</div>
|
||||||
@endif
|
@endif
|
||||||
@if ($errors->any())
|
@if ($errors->any())
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<x-layout>
|
<x-layout>
|
||||||
<h1>Command Center</h1>
|
<h1>Command Center</h1>
|
||||||
<div class="pb-10 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>
|
<li class="inline-flex items-center">
|
||||||
Execute commands on your servers without leaving the browser.
|
Execute commands on your servers without leaving the browser.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ol>
|
||||||
</div>
|
</nav>
|
||||||
@if ($servers->count() > 0)
|
@if ($servers->count() > 0)
|
||||||
<livewire:run-command :servers="$servers" />
|
<livewire:run-command :servers="$servers" />
|
||||||
@else
|
@else
|
||||||
|
@ -16,63 +16,64 @@
|
|||||||
<button>Deployments</button>
|
<button>Deployments</button>
|
||||||
</a>
|
</a>
|
||||||
<div class="flex-1"></div>
|
<div class="flex-1"></div>
|
||||||
<div class="dropdown dropdown-bottom dropdown-hover">
|
<div class="group">
|
||||||
<label tabindex="0" class="flex items-center gap-2 text-sm cursor-pointer hover:text-white"> Links
|
<label tabindex="0" class="flex items-center gap-2 text-sm cursor-pointer hover:text-white"> Links
|
||||||
<x-chevron-down />
|
<x-chevron-down />
|
||||||
</label>
|
</label>
|
||||||
<ul tabindex="0"
|
<div class="absolute hidden group-hover:block ">
|
||||||
class="text-xs text-white normal-case rounded min-w-max dropdown-content menu bg-coolgray-200">
|
<ul tabindex="0" class="text-xs text-white normal-case rounded min-w-max menu bg-coolgray-200">
|
||||||
<li>
|
|
||||||
<a target="_blank" class="text-xs text-white rounded-none hover:no-underline hover:bg-coollabs"
|
|
||||||
href="{{ $application->gitBranchLocation }}">
|
|
||||||
<x-git-icon git="{{ $application->source->getMorphClass() }}" />
|
|
||||||
Git Repository
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
@if (data_get($application, 'fqdn'))
|
|
||||||
<li>
|
<li>
|
||||||
<a class="text-xs text-white rounded-none hover:no-underline hover:bg-coollabs" target="_blank"
|
<a target="_blank" class="text-xs text-white rounded-none hover:no-underline hover:bg-coollabs"
|
||||||
href="{{ $application->fqdn }}">
|
href="{{ $application->gitBranchLocation }}">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
|
<x-git-icon git="{{ $application->source->getMorphClass() }}" />
|
||||||
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
Git Repository
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
||||||
<path d="M9 15l6 -6" />
|
|
||||||
<path d="M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464" />
|
|
||||||
<path
|
|
||||||
d="M13 18l-.397 .534a5.068 5.068 0 0 1 -7.127 0a4.972 4.972 0 0 1 0 -7.071l.524 -.463" />
|
|
||||||
</svg>{{ $application->fqdn }}
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@if (data_get($application, 'fqdn'))
|
||||||
@if (data_get($application, 'ports_mappings_array'))
|
<li>
|
||||||
@foreach ($application->ports_mappings_array as $port)
|
<a class="text-xs text-white rounded-none hover:no-underline hover:bg-coollabs" target="_blank"
|
||||||
@if (config('app.env') === 'local')
|
href="{{ $application->fqdn }}">
|
||||||
<li>
|
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
||||||
<a class="text-xs text-white rounded-none hover:no-underline hover:bg-coollabs"
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
target="_blank" href="http://localhost:{{ explode(':', $port)[0] }}">
|
stroke-linejoin="round">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
<path d="M9 15l6 -6" />
|
||||||
stroke-linejoin="round">
|
<path d="M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464" />
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
<path
|
||||||
<path d="M9 15l6 -6" />
|
d="M13 18l-.397 .534a5.068 5.068 0 0 1 -7.127 0a4.972 4.972 0 0 1 0 -7.071l.524 -.463" />
|
||||||
<path d="M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464" />
|
</svg>{{ $application->fqdn }}
|
||||||
<path
|
</a>
|
||||||
d="M13 18l-.397 .534a5.068 5.068 0 0 1 -7.127 0a4.972 4.972 0 0 1 0 -7.071l.524 -.463" />
|
</li>
|
||||||
</svg>{{ $port }}
|
@endif
|
||||||
</a>
|
@if (data_get($application, 'ports_mappings_array'))
|
||||||
</li>
|
@foreach ($application->ports_mappings_array as $port)
|
||||||
@else
|
@if (config('app.env') === 'local')
|
||||||
<li>
|
<li>
|
||||||
<a class="text-xs hover:no-underline hover:bg-coollabs" target="_blank"
|
<a class="text-xs text-white rounded-none hover:no-underline hover:bg-coollabs"
|
||||||
href="http://{{ $application->destination->server->ip }}:{{ explode(':', $port)[0] }}">Port
|
target="_blank" href="http://localhost:{{ explode(':', $port)[0] }}">
|
||||||
{{ $port }}
|
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
||||||
</a>
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
</li>
|
stroke-linejoin="round">
|
||||||
@endif
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
@endforeach
|
<path d="M9 15l6 -6" />
|
||||||
@endif
|
<path d="M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464" />
|
||||||
</ul>
|
<path
|
||||||
</div>
|
d="M13 18l-.397 .534a5.068 5.068 0 0 1 -7.127 0a4.972 4.972 0 0 1 0 -7.071l.524 -.463" />
|
||||||
|
</svg>{{ $port }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
@else
|
||||||
|
<li>
|
||||||
|
<a class="text-xs hover:no-underline hover:bg-coollabs" target="_blank"
|
||||||
|
href="http://{{ $application->destination->server->ip }}:{{ explode(':', $port)[0] }}">Port
|
||||||
|
{{ $port }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
@endif
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<livewire:project.application.deploy :applicationId="$application->id" />
|
<livewire:project.application.deploy :applicationId="$application->id" />
|
||||||
</nav>
|
</nav>
|
||||||
|
@ -9,24 +9,23 @@
|
|||||||
'disabled' => null,
|
'disabled' => null,
|
||||||
])
|
])
|
||||||
<label {{ $attributes->merge(['class' => 'flex cursor-pointer w-64 label']) }}>
|
<label {{ $attributes->merge(['class' => 'flex cursor-pointer w-64 label']) }}>
|
||||||
<div class="label-text">
|
<div class="flex gap-1 label-text">
|
||||||
@if ($label)
|
@if ($label)
|
||||||
{{ $label }}
|
{{ $label }}
|
||||||
@else
|
@else
|
||||||
{{ $id }}
|
{{ $id }}
|
||||||
@endif
|
@endif
|
||||||
@if ($helper)
|
@if ($helper)
|
||||||
<div class="-mb-1 dropdown dropdown-right dropdown-hover">
|
<div class="group">
|
||||||
<label tabindex="0" class="cursor-pointer text-warning">
|
<div class="cursor-pointer text-warning">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
|
||||||
class="w-4 h-4 stroke-current">
|
class="w-4 h-4 stroke-current">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||||
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</label>
|
</div>
|
||||||
<div tabindex="0"
|
<div class="absolute hidden text-xs group-hover:block border-coolgray-400 bg-coolgray-500">
|
||||||
class="border rounded shadow border-coolgray-400 card compact dropdown-content bg-coolgray-200 w-96">
|
<div class="p-4 card-body">
|
||||||
<div class="card-body">
|
|
||||||
{!! $helper !!}
|
{!! $helper !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
'id' => $attributes->has('id'),
|
'id' => $attributes->has('id'),
|
||||||
'type' => $attributes->get('type') ?? 'text',
|
'type' => $attributes->get('type') ?? 'text',
|
||||||
'label' => $attributes->has('label'),
|
'label' => $attributes->has('label'),
|
||||||
|
'readonly' => null,
|
||||||
'required' => null,
|
'required' => null,
|
||||||
'disabled' => null,
|
'disabled' => null,
|
||||||
'helper' => $attributes->has('helper'),
|
'helper' => $attributes->has('helper'),
|
||||||
@ -10,23 +11,22 @@
|
|||||||
<div {{ $attributes->merge(['class' => 'w-full form-control']) }}>
|
<div {{ $attributes->merge(['class' => 'w-full form-control']) }}>
|
||||||
@if ($label)
|
@if ($label)
|
||||||
<label class="label">
|
<label class="label">
|
||||||
<span class="label-text">
|
<span class="flex gap-1 label-text">
|
||||||
{{ $label }}
|
{{ $label }}
|
||||||
@if ($required)
|
@if ($required)
|
||||||
<span class="text-warning">*</span>
|
<span class="text-warning">*</span>
|
||||||
@endif
|
@endif
|
||||||
@if ($helper)
|
@if ($helper)
|
||||||
<div class="-mb-1 dropdown dropdown-right dropdown-hover">
|
<div class="group">
|
||||||
<label tabindex="0" class="cursor-pointer text-warning">
|
<div class="cursor-pointer text-warning">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
|
||||||
class="w-4 h-4 stroke-current">
|
class="w-4 h-4 stroke-current">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||||
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</label>
|
</div>
|
||||||
<div tabindex="0"
|
<div class="absolute hidden text-xs group-hover:block border-coolgray-400 bg-coolgray-500">
|
||||||
class="border rounded shadow border-coolgray-400 card compact dropdown-content bg-coolgray-200 w-96">
|
<div class="p-4 card-body">
|
||||||
<div class="card-body">
|
|
||||||
{!! $helper !!}
|
{!! $helper !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -38,7 +38,7 @@ class="border rounded shadow border-coolgray-400 card compact dropdown-content b
|
|||||||
<input type={{ $type }}
|
<input type={{ $type }}
|
||||||
@if ($id) name={{ $id }} wire:model.defer={{ $id }} @endisset
|
@if ($id) name={{ $id }} wire:model.defer={{ $id }} @endisset
|
||||||
@if ($disabled !== null) disabled @endif
|
@if ($disabled !== null) disabled @endif
|
||||||
@if ($required !== null) required @endif
|
@if ($required !== null) required @endif @if ($readonly !== null) readonly @endif
|
||||||
@if (!$noDirty && $id) wire:dirty.class="input-warning" @endif {{ $attributes }} />
|
@if (!$noDirty && $id) wire:dirty.class="input-warning" @endif {{ $attributes }} />
|
||||||
@error($id)
|
@error($id)
|
||||||
<label class="label">
|
<label class="label">
|
||||||
|
@ -17,17 +17,16 @@
|
|||||||
<span class="text-warning">*</span>
|
<span class="text-warning">*</span>
|
||||||
@endif
|
@endif
|
||||||
@if ($helper)
|
@if ($helper)
|
||||||
<div class="-mb-1 dropdown dropdown-right dropdown-hover">
|
<div class="group">
|
||||||
<label tabindex="0" class="cursor-pointer text-warning">
|
<div class="cursor-pointer text-warning">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
|
||||||
class="w-4 h-4 stroke-current">
|
class="w-4 h-4 stroke-current">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||||
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</label>
|
</div>
|
||||||
<div tabindex="0"
|
<div class="absolute hidden text-xs group-hover:block border-coolgray-400 bg-coolgray-500">
|
||||||
class="border rounded shadow border-coolgray-400 card compact dropdown-content bg-coolgray-200 w-96">
|
<div class="p-4 card-body">
|
||||||
<div class="card-body">
|
|
||||||
{!! $helper !!}
|
{!! $helper !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,18 +20,17 @@
|
|||||||
<span class="text-warning">*</span>
|
<span class="text-warning">*</span>
|
||||||
@endif
|
@endif
|
||||||
@if ($helper)
|
@if ($helper)
|
||||||
<div class="dropdown dropdown-right">
|
<div class="group">
|
||||||
<label tabindex="0" class="btn btn-circle btn-ghost btn-xs text-warning">
|
<div class="cursor-pointer text-warning">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
|
||||||
class="w-4 h-4 stroke-current">
|
class="w-4 h-4 stroke-current">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||||
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</label>
|
</div>
|
||||||
<div tabindex="0"
|
<div class="absolute hidden text-xs group-hover:block border-coolgray-400 bg-coolgray-500">
|
||||||
class="w-64 border-2 shadow border-coolgray-500 card compact dropdown-content bg-coolgray-200 ">
|
<div class="p-4 card-body">
|
||||||
<div class="card-body">
|
{!! $helper !!}
|
||||||
{{ $helper }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -38,14 +38,6 @@
|
|||||||
<x-version class="fixed left-2 bottom-1" />
|
<x-version class="fixed left-2 bottom-1" />
|
||||||
@auth
|
@auth
|
||||||
<script>
|
<script>
|
||||||
window.addEventListener("keydown", function(event) {
|
|
||||||
if (event.target.nodeName === 'BODY') {
|
|
||||||
if (event.key === '/') {
|
|
||||||
event.preventDefault();
|
|
||||||
window.dispatchEvent(new CustomEvent('slash'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
Livewire.on('reloadWindow', () => {
|
Livewire.on('reloadWindow', () => {
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
})
|
})
|
||||||
|
@ -71,8 +71,9 @@ class="{{ request()->is('settings') ? 'text-warning icon' : 'icon' }}" viewBox="
|
|||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="fixed top-0 right-0 p-2">
|
<div class="fixed top-0 right-0 p-2">
|
||||||
<div class="dropdown dropdown-left dropdown-hover">
|
<div class="group">
|
||||||
<label tabindex="0" class="btn btn-ghost no-animation hover:bg-transparent hover:text-warning">
|
<label tabindex="0"
|
||||||
|
class="absolute top-0 right-0 p-2 m-2 cursor-pointer hover:bg-transparent hover:text-warning">
|
||||||
<div class="flex items-center justify-center gap-2 placeholder">
|
<div class="flex items-center justify-center gap-2 placeholder">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
|
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
|
||||||
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
@ -83,47 +84,52 @@ class="{{ request()->is('settings') ? 'text-warning icon' : 'icon' }}" viewBox="
|
|||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
</label>
|
</label>
|
||||||
<ul tabindex="0" class="p-2 mt-3 rounded shadow menu menu-compact dropdown-content bg-coolgray-200 w-52">
|
<div class="hidden p-4 px-8 group-hover:block">
|
||||||
<li>
|
<ul tabindex="0" class="p-2 mt-3 rounded shadow menu menu-compact dropdown-content bg-coolgray-200 w-52">
|
||||||
<a class="text-white rounded-none hover:no-underline hover:bg-coollabs" href="/profile">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 24 24" stroke-width="1.5"
|
|
||||||
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
||||||
<path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" />
|
|
||||||
<path d="M12 10m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" />
|
|
||||||
<path d="M6.168 18.849a4 4 0 0 1 3.832 -2.849h4a4 4 0 0 1 3.834 2.855" />
|
|
||||||
</svg> Profile
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a class="text-white rounded-none hover:no-underline hover:bg-coollabs" href="/profile/team">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 24 24" stroke-width="1.5"
|
|
||||||
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
||||||
<path d="M10 13a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
|
|
||||||
<path d="M8 21v-1a2 2 0 0 1 2 -2h4a2 2 0 0 1 2 2v1" />
|
|
||||||
<path d="M15 5a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
|
|
||||||
<path d="M17 10h2a2 2 0 0 1 2 2v1" />
|
|
||||||
<path d="M5 5a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
|
|
||||||
<path d="M3 13v-1a2 2 0 0 1 2 -2h2" />
|
|
||||||
</svg> Team
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<form action="/logout" method="POST">
|
|
||||||
<li>
|
<li>
|
||||||
@csrf
|
<a class="text-white rounded-none hover:no-underline hover:bg-coollabs" href="/profile">
|
||||||
<button class="text-sm text-white rounded-none hover:bg-coollabs"> <svg
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 24 24"
|
||||||
xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 24 24" stroke-width="1.5"
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
stroke-linejoin="round">
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
<path d="M13 12v.01" />
|
<path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" />
|
||||||
<path d="M3 21h18" />
|
<path d="M12 10m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" />
|
||||||
<path d="M5 21v-16a2 2 0 0 1 2 -2h7.5m2.5 10.5v7.5" />
|
<path d="M6.168 18.849a4 4 0 0 1 3.832 -2.849h4a4 4 0 0 1 3.834 2.855" />
|
||||||
<path d="M14 7h7m-3 -3l3 3l-3 3" />
|
</svg> Profile
|
||||||
</svg>Logout</button>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</form>
|
<li>
|
||||||
</ul>
|
<a class="text-white rounded-none hover:no-underline hover:bg-coollabs" href="/profile/team">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 24 24"
|
||||||
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M10 13a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
|
||||||
|
<path d="M8 21v-1a2 2 0 0 1 2 -2h4a2 2 0 0 1 2 2v1" />
|
||||||
|
<path d="M15 5a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
|
||||||
|
<path d="M17 10h2a2 2 0 0 1 2 2v1" />
|
||||||
|
<path d="M5 5a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
|
||||||
|
<path d="M3 13v-1a2 2 0 0 1 2 -2h2" />
|
||||||
|
</svg> Team
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<form action="/logout" method="POST">
|
||||||
|
<li>
|
||||||
|
@csrf
|
||||||
|
<button class="text-sm text-white rounded-none hover:bg-coollabs"> <svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 24 24"
|
||||||
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M13 12v.01" />
|
||||||
|
<path d="M3 21h18" />
|
||||||
|
<path d="M5 21v-16a2 2 0 0 1 2 -2h7.5m2.5 10.5v7.5" />
|
||||||
|
<path d="M14 7h7m-3 -3l3 3l-3 3" />
|
||||||
|
</svg>Logout</button>
|
||||||
|
</li>
|
||||||
|
</form>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endauth
|
@endauth
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
<div class="pb-6">
|
<div class="pb-6">
|
||||||
<h1>Server</h1>
|
<h1>Server</h1>
|
||||||
<div class="pb-10 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>{{ data_get($server, 'name') }}</li>
|
<li class="inline-flex items-center">
|
||||||
</ul>
|
{{ data_get($server, 'name') }}
|
||||||
</div>
|
</li>
|
||||||
|
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
<nav class="flex items-center h-12 gap-4 py-2 border-b-2 border-solid border-coolgray-200">
|
<nav class="flex items-center h-12 gap-4 py-2 border-b-2 border-solid border-coolgray-200">
|
||||||
<a class="{{ request()->routeIs('server.show') ? 'text-white' : '' }}"
|
<a class="{{ request()->routeIs('server.show') ? 'text-white' : '' }}"
|
||||||
href="{{ route('server.show', [
|
href="{{ route('server.show', [
|
||||||
|
@ -1,11 +1,34 @@
|
|||||||
<div class="pb-6">
|
<div class="pb-6">
|
||||||
<h1>Team</h1>
|
<h1>Team</h1>
|
||||||
<div class="text-sm breadcrumbs pb-11">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>Currently Active Team</li>
|
<li class="inline-flex items-center">
|
||||||
<li class="font-bold">{{ session('currentTeam.name') }}</li>
|
Currently Active Team
|
||||||
</ul>
|
</li>
|
||||||
</div>
|
<li>
|
||||||
|
<div class="flex items-center">
|
||||||
|
<svg aria-hidden="true" class="w-4 h-4 mx-1 font-bold text-warning" fill="currentColor"
|
||||||
|
viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
{{ session('currentTeam.name') }}
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="flex items-center">
|
||||||
|
<svg aria-hidden="true" class="w-4 h-4 mx-1 font-bold text-warning" fill="currentColor"
|
||||||
|
viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
<span>{{ data_get($application, 'name') }}</span>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
<nav class="flex items-center gap-4 py-2 border-b-2 border-solid border-coolgray-200">
|
<nav class="flex items-center gap-4 py-2 border-b-2 border-solid border-coolgray-200">
|
||||||
<a class="{{ request()->routeIs('team.show') ? 'text-white' : '' }}" href="{{ route('team.show') }}">
|
<a class="{{ request()->routeIs('team.show') ? 'text-white' : '' }}" href="{{ route('team.show') }}">
|
||||||
<button>Members</button>
|
<button>Members</button>
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
<x-layout>
|
<x-layout>
|
||||||
<h1>Dashboard</h1>
|
<h1>Dashboard</h1>
|
||||||
<div class="pb-10 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>
|
<li class="inline-flex items-center">
|
||||||
Something (more) useful will be here.
|
Something (more) useful will be here.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
|
||||||
</div>
|
</ol>
|
||||||
|
</nav>
|
||||||
<div class="w-full rounded shadow stats stats-vertical lg:stats-horizontal">
|
<div class="w-full rounded shadow stats stats-vertical lg:stats-horizontal">
|
||||||
<div class="stat">
|
<div class="stat">
|
||||||
<div class="stat-title">Servers</div>
|
<div class="stat-title">Servers</div>
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<div>
|
<div>
|
||||||
<h1>Create a new Destination</h1>
|
<h1>Create a new Destination</h1>
|
||||||
<div class="pb-5 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>
|
<li class="inline-flex items-center">
|
||||||
Destinations are used to separate resources in a server.
|
Destinations are used to separate resources in a server.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ol>
|
||||||
</div>
|
</nav>
|
||||||
<form class="flex flex-col gap-4" wire:submit.prevent='submit'>
|
<form class="flex flex-col gap-4" wire:submit.prevent='submit'>
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
<x-forms.input id="name" label="Name" required />
|
<x-forms.input id="name" label="Name" required />
|
||||||
|
@ -1,114 +1,119 @@
|
|||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<div class="dropdown dropdown-bottom dropdown-hover">
|
<div class="group">
|
||||||
<label tabindex="0" class="flex items-center gap-2 cursor-pointer hover:text-white"> Actions
|
<label tabindex="0" class="flex items-center gap-2 cursor-pointer hover:text-white"> Actions
|
||||||
<x-chevron-down />
|
<x-chevron-down />
|
||||||
</label>
|
</label>
|
||||||
@if ($application->status === 'running')
|
<div class="absolute hidden group-hover:block ">
|
||||||
<ul tabindex="0"
|
@if ($application->status === 'running')
|
||||||
class="text-xs text-white normal-case rounded min-w-max dropdown-content menu bg-coolgray-200">
|
<ul tabindex="0" class="text-xs text-white normal-case rounded min-w-max menu bg-coolgray-200">
|
||||||
<li>
|
<li>
|
||||||
<div class="rounded-none hover:bg-coollabs" wire:click='deploy'><svg xmlns="http://www.w3.org/2000/svg"
|
<div class="rounded-none hover:bg-coollabs" wire:click='deploy'><svg
|
||||||
class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none"
|
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
|
||||||
stroke-linecap="round" stroke-linejoin="round">
|
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
<path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4" />
|
<path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4" />
|
||||||
<path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4" />
|
<path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4" />
|
||||||
<path d="M12 9l0 3" />
|
<path d="M12 9l0 3" />
|
||||||
<path d="M12 15l.01 0" />
|
<path d="M12 15l.01 0" />
|
||||||
</svg>Restart</div>
|
</svg>Restart</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<div class="rounded-none hover:bg-coollabs" wire:click='deploy(true, true)'><svg
|
<div class="rounded-none hover:bg-coollabs" wire:click='deploy(true, true)'><svg
|
||||||
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
|
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
||||||
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
stroke-linejoin="round">
|
||||||
<path d="M9 9v-1a3 3 0 0 1 6 0v1" />
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
<path d="M8 9h8a6 6 0 0 1 1 3v3a5 5 0 0 1 -10 0v-3a6 6 0 0 1 1 -3" />
|
<path d="M9 9v-1a3 3 0 0 1 6 0v1" />
|
||||||
<path d="M3 13l4 0" />
|
<path d="M8 9h8a6 6 0 0 1 1 3v3a5 5 0 0 1 -10 0v-3a6 6 0 0 1 1 -3" />
|
||||||
<path d="M17 13l4 0" />
|
<path d="M3 13l4 0" />
|
||||||
<path d="M12 20l0 -6" />
|
<path d="M17 13l4 0" />
|
||||||
<path d="M4 19l3.35 -2" />
|
<path d="M12 20l0 -6" />
|
||||||
<path d="M20 19l-3.35 -2" />
|
<path d="M4 19l3.35 -2" />
|
||||||
<path d="M4 7l3.75 2.4" />
|
<path d="M20 19l-3.35 -2" />
|
||||||
<path d="M20 7l-3.75 2.4" />
|
<path d="M4 7l3.75 2.4" />
|
||||||
</svg>Force deploy (with
|
<path d="M20 7l-3.75 2.4" />
|
||||||
debug)
|
</svg>Force deploy (with
|
||||||
</div>
|
debug)
|
||||||
</li>
|
</div>
|
||||||
<li>
|
</li>
|
||||||
<div class="rounded-none hover:bg-coollabs" wire:click='deploy(true)'><svg
|
<li>
|
||||||
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
|
<div class="rounded-none hover:bg-coollabs" wire:click='deploy(true)'><svg
|
||||||
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
<path
|
stroke-linejoin="round">
|
||||||
d="M12.983 8.978c3.955 -.182 7.017 -1.446 7.017 -2.978c0 -1.657 -3.582 -3 -8 -3c-1.661 0 -3.204 .19 -4.483 .515m-2.783 1.228c-.471 .382 -.734 .808 -.734 1.257c0 1.22 1.944 2.271 4.734 2.74" />
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
<path
|
<path
|
||||||
d="M4 6v6c0 1.657 3.582 3 8 3c.986 0 1.93 -.067 2.802 -.19m3.187 -.82c1.251 -.53 2.011 -1.228 2.011 -1.99v-6" />
|
d="M12.983 8.978c3.955 -.182 7.017 -1.446 7.017 -2.978c0 -1.657 -3.582 -3 -8 -3c-1.661 0 -3.204 .19 -4.483 .515m-2.783 1.228c-.471 .382 -.734 .808 -.734 1.257c0 1.22 1.944 2.271 4.734 2.74" />
|
||||||
<path d="M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4" />
|
<path
|
||||||
<path d="M3 3l18 18" />
|
d="M4 6v6c0 1.657 3.582 3 8 3c.986 0 1.93 -.067 2.802 -.19m3.187 -.82c1.251 -.53 2.011 -1.228 2.011 -1.99v-6" />
|
||||||
</svg>Force deploy (without
|
<path d="M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4" />
|
||||||
cache)
|
<path d="M3 3l18 18" />
|
||||||
</div>
|
</svg>Force deploy (without
|
||||||
</li>
|
cache)
|
||||||
<li>
|
</div>
|
||||||
<div class="rounded-none hover:bg-red-500" wire:click='stop'><svg xmlns="http://www.w3.org/2000/svg"
|
</li>
|
||||||
class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none"
|
<li>
|
||||||
stroke-linecap="round" stroke-linejoin="round">
|
<div class="rounded-none hover:bg-red-500" wire:click='stop'><svg
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
||||||
<path d="M8 13v-7.5a1.5 1.5 0 0 1 3 0v6.5" />
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
<path d="M11 5.5v-2a1.5 1.5 0 1 1 3 0v8.5" />
|
stroke-linejoin="round">
|
||||||
<path d="M14 5.5a1.5 1.5 0 0 1 3 0v6.5" />
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
<path
|
<path d="M8 13v-7.5a1.5 1.5 0 0 1 3 0v6.5" />
|
||||||
d="M17 7.5a1.5 1.5 0 0 1 3 0v8.5a6 6 0 0 1 -6 6h-2h.208a6 6 0 0 1 -5.012 -2.7a69.74 69.74 0 0 1 -.196 -.3c-.312 -.479 -1.407 -2.388 -3.286 -5.728a1.5 1.5 0 0 1 .536 -2.022a1.867 1.867 0 0 1 2.28 .28l1.47 1.47" />
|
<path d="M11 5.5v-2a1.5 1.5 0 1 1 3 0v8.5" />
|
||||||
</svg>Stop</div>
|
<path d="M14 5.5a1.5 1.5 0 0 1 3 0v6.5" />
|
||||||
</li>
|
<path
|
||||||
</ul>
|
d="M17 7.5a1.5 1.5 0 0 1 3 0v8.5a6 6 0 0 1 -6 6h-2h.208a6 6 0 0 1 -5.012 -2.7a69.74 69.74 0 0 1 -.196 -.3c-.312 -.479 -1.407 -2.388 -3.286 -5.728a1.5 1.5 0 0 1 .536 -2.022a1.867 1.867 0 0 1 2.28 .28l1.47 1.47" />
|
||||||
@else
|
</svg>Stop</div>
|
||||||
<ul tabindex="0"
|
</li>
|
||||||
class="text-xs text-white normal-case rounded min-w-max dropdown-content menu bg-coolgray-200">
|
</ul>
|
||||||
<li>
|
@else
|
||||||
<div class="rounded-none hover:bg-coollabs" wire:click='deploy'><svg
|
<ul tabindex="0" class="text-xs text-white normal-case rounded min-w-max menu bg-coolgray-200">
|
||||||
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
|
<li>
|
||||||
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
<div class="rounded-none hover:bg-coollabs" wire:click='deploy'><svg
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
||||||
<path d="M7 4v16l13 -8z" />
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
</svg>Deploy</div>
|
stroke-linejoin="round">
|
||||||
</li>
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
<li>
|
<path d="M7 4v16l13 -8z" />
|
||||||
<div class="rounded-none hover:bg-coollabs" wire:click='deploy(true, true)'><svg
|
</svg>Deploy</div>
|
||||||
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
|
</li>
|
||||||
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
<li>
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
<div class="rounded-none hover:bg-coollabs" wire:click='deploy(true, true)'><svg
|
||||||
<path d="M9 9v-1a3 3 0 0 1 6 0v1" />
|
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
||||||
<path d="M8 9h8a6 6 0 0 1 1 3v3a5 5 0 0 1 -10 0v-3a6 6 0 0 1 1 -3" />
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
<path d="M3 13l4 0" />
|
stroke-linejoin="round">
|
||||||
<path d="M17 13l4 0" />
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
<path d="M12 20l0 -6" />
|
<path d="M9 9v-1a3 3 0 0 1 6 0v1" />
|
||||||
<path d="M4 19l3.35 -2" />
|
<path d="M8 9h8a6 6 0 0 1 1 3v3a5 5 0 0 1 -10 0v-3a6 6 0 0 1 1 -3" />
|
||||||
<path d="M20 19l-3.35 -2" />
|
<path d="M3 13l4 0" />
|
||||||
<path d="M4 7l3.75 2.4" />
|
<path d="M17 13l4 0" />
|
||||||
<path d="M20 7l-3.75 2.4" />
|
<path d="M12 20l0 -6" />
|
||||||
</svg>Force deploy (with
|
<path d="M4 19l3.35 -2" />
|
||||||
debug)
|
<path d="M20 19l-3.35 -2" />
|
||||||
</div>
|
<path d="M4 7l3.75 2.4" />
|
||||||
</li>
|
<path d="M20 7l-3.75 2.4" />
|
||||||
<li>
|
</svg>Force deploy (with
|
||||||
<div class="rounded-none hover:bg-coollabs" wire:click='deploy(true)'><svg
|
debug)
|
||||||
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
</div>
|
||||||
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
</li>
|
||||||
stroke-linejoin="round">
|
<li>
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
<div class="rounded-none hover:bg-coollabs" wire:click='deploy(true)'><svg
|
||||||
<path
|
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
||||||
d="M12.983 8.978c3.955 -.182 7.017 -1.446 7.017 -2.978c0 -1.657 -3.582 -3 -8 -3c-1.661 0 -3.204 .19 -4.483 .515m-2.783 1.228c-.471 .382 -.734 .808 -.734 1.257c0 1.22 1.944 2.271 4.734 2.74" />
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
<path
|
stroke-linejoin="round">
|
||||||
d="M4 6v6c0 1.657 3.582 3 8 3c.986 0 1.93 -.067 2.802 -.19m3.187 -.82c1.251 -.53 2.011 -1.228 2.011 -1.99v-6" />
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
<path d="M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4" />
|
<path
|
||||||
<path d="M3 3l18 18" />
|
d="M12.983 8.978c3.955 -.182 7.017 -1.446 7.017 -2.978c0 -1.657 -3.582 -3 -8 -3c-1.661 0 -3.204 .19 -4.483 .515m-2.783 1.228c-.471 .382 -.734 .808 -.734 1.257c0 1.22 1.944 2.271 4.734 2.74" />
|
||||||
</svg>Force deploy (without
|
<path
|
||||||
cache)
|
d="M4 6v6c0 1.657 3.582 3 8 3c.986 0 1.93 -.067 2.802 -.19m3.187 -.82c1.251 -.53 2.011 -1.228 2.011 -1.99v-6" />
|
||||||
</div>
|
<path d="M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4" />
|
||||||
</li>
|
<path d="M3 3l18 18" />
|
||||||
</ul>
|
</svg>Force deploy (without
|
||||||
@endif
|
cache)
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<div>
|
<div>
|
||||||
<h1>Create a new Server</h1>
|
<h1>Create a new Server</h1>
|
||||||
<div class="pb-5 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>
|
<li class="inline-flex items-center">
|
||||||
Servers are the main blocks of your infrastructure.
|
Servers are the main blocks of your infrastructure.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ol>
|
||||||
</div>
|
</nav>
|
||||||
<form class="flex flex-col gap-2" wire:submit.prevent='submit'>
|
<form class="flex flex-col gap-2" wire:submit.prevent='submit'>
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
<x-forms.input id="name" label="Name" required />
|
<x-forms.input id="name" label="Name" required />
|
||||||
|
@ -1,37 +1,39 @@
|
|||||||
<div>
|
<div>
|
||||||
@if ($server->settings->is_validated)
|
@if ($server->settings->is_validated)
|
||||||
@if ($server->extra_attributes->proxy_status === 'running')
|
@if ($server->extra_attributes->proxy_status === 'running')
|
||||||
<div class="dropdown dropdown-bottom">
|
<div class="group">
|
||||||
<label tabindex="0" class="flex items-center gap-2 cursor-pointer hover:text-white"> Actions
|
<label tabindex="0" class="flex items-center gap-2 cursor-pointer hover:text-white"> Actions
|
||||||
<x-chevron-down />
|
<x-chevron-down />
|
||||||
</label>
|
</label>
|
||||||
<ul tabindex="0"
|
<div class="absolute hidden group-hover:block ">
|
||||||
class="mt-1 text-xs text-white normal-case rounded min-w-max dropdown-content menu bg-coolgray-200">
|
<ul tabindex="0" class="mt-1 text-xs text-white normal-case rounded min-w-max menu bg-coolgray-200">
|
||||||
<li>
|
<li>
|
||||||
<div class="rounded-none hover:bg-coollabs" wire:click='deploy'><svg
|
<div class="rounded-none hover:bg-coollabs" wire:click='deploy'><svg
|
||||||
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
|
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
||||||
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
stroke-linejoin="round">
|
||||||
<path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4" />
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
<path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4" />
|
<path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4" />
|
||||||
<path d="M12 9l0 3" />
|
<path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4" />
|
||||||
<path d="M12 15l.01 0" />
|
<path d="M12 9l0 3" />
|
||||||
</svg>Restart</div>
|
<path d="M12 15l.01 0" />
|
||||||
</li>
|
</svg>Restart</div>
|
||||||
<li>
|
</li>
|
||||||
<div class="rounded-none hover:bg-red-500" wire:click='stop'><svg
|
<li>
|
||||||
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
<div class="rounded-none hover:bg-red-500" wire:click='stop'><svg
|
||||||
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24"
|
||||||
stroke-linejoin="round">
|
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
stroke-linejoin="round">
|
||||||
<path d="M8 13v-7.5a1.5 1.5 0 0 1 3 0v6.5" />
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
<path d="M11 5.5v-2a1.5 1.5 0 1 1 3 0v8.5" />
|
<path d="M8 13v-7.5a1.5 1.5 0 0 1 3 0v6.5" />
|
||||||
<path d="M14 5.5a1.5 1.5 0 0 1 3 0v6.5" />
|
<path d="M11 5.5v-2a1.5 1.5 0 1 1 3 0v8.5" />
|
||||||
<path
|
<path d="M14 5.5a1.5 1.5 0 0 1 3 0v6.5" />
|
||||||
d="M17 7.5a1.5 1.5 0 0 1 3 0v8.5a6 6 0 0 1 -6 6h-2h.208a6 6 0 0 1 -5.012 -2.7a69.74 69.74 0 0 1 -.196 -.3c-.312 -.479 -1.407 -2.388 -3.286 -5.728a1.5 1.5 0 0 1 .536 -2.022a1.867 1.867 0 0 1 2.28 .28l1.47 1.47" />
|
<path
|
||||||
</svg>Stop</div>
|
d="M17 7.5a1.5 1.5 0 0 1 3 0v8.5a6 6 0 0 1 -6 6h-2h.208a6 6 0 0 1 -5.012 -2.7a69.74 69.74 0 0 1 -.196 -.3c-.312 -.479 -1.407 -2.388 -3.286 -5.728a1.5 1.5 0 0 1 .536 -2.022a1.867 1.867 0 0 1 2.28 .28l1.47 1.47" />
|
||||||
</li>
|
</svg>Stop</div>
|
||||||
</ul>
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@else
|
@else
|
||||||
<x-forms.button wire:click='deploy'> <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="44"
|
<x-forms.button wire:click='deploy'> <svg xmlns="http://www.w3.org/2000/svg" class="icon" width="44"
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
<div>
|
<div>
|
||||||
<form wire:submit.prevent='submit' class="flex flex-col">
|
<form wire:submit.prevent='submit' class="flex flex-col">
|
||||||
<h1>Settings</h1>
|
<h1>Settings</h1>
|
||||||
<div class="pb-10 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>
|
<li class="inline-flex items-center">
|
||||||
Instance wide settings for Coolify.
|
Instance wide settings for Coolify.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ol>
|
||||||
</div>
|
</nav>
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<h3>General</h3>
|
<h3>General</h3>
|
||||||
<x-forms.button type="submit">
|
<x-forms.button type="submit">
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<x-layout>
|
<x-layout>
|
||||||
<h1>Create a new Private Key</h1>
|
<h1>Create a new Private Key</h1>
|
||||||
<div class="pb-5 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>
|
<li class="inline-flex items-center">
|
||||||
Private Keys are used for connection to servers.
|
Private Keys are used for connection to servers.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ol>
|
||||||
</div>
|
</nav>
|
||||||
<livewire:private-key.create />
|
<livewire:private-key.create />
|
||||||
</x-layout>
|
</x-layout>
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
<x-layout>
|
<x-layout>
|
||||||
<h1>Profile</h1>
|
<h1>Profile</h1>
|
||||||
<div class="pb-10 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>
|
<li class="inline-flex items-center">
|
||||||
Your user profile settings.
|
Your user profile settings.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
|
||||||
</div>
|
</ol>
|
||||||
|
</nav>
|
||||||
<livewire:profile.form :request="$request" />
|
<livewire:profile.form :request="$request" />
|
||||||
<h3 class="py-4">Two-factor Authentication</h3>
|
<h3 class="py-4">Two-factor Authentication</h3>
|
||||||
@if (session('status') == 'two-factor-authentication-enabled')
|
@if (session('status') == 'two-factor-authentication-enabled')
|
||||||
|
@ -1,19 +1,37 @@
|
|||||||
<x-layout>
|
<x-layout>
|
||||||
<h1>Configuration</h1>
|
<h1>Configuration</h1>
|
||||||
<div class="pb-10 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li><a href="{{ route('project.show', ['project_uuid' => request()->route('project_uuid')]) }}">
|
<li class="inline-flex items-center">
|
||||||
|
<a href="{{ route('project.show', ['project_uuid' => request()->route('project_uuid')]) }}">
|
||||||
{{ $application->environment->project->name }}</a>
|
{{ $application->environment->project->name }}</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a
|
|
||||||
href="{{ route('project.resources', ['environment_name' => request()->route('environment_name'), 'project_uuid' => request()->route('project_uuid')]) }}">{{ request()->route('environment_name') }}</a>
|
|
||||||
</li>
|
|
||||||
<li>{{ data_get($application, 'name') }}</li>
|
|
||||||
<li>
|
<li>
|
||||||
<livewire:project.application.status :application="$application" />
|
<div class="flex items-center">
|
||||||
|
<svg aria-hidden="true" class="w-4 h-4 mx-1 font-bold text-warning" fill="currentColor"
|
||||||
|
viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
<a
|
||||||
|
href="{{ route('project.resources', ['environment_name' => request()->route('environment_name'), 'project_uuid' => request()->route('project_uuid')]) }}">{{ request()->route('environment_name') }}</a>
|
||||||
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
<li>
|
||||||
</div>
|
<div class="flex items-center">
|
||||||
|
<svg aria-hidden="true" class="w-4 h-4 mx-1 font-bold text-warning" fill="currentColor"
|
||||||
|
viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
<span>{{ data_get($application, 'name') }}</span>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
|
||||||
<x-applications.navbar :application="$application" />
|
<x-applications.navbar :application="$application" />
|
||||||
<div x-data="{ activeTab: window.location.hash ? window.location.hash.substring(1) : 'general' }" class="flex h-full pt-6">
|
<div x-data="{ activeTab: window.location.hash ? window.location.hash.substring(1) : 'general' }" class="flex h-full pt-6">
|
||||||
<div class="flex flex-col gap-4 min-w-fit">
|
<div class="flex flex-col gap-4 min-w-fit">
|
||||||
|
@ -1,19 +1,49 @@
|
|||||||
<x-layout>
|
<x-layout>
|
||||||
<h1 class="py-0">Deployment</h1>
|
<h1 class="py-0">Deployment</h1>
|
||||||
<div class="pb-10 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li><a
|
<li class="inline-flex items-center">
|
||||||
|
<a
|
||||||
href="{{ route('project.show', ['project_uuid' => request()->route('project_uuid')]) }}">{{ $application->environment->project->name }}</a>
|
href="{{ route('project.show', ['project_uuid' => request()->route('project_uuid')]) }}">{{ $application->environment->project->name }}</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a
|
|
||||||
href="{{ route('project.resources', ['environment_name' => request()->route('environment_name'), 'project_uuid' => request()->route('project_uuid')]) }}">{{ request()->route('environment_name') }}</a>
|
|
||||||
</li>
|
|
||||||
<li>{{ data_get($application, 'name') }}</li>
|
|
||||||
<li>
|
<li>
|
||||||
<livewire:project.application.status :application="$application" />
|
<div class="flex items-center">
|
||||||
|
<svg aria-hidden="true" class="w-4 h-4 mx-1 font-bold text-warning" fill="currentColor"
|
||||||
|
viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
<a
|
||||||
|
href="{{ route('project.resources', ['environment_name' => request()->route('environment_name'), 'project_uuid' => request()->route('project_uuid')]) }}">{{ request()->route('environment_name') }}</a>
|
||||||
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
<li>
|
||||||
</div>
|
<div class="flex items-center">
|
||||||
|
<svg aria-hidden="true" class="w-4 h-4 mx-1 font-bold text-warning" fill="currentColor"
|
||||||
|
viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
<span>{{ data_get($application, 'name') }}</span>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="flex items-center">
|
||||||
|
<svg aria-hidden="true" class="w-4 h-4 mx-1 font-bold text-warning" fill="currentColor"
|
||||||
|
viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
<span>
|
||||||
|
<livewire:project.application.status :application="$application" />
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
<x-applications.navbar :application="$application" />
|
<x-applications.navbar :application="$application" />
|
||||||
<livewire:project.application.deployment-logs :activity="$activity" :application="$application" :deployment_uuid="$deployment_uuid" />
|
<livewire:project.application.deployment-logs :activity="$activity" :application="$application" :deployment_uuid="$deployment_uuid" />
|
||||||
</x-layout>
|
</x-layout>
|
||||||
|
@ -1,19 +1,47 @@
|
|||||||
<x-layout>
|
<x-layout>
|
||||||
<h1>Deployments</h1>
|
<h1>Deployments</h1>
|
||||||
<div class="pb-10 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li><a
|
<li class="inline-flex items-center">
|
||||||
|
<a
|
||||||
href="{{ route('project.show', ['project_uuid' => request()->route('project_uuid')]) }}">{{ $application->environment->project->name }}</a>
|
href="{{ route('project.show', ['project_uuid' => request()->route('project_uuid')]) }}">{{ $application->environment->project->name }}</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a
|
|
||||||
href="{{ route('project.resources', ['environment_name' => request()->route('environment_name'), 'project_uuid' => request()->route('project_uuid')]) }}">{{ request()->route('environment_name') }}</a>
|
|
||||||
</li>
|
|
||||||
<li>{{ data_get($application, 'name') }}</li>
|
|
||||||
<li>
|
<li>
|
||||||
<livewire:project.application.status :application="$application" />
|
<div class="flex items-center">
|
||||||
|
<svg aria-hidden="true" class="w-4 h-4 mx-1 font-bold text-warning" fill="currentColor"
|
||||||
|
viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
<a
|
||||||
|
href="{{ route('project.resources', ['environment_name' => request()->route('environment_name'), 'project_uuid' => request()->route('project_uuid')]) }}">{{ request()->route('environment_name') }}</a>
|
||||||
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
<li>
|
||||||
</div>
|
<div class="flex items-center">
|
||||||
|
<svg aria-hidden="true" class="w-4 h-4 mx-1 font-bold text-warning" fill="currentColor"
|
||||||
|
viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
<span>{{ data_get($application, 'name') }}</span>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="flex items-center">
|
||||||
|
<svg aria-hidden="true" class="w-4 h-4 mx-1 font-bold text-warning" fill="currentColor"
|
||||||
|
viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
<livewire:project.application.status :application="$application" />
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
<x-applications.navbar :application="$application" />
|
<x-applications.navbar :application="$application" />
|
||||||
<livewire:project.application.deployments :application_id="$application->id" />
|
<livewire:project.application.deployments :application_id="$application->id" />
|
||||||
</x-layout>
|
</x-layout>
|
||||||
|
@ -4,18 +4,26 @@
|
|||||||
<h1>Resources</h1>
|
<h1>Resources</h1>
|
||||||
<livewire:project.delete-environment :environment_id="$environment->id" :resource_count="$environment->applications->count()" />
|
<livewire:project.delete-environment :environment_id="$environment->id" :resource_count="$environment->applications->count()" />
|
||||||
</div>
|
</div>
|
||||||
<div class="pb-10 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>
|
<li class="inline-flex items-center">
|
||||||
<a href="{{ route('project.show', ['project_uuid' => request()->route('project_uuid')]) }}">
|
<a href="{{ route('project.show', ['project_uuid' => request()->route('project_uuid')]) }}">
|
||||||
{{ $project->name }}
|
{{ $project->name }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
{{ request()->route('environment_name') }}
|
<div class="flex items-center">
|
||||||
|
<svg aria-hidden="true" class="w-4 h-4 mx-1 font-bold text-warning" fill="currentColor"
|
||||||
|
viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
{{ request()->route('environment_name') }}
|
||||||
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ol>
|
||||||
</div>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
@if ($environment->applications->count() === 0)
|
@if ($environment->applications->count() === 0)
|
||||||
<p>No resources found.</p>
|
<p>No resources found.</p>
|
||||||
|
@ -3,11 +3,13 @@
|
|||||||
<h1>Environments</h1>
|
<h1>Environments</h1>
|
||||||
<livewire:project.delete-project :project_id="$project->id" :resource_count="$project->applications->count()" />
|
<livewire:project.delete-project :project_id="$project->id" :resource_count="$project->applications->count()" />
|
||||||
</div>
|
</div>
|
||||||
<div class="pb-10 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>{{ $project->name }} </li>
|
<li class="inline-flex items-center">
|
||||||
</ul>
|
{{ $project->name }}
|
||||||
</div>
|
</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
<div class="grid grid-cols-2 gap-2">
|
<div class="grid grid-cols-2 gap-2">
|
||||||
@forelse ($project->environments as $environment)
|
@forelse ($project->environments as $environment)
|
||||||
<a class="box" href="{{ route('project.resources', [$project->uuid, $environment->name]) }}">
|
<a class="box" href="{{ route('project.resources', [$project->uuid, $environment->name]) }}">
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
<x-layout>
|
<x-layout>
|
||||||
<h1>Projects</h1>
|
<h1>Projects</h1>
|
||||||
<div class="pb-10 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>
|
<li class="inline-flex items-center">
|
||||||
All Projects
|
All Projects
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
|
||||||
</div>
|
</ol>
|
||||||
|
</nav>
|
||||||
<div class="grid grid-cols-2 gap-2">
|
<div class="grid grid-cols-2 gap-2">
|
||||||
@forelse ($projects as $project)
|
@forelse ($projects as $project)
|
||||||
<a href="{{ route('project.show', ['project_uuid' => data_get($project, 'uuid')]) }}"
|
<a href="{{ route('project.show', ['project_uuid' => data_get($project, 'uuid')]) }}"
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<x-layout>
|
<x-layout>
|
||||||
<h1>Servers</h1>
|
<h1>Servers</h1>
|
||||||
<div class="pb-10 text-sm breadcrumbs">
|
<nav class="flex pt-2 pb-10 text-sm">
|
||||||
<ul>
|
<ol class="inline-flex items-center">
|
||||||
<li>
|
<li class="inline-flex items-center">
|
||||||
All Servers
|
All Servers
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ol>
|
||||||
</div>
|
</nav>
|
||||||
<div class="grid grid-cols-2 gap-2">
|
<div class="grid grid-cols-2 gap-2">
|
||||||
@forelse ($servers as $server)
|
@forelse ($servers as $server)
|
||||||
<a class="text-center hover:no-underline box group"
|
<a class="text-center hover:no-underline box group"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { defineConfig } from 'vite';
|
import { defineConfig } from "vite";
|
||||||
import laravel from 'laravel-vite-plugin';
|
import laravel from "laravel-vite-plugin";
|
||||||
import vue from '@vitejs/plugin-vue';
|
import vue from "@vitejs/plugin-vue";
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
server: {
|
server: {
|
||||||
@ -23,10 +23,7 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
laravel({
|
laravel({
|
||||||
input: [
|
input: ["resources/css/app.css", "resources/js/app.js"],
|
||||||
'resources/css/app.css',
|
|
||||||
'resources/js/app.js',
|
|
||||||
],
|
|
||||||
refresh: true,
|
refresh: true,
|
||||||
}),
|
}),
|
||||||
vue({
|
vue({
|
||||||
@ -40,7 +37,7 @@ export default defineConfig({
|
|||||||
],
|
],
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
vue: 'vue/dist/vue.esm-bundler.js',
|
vue: "vue/dist/vue.esm-bundler.js",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user