wip: migrate to livewire 3

This commit is contained in:
Andras Bacsai
2023-12-07 19:06:32 +01:00
parent 2f286a6595
commit 718603e37e
254 changed files with 930 additions and 936 deletions

View File

@@ -88,7 +88,7 @@
wire:click="setPrivateKey('create')">No (create one for me)
</x-forms.button>
@if (count($privateKeys) > 0)
<form wire:submit.prevent='selectExistingPrivateKey' class="flex flex-col w-full gap-4 pr-10">
<form wire:submit='selectExistingPrivateKey' class="flex flex-col w-full gap-4 pr-10">
<x-forms.select label="Existing SSH Keys" id='selectedExistingPrivateKey'>
@foreach ($privateKeys as $privateKey)
<option wire:key="{{ $loop->index }}" value="{{ $privateKey->id }}">
@@ -120,7 +120,7 @@
<x-forms.button class="justify-center box" wire:click="createNewServer">No (create one for me)
</x-forms.button>
<div>
<form wire:submit.prevent='selectExistingServer' class="flex flex-col w-full gap-4 lg:w-96">
<form wire:submit='selectExistingServer' class="flex flex-col w-full gap-4 lg:w-96">
<x-forms.select label="Existing servers" class="w-96" id='selectedExistingServer'>
@foreach ($servers as $server)
<option wire:key="{{ $loop->index }}" value="{{ $server->id }}">
@@ -159,7 +159,7 @@
Please let me know your key details.
</x-slot:question>
<x-slot:actions>
<form wire:submit.prevent='savePrivateKey' class="flex flex-col w-full gap-4 pr-10">
<form wire:submit='savePrivateKey' class="flex flex-col w-full gap-4 pr-10">
<x-forms.input required placeholder="Choose a name for your Private Key. Could be anything."
label="Name" id="privateKeyName" />
<x-forms.input placeholder="Description, so others will know more about this."
@@ -192,7 +192,7 @@
Please let me know your server details.
</x-slot:question>
<x-slot:actions>
<form wire:submit.prevent='saveServer' class="flex flex-col w-full gap-4 pr-10">
<form wire:submit='saveServer' class="flex flex-col w-full gap-4 pr-10">
<div class="flex gap-2">
<x-forms.input required placeholder="Choose a name for your Server. Could be anything."
label="Name" id="remoteServerName" />
@@ -291,8 +291,7 @@
one!</x-forms.button>
<div>
@if (count($projects) > 0)
<form wire:submit.prevent='selectExistingProject'
class="flex flex-col w-full gap-4 lg:w-96">
<form wire:submit='selectExistingProject' class="flex flex-col w-full gap-4 lg:w-96">
<x-forms.select label="Existing projects" class="w-96"
id='selectedExistingProject'>
@foreach ($projects as $project)

View File

@@ -1,4 +1,4 @@
<form wire:submit.prevent='submit' class="flex flex-col gap-2">
<form wire:submit='submit' class="flex flex-col gap-2">
<div>
@if ($settings->is_resale_license_active)
<div class="text-success">License is active</div>

View File

@@ -27,17 +27,16 @@
<div class="grid grid-cols-1 gap-2 xl:grid-cols-2">
@endif
@foreach ($projects as $project)
<div class="gap-2 border border-transparent cursor-pointer box group" x-data
x-on:click="gotoProject('{{ $project->uuid }}','{{ data_get($project, 'environments.0.name', 'production') }}')">
<div class="gap-2 border border-transparent cursor-pointer box group">
@if (data_get($project, 'environments.0.name'))
<a class="flex flex-col flex-1 mx-6 hover:no-underline"
<a wire:navigate class="flex flex-col flex-1 mx-6 hover:no-underline"
href="{{ route('project.resources', ['project_uuid' => data_get($project, 'uuid'), 'environment_name' => data_get($project, 'environments.0.name', 'production')]) }}">
<div class="font-bold text-white">{{ $project->name }}</div>
<div class="description">
{{ $project->description }}</div>
</a>
@else
<a class="flex flex-col flex-1 mx-6 hover:no-underline"
<a wire:navigate class="flex flex-col flex-1 mx-6 hover:no-underline"
href="{{ route('project.show', ['project_uuid' => data_get($project, 'uuid')]) }}">
<div class="font-bold text-white">{{ $project->name }}</div>
<div class="description">
@@ -45,11 +44,11 @@
</a>
@endif
<div class="flex items-center">
<a class="mx-4 rounded group-hover:text-white hover:no-underline"
<a wire:navigate class="mx-4 rounded group-hover:text-white hover:no-underline"
href="{{ route('project.resources.new', ['project_uuid' => data_get($project, 'uuid'), 'environment_name' => data_get($project, 'environments.0.name', 'production')]) }}">
<span class="font-bold hover:text-warning">+ New Resource</span>
</a>
<a class="mx-4 rounded group-hover:text-white"
<a wire:navigate class="mx-4 rounded group-hover:text-white"
href="{{ route('project.edit', ['project_uuid' => data_get($project, 'uuid')]) }}">
<svg xmlns="http://www.w3.org/2000/svg" class="icon hover:text-warning" viewBox="0 0 24 24"
stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round"
@@ -73,11 +72,12 @@
<div class="grid grid-cols-3 gap-2">
@endif
@foreach ($servers as $server)
<a href="{{ route('server.show', ['server_uuid' => data_get($server, 'uuid')]) }}" @class([
'gap-2 border cursor-pointer box group',
'border-transparent' => $server->settings->is_reachable,
'border-red-500' => !$server->settings->is_reachable,
])>
<a wire:navigate href="{{ route('server.show', ['server_uuid' => data_get($server, 'uuid')]) }}"
@class([
'gap-2 border cursor-pointer box group',
'border-transparent' => $server->settings->is_reachable,
'border-red-500' => !$server->settings->is_reachable,
])>
<div class="flex flex-col mx-6">
<div class="font-bold text-white">
{{ $server->name }}

View File

@@ -1,7 +1,7 @@
<div>
<h1>Create a new Destination</h1>
<div class="subtitle ">Destinations are used to segregate resources by network.</div>
<form class="flex flex-col gap-4" wire:submit.prevent='submit'>
<form class="flex flex-col gap-4" wire:submit='submit'>
<div class="flex gap-2">
<x-forms.input id="name" label="Name" required />
<x-forms.input id="network" label="Network" required />

View File

@@ -23,17 +23,16 @@
<h3 class="pb-4">Found Destinations</h3>
@endif
<div class="flex flex-wrap gap-2 ">
@foreach ($networks as $network)
<div >
<a
href="{{ route('destination.new', ['server_id' => $server->id, 'network_name' => data_get($network, 'Name')]) }}">
<x-forms.button >+<x-highlighted text="{{ data_get($network, 'Name') }}" />
</x-forms.button>
</a>
@foreach ($networks as $network)
<div>
<a
href="{{ route('destination.new', ['server_id' => $server->id, 'network_name' => data_get($network, 'Name')]) }}">
<x-forms.button>+<x-highlighted text="{{ data_get($network, 'Name') }}" />
</x-forms.button>
</a>
</div>
@endforeach
</div>
@endforeach
</div>
</div>
@else
<div>Server is not validated. Validate first.</div>

View File

@@ -1,6 +1,6 @@
<div>
<h2>S3 Test</h2>
<form wire:submit.prevent="save">
<form wire:submit="save">
<input type="file" wire:model="file">
@error('file')
<span class="error">{{ $message }}</span>

View File

@@ -8,10 +8,11 @@
<div class="flex items-center justify-center pb-4 text-center">
<h2>Set your initial password</h2>
</div>
<form class="flex flex-col gap-2" wire:submit.prevent='submit'>
<form class="flex flex-col gap-2" wire:submit='submit'>
<x-forms.input id="email" type="email" placeholder="Email" readonly label="Email" />
<x-forms.input id="password" type="password" placeholder="New Password" label="New Password" required />
<x-forms.input id="password_confirmation" type="password" placeholder="Confirm New Password" label="Confirm New Password" required />
<x-forms.input id="password_confirmation" type="password" placeholder="Confirm New Password"
label="Confirm New Password" required />
<x-forms.button type="submit">Reset Password</x-forms.button>
</form>
</div>

View File

@@ -1,7 +1,7 @@
<div class="flex flex-col w-11/12 max-w-5xl gap-2 modal-box">
<h3>How can we help?</h3>
<div>Your feedback helps us to improve Coolify. Thank you! 💜</div>
<form wire:submit.prevent="submit" class="flex flex-col gap-4 pt-4">
<form wire:submit="submit" class="flex flex-col gap-4 pt-4">
<x-forms.input id="subject" label="Subject" placeholder="Summary of your problem."></x-forms.input>
<x-forms.textarea rows="10" id="description" label="Description"
placeholder="Please provide as much information as possible."></x-forms.textarea>

View File

@@ -1,4 +1,4 @@
<form x-data="{ raw: true }" class="custom-modal" wire:submit.prevent='submit'>
<form x-data="{ raw: true }" class="custom-modal" wire:submit='submit'>
<div class="flex items-end gap-2">
<h1>Docker Compose</h1>
<div x-cloak x-show="raw">

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent='submit' class="flex flex-col">
<form wire:submit='submit' class="flex flex-col">
<div class="flex items-center gap-2">
<h2>Discord</h2>
<x-forms.button type="submit">

View File

@@ -1,6 +1,6 @@
<div>
<dialog id="sendTestEmail" class="modal">
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit.prevent='submit'>
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit='submit'>
<x-forms.input placeholder="test@example.com" id="emails" label="Recepients" required />
<x-forms.button onclick="sendTestEmail.close()" wire:click="sendTestNotification">
Send Email
@@ -10,7 +10,7 @@
<button>close</button>
</form>
</dialog>
<form wire:submit.prevent='submit' class="flex flex-col">
<form wire:submit='submit' class="flex flex-col">
<div class="flex items-center gap-2">
<h2>Email</h2>
<x-forms.button type="submit">
@@ -51,7 +51,7 @@
</div>
@endif
@if (!$team->use_instance_email_settings)
<form class="flex flex-col items-end gap-2 pb-4 xl:flex-row" wire:submit.prevent='submitFromFields'>
<form class="flex flex-col items-end gap-2 pb-4 xl:flex-row" wire:submit='submitFromFields'>
<x-forms.input required id="team.smtp_from_name" helper="Name used in emails." label="From Name" />
<x-forms.input required id="team.smtp_from_address" helper="Email address used in emails."
label="From Address" />
@@ -65,7 +65,7 @@
<div class="w-32">
<x-forms.checkbox instantSave id="team.smtp_enabled" label="Enabled" />
</div>
<form wire:submit.prevent='submit' class="flex flex-col">
<form wire:submit='submit' class="flex flex-col">
<div class="flex flex-col gap-4">
<div class="flex flex-col w-full gap-2 xl:flex-row">
<x-forms.input required id="team.smtp_host" placeholder="smtp.mailgun.org" label="Host" />
@@ -92,7 +92,7 @@
<div class="w-32">
<x-forms.checkbox instantSave='instantSaveResend' id="team.resend_enabled" label="Enabled" />
</div>
<form wire:submit.prevent='submitResend' class="flex flex-col">
<form wire:submit='submitResend' class="flex flex-col">
<div class="flex flex-col gap-4">
<div class="flex flex-col w-full gap-2 xl:flex-row">
<x-forms.input required type="password" id="team.resend_api_key" placeholder="API key"

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent='submit' class="flex flex-col">
<form wire:submit='submit' class="flex flex-col">
<div class="flex items-center gap-2">
<h2>Telegram</h2>
<x-forms.button type="submit">
@@ -19,43 +19,43 @@
<x-forms.input type="password"
helper="Get it from the <a class='inline-block text-white underline' href='https://t.me/botfather' target='_blank'>BotFather Bot</a> on Telegram."
required id="team.telegram_token" label="Token" />
<x-forms.input
helper="Recommended to add your bot to a group chat and add its Chat ID here." required
<x-forms.input helper="Recommended to add your bot to a group chat and add its Chat ID here." required
id="team.telegram_chat_id" label="Chat ID" />
</div>
@if (data_get($team, 'telegram_enabled'))
<h2 class="mt-4">Subscribe to events</h2>
<div class="w-96">
@if (isDev())
@if (data_get($team, 'telegram_enabled'))
<h2 class="mt-4">Subscribe to events</h2>
<div class="w-96">
@if (isDev())
<div class="w-64">
<x-forms.checkbox instantSave="saveModel" id="team.telegram_notifications_test"
label="Test" />
<x-forms.input
helper="If you are using Group chat with Topics, you can specify the topics ID. If empty, General topic will be used."
id="team.telegram_notifications_test_message_thread_id" label="Custom Topic ID" />
</div>
@endif
<div class="w-64">
<x-forms.checkbox instantSave="saveModel" id="team.telegram_notifications_test" label="Test" />
<x-forms.checkbox instantSave="saveModel" id="team.telegram_notifications_status_changes"
label="Container Status Changes" />
<x-forms.input
helper="If you are using Group chat with Topics, you can specify the topics ID. If empty, General topic will be used."
id="team.telegram_notifications_test_message_thread_id" label="Custom Topic ID" />
id="team.telegram_notifications_status_changes_message_thread_id" label="Custom Topic ID" />
</div>
<div class="w-64">
<x-forms.checkbox instantSave="saveModel" id="team.telegram_notifications_deployments"
label="Application Deployments" />
<x-forms.input
helper="If you are using Group chat with Topics, you can specify the topics ID. If empty, General topic will be used."
id="team.telegram_notifications_deployments_message_thread_id" label="Custom Topic ID" />
</div>
<div class="w-64">
<x-forms.checkbox instantSave="saveModel" id="team.telegram_notifications_database_backups"
label="Backup Status" />
<x-forms.input
helper="If you are using Group chat with Topics, you can specify the topics ID. If empty, General topic will be used."
id="team.telegram_notifications_database_backups_message_thread_id" label="Custom Topic ID" />
</div>
@endif
<div class="w-64">
<x-forms.checkbox instantSave="saveModel" id="team.telegram_notifications_status_changes"
label="Container Status Changes" />
<x-forms.input
helper="If you are using Group chat with Topics, you can specify the topics ID. If empty, General topic will be used."
id="team.telegram_notifications_status_changes_message_thread_id" label="Custom Topic ID" />
</div>
<div class="w-64">
<x-forms.checkbox instantSave="saveModel" id="team.telegram_notifications_deployments"
label="Application Deployments" />
<x-forms.input
helper="If you are using Group chat with Topics, you can specify the topics ID. If empty, General topic will be used."
id="team.telegram_notifications_deployments_message_thread_id" label="Custom Topic ID" />
</div>
<div class="w-64">
<x-forms.checkbox instantSave="saveModel" id="team.telegram_notifications_database_backups"
label="Backup Status" />
<x-forms.input
helper="If you are using Group chat with Topics, you can specify the topics ID. If empty, General topic will be used."
id="team.telegram_notifications_database_backups_message_thread_id" label="Custom Topic ID" />
</div>
</div>
@endif
</form>
</div>

View File

@@ -4,7 +4,7 @@
<p>This private key will be deleted. It is not reversible. <br>Please think again.</p>
</x-slot:modalBody>
</x-modal>
<form class="flex flex-col gap-2" wire:submit.prevent='changePrivateKey'>
<form class="flex flex-col gap-2" wire:submit='changePrivateKey'>
<div class="flex items-end gap-2">
<h2>Private Key</h2>
<x-forms.button type="submit">

View File

@@ -1,6 +1,6 @@
<div>
<x-forms.button class="mb-4" wire:click="generateNewKey">Generate new SSH key for me</x-forms.button>
<form class="flex flex-col gap-2" wire:submit.prevent='createPrivateKey'>
<form class="flex flex-col gap-2" wire:submit='createPrivateKey'>
<div class="flex gap-2">
<x-forms.input id="name" label="Name" required />
<x-forms.input id="description" label="Description" />

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent='submit' class="flex flex-col">
<form wire:submit='submit' class="flex flex-col">
<div class="flex items-center gap-2">
<h2>General</h2>
<x-forms.button type="submit" label="Save">Save</x-forms.button>

View File

@@ -1,5 +1,5 @@
<dialog id="newEmptyProject" class="modal">
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit.prevent='submit'>
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit='submit'>
<x-forms.input placeholder="Your Cool Project" id="name" label="Name" required />
<x-forms.input placeholder="This is my cool project everyone knows about" id="description" label="Description" />
<x-forms.button onclick="newEmptyProject.close()" type="submit">

View File

@@ -1,5 +1,5 @@
<dialog id="newEnvironment" class="modal">
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit.prevent='submit'>
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit='submit'>
<x-forms.input placeholder="production" id="name" label="Name" required />
<x-forms.button onclick="newEnvironment.close()" type="submit">
Save

View File

@@ -23,7 +23,7 @@
<x-forms.checkbox instantSave id="application.settings.is_git_lfs_enabled" label="Git LFS"
helper="Allow Git LFS during build process." />
@endif
<form wire:submit.prevent="submit">
<form wire:submit="submit">
@if ($application->build_pack !== 'dockercompose')
<div class="flex gap-2">
<x-forms.checkbox

View File

@@ -57,39 +57,39 @@
<livewire:project.application.general :application="$application" />
</div>
<div x-cloak x-show="activeTab === 'advanced'" class="h-full">
<livewire:project.application.advanced :application="$application" />
<livewire:project.application.advanced :application="$application" lazy />
</div>
<div x-cloak x-show="activeTab === 'environment-variables'">
<livewire:project.shared.environment-variable.all :resource="$application" />
<livewire:project.shared.environment-variable.all :resource="$application" lazy />
</div>
@if ($application->git_based())
<div x-cloak x-show="activeTab === 'source'">
<livewire:project.application.source :application="$application" />
<livewire:project.application.source :application="$application" lazy />
</div>
@endif
<div x-cloak x-show="activeTab === 'server'">
<livewire:project.shared.destination :resource="$application" :servers="$servers" />
<livewire:project.shared.destination :resource="$application" :servers="$servers" lazy />
</div>
<div x-cloak x-show="activeTab === 'storages'">
<livewire:project.service.storage :resource="$application" />
<livewire:project.service.storage :resource="$application" lazy />
</div>
<div x-cloak x-show="activeTab === 'webhooks'">
<livewire:project.shared.webhooks :resource="$application" />
<livewire:project.shared.webhooks :resource="$application" lazy />
</div>
<div x-cloak x-show="activeTab === 'previews'">
<livewire:project.application.previews :application="$application" />
<livewire:project.application.previews :application="$application" lazy />
</div>
<div x-cloak x-show="activeTab === 'health'">
<livewire:project.shared.health-checks :resource="$application" />
<livewire:project.shared.health-checks :resource="$application" lazy />
</div>
<div x-cloak x-show="activeTab === 'rollback'">
<livewire:project.application.rollback :application="$application" />
<livewire:project.application.rollback :application="$application" lazy />
</div>
<div x-cloak x-show="activeTab === 'resource-limits'">
<livewire:project.shared.resource-limits :resource="$application" />
<livewire:project.shared.resource-limits :resource="$application" lazy />
</div>
<div x-cloak x-show="activeTab === 'danger'">
<livewire:project.shared.danger :resource="$application" />
<livewire:project.shared.danger :resource="$application" lazy />
</div>
</div>
</div>

View File

@@ -11,12 +11,11 @@
<x-forms.button type="submit">Filter</x-forms.button>
</form>
@forelse ($deployments as $deployment)
<a @class([
<a wire:navigate @class([
'bg-coolgray-100 p-2 border-l border-dashed transition-colors hover:no-underline',
'hover:bg-coolgray-200' =>
data_get($deployment, 'status') === 'queued',
'hover:bg-coolgray-200' => data_get($deployment, 'status') === 'queued',
'border-warning hover:bg-warning hover:text-black' =>
data_get($deployment, 'status') === 'in_progress' ||
data_get($deployment, 'status') === 'in_progress' ||
data_get($deployment, 'status') === 'cancelled-by-user',
'border-error hover:bg-error' =>
data_get($deployment, 'status') === 'failed',

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent='submit' class="flex flex-col">
<form wire:submit='submit' class="flex flex-col">
<div class="flex items-center gap-2">
<h2>General</h2>
<x-forms.button type="submit">

View File

@@ -1,4 +1,4 @@
<form wire:submit.prevent='submit'>
<form wire:submit='submit'>
<div class="flex items-center gap-2">
<h2>Preview Deployments</h2>
<x-forms.button type="submit">Save</x-forms.button>

View File

@@ -66,7 +66,8 @@
</a>
@endif
|
<a target="_blank" href="{{ data_get($preview, 'pull_request_html_url') }}">Open PR on Git
<a target="_blank" href="{{ data_get($preview, 'pull_request_html_url') }}">Open
PR on Git
<x-external-link />
</a>
</div>

View File

@@ -3,7 +3,8 @@
<h2>Rollback</h2>
<x-forms.button wire:click='loadImages(true)'>Reload Available Images</x-forms.button>
</div>
<div class="pb-4 ">You can easily rollback to a previously built <span class="text-warning">(local)</span> images quickly.</div>
<div class="pb-4 ">You can easily rollback to a previously built <span class="text-warning">(local)</span> images
quickly.</div>
<div wire:target='loadImages'>
<div class="flex flex-wrap">
@forelse ($images as $image)
@@ -25,7 +26,8 @@
Rollback
</x-forms.button>
@else
<x-forms.button class="bg-coolgray-100" wire:click="rollbackImage('{{ data_get($image, 'tag') }}')">
<x-forms.button class="bg-coolgray-100"
wire:click="rollbackImage('{{ data_get($image, 'tag') }}')">
Rollback
</x-forms.button>
@endif

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent='submit' class="flex flex-col">
<form wire:submit='submit' class="flex flex-col">
<div class="flex items-center gap-2">
<h2>Source</h2>
<x-forms.button type="submit">Save</x-forms.button>

View File

@@ -1,4 +1,4 @@
<form wire:submit.prevent='clone'>
<form wire:submit='clone'>
<div class="flex flex-col">
<div class="flex gap-2">
<h1>Clone</h1>

View File

@@ -1,4 +1,4 @@
<form wire:submit.prevent="submit">
<form wire:submit="submit">
<div class="flex gap-2 pb-2">
<h2>Scheduled Backup</h2>
<x-forms.button type="submit">

View File

@@ -1,5 +1,5 @@
<dialog id="createScheduledBackup" class="modal">
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit.prevent='submit'>
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit='submit'>
<h2>New Backup</h2>
<x-forms.input placeholder="0 0 * * * or daily" id="frequency" label="Frequency" required />
<h3>S3 Storage</h3>

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent="submit">
<form wire:submit="submit">
<div class="flex items-end gap-2">
<x-forms.input id="filename" label="Filename" />
<x-forms.button type="submit">Save</x-forms.button>

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent="submit" class="flex flex-col gap-2">
<form wire:submit="submit" class="flex flex-col gap-2">
<div class="flex items-center gap-2">
<h2>General</h2>
<x-forms.button type="submit">

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent="submit" class="flex flex-col gap-2">
<form wire:submit="submit" class="flex flex-col gap-2">
<div class="flex items-center gap-2">
<h2>General</h2>
<x-forms.button type="submit">

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent="submit" class="flex flex-col gap-2">
<form wire:submit="submit" class="flex flex-col gap-2">
<div class="flex items-center gap-2">
<h2>General</h2>
<x-forms.button type="submit">

View File

@@ -1,6 +1,6 @@
<div>
<dialog id="newInitScript" class="modal">
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit.prevent='save_new_init_script'>
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit='save_new_init_script'>
<h3 class="text-lg font-bold">Add Init Script</h3>
<x-forms.input placeholder="create_test_db.sql" id="new_filename" label="Filename" required />
<x-forms.textarea placeholder="CREATE DATABASE test;" id="new_content" label="Content" required />
@@ -13,7 +13,7 @@
</form>
</dialog>
<form wire:submit.prevent="submit" class="flex flex-col gap-2">
<form wire:submit="submit" class="flex flex-col gap-2">
<div class="flex items-center gap-2">
<h2>General</h2>
<x-forms.button type="submit">
@@ -76,8 +76,8 @@
</form>
<h3 class="pt-4">Advanced</h3>
<div class="flex flex-col">
<x-forms.checkbox helper="Drain logs to your configured log drain endpoint in your Server settings." instantSave="instantSaveAdvanced"
id="database.is_log_drain_enabled" label="Drain Logs" />
<x-forms.checkbox helper="Drain logs to your configured log drain endpoint in your Server settings."
instantSave="instantSaveAdvanced" id="database.is_log_drain_enabled" label="Drain Logs" />
</div>
<div class="pb-16">
<div class="flex gap-2 pt-4 pb-2">

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent="submit" class="flex flex-col gap-2">
<form wire:submit="submit" class="flex flex-col gap-2">
<div class="flex items-center gap-2">
<h2>General</h2>
<x-forms.button type="submit">

View File

@@ -13,8 +13,7 @@
'border-coollabs' =>
data_get($backup, 'id') === data_get($selectedBackup, 'id'),
'flex flex-col box border-l-2 border-transparent',
])
wire:click="setSelectedBackup('{{ data_get($backup, 'id') }}')">
]) wire:click="setSelectedBackup('{{ data_get($backup, 'id') }}')">
<div>Frequency: {{ $backup->frequency }}</div>
<div>Last backup: {{ data_get($backup->latest_log, 'status', 'No backup yet') }}</div>
<div>Number of backups to keep (locally): {{ $backup->number_of_backups_locally }}</div>

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent='submit' class="flex flex-col gap-2 ">
<form wire:submit='submit' class="flex flex-col gap-2 ">
<div class="flex items-end gap-2">
<h1>Project: {{ data_get($project, 'name') }}</h1>
<x-forms.button type="submit">Save</x-forms.button>

View File

@@ -1,7 +1,7 @@
<div>
<h1>Create a new Service</h1>
<div class="pb-4">You can deploy complex services easily with Docker Compose.</div>
<form wire:submit.prevent="submit">
<form wire:submit="submit">
<div class="flex gap-2 pb-1">
<h2>Docker Compose</h2>
<x-forms.button type="submit">Save</x-forms.button>

View File

@@ -1,7 +1,7 @@
<div>
<h1>Create a new Application</h1>
<div class="pb-4">You can deploy an existing Docker Image from any Registry.</div>
<form wire:submit.prevent="submit">
<form wire:submit="submit">
<div class="flex gap-2 pb-1">
<h2>Docker Image</h2>
<x-forms.button type="submit">Save</x-forms.button>

View File

@@ -40,7 +40,7 @@
<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'>
<form class="flex flex-col gap-2 pb-6" wire:submit='submit'>
<div class="flex gap-2">
<x-forms.input id="repository_url" required label="Repository URL"
helper="{!! __('repository.url') !!}" />

View File

@@ -41,7 +41,7 @@
@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">
wire:model="selected_repository_id">
@foreach ($repositories as $repo)
@if ($loop->first)
<option selected value="{{ data_get($repo, 'id') }}">
@@ -67,7 +67,7 @@
@endif
@if ($branches->count() > 0)
<div class="flex flex-col gap-2 pb-6">
<form class="flex flex-col" wire:submit.prevent='submit'>
<form class="flex flex-col" wire:submit='submit'>
<div class="flex flex-col gap-2 pb-6">
<div class="flex gap-2">
<x-forms.select id="selected_branch_name" label="Branch">

View File

@@ -1,12 +1,11 @@
<div>
<h1>Create a new Application</h1>
<div class="pb-4">Deploy any public Git repositories.</div>
<form class="flex flex-col gap-2" wire:submit.prevent='load_branch'>
<form class="flex flex-col gap-2" wire:submit='load_branch'>
<div class="flex flex-col gap-2">
<div class="flex flex-col">
<div class="flex items-end gap-2">
<x-forms.input required id="repository_url" label="Repository URL"
helper="{!! __('repository.url') !!}" />
<x-forms.input required id="repository_url" label="Repository URL" helper="{!! __('repository.url') !!}" />
<x-forms.button type="submit">
Check repository
</x-forms.button>
@@ -16,7 +15,7 @@
<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 }} UTC" />
helper="Rate limit remaining: {{ $rate_limit_remaining }}<br>Rate limit reset at: {{ $rate_limit_reset }} UTC" />
</div>
@endif
<div class="flex flex-col gap-2 pb-6">

View File

@@ -90,7 +90,8 @@
New PostgreSQL
</div>
<div class="description">
PostgreSQL is an open-source, object-relational database management system known for its robustness, advanced features, and strong standards compliance.
PostgreSQL is an open-source, object-relational database management system known for its
robustness, advanced features, and strong standards compliance.
</div>
</div>
</div>
@@ -100,7 +101,8 @@
New Redis
</div>
<div class="description">
Redis is an open-source, in-memory data structure store used as a database, cache, and message broker, known for its high performance, flexibility, and rich data structures.
Redis is an open-source, in-memory data structure store used as a database, cache, and
message broker, known for its high performance, flexibility, and rich data structures.
</div>
</div>
</div>
@@ -110,7 +112,9 @@
New MongoDB
</div>
<div class="description">
MongoDB is a source-available, NoSQL database program that uses JSON-like documents with optional schemas, known for its flexibility, scalability, and wide range of application use cases.
MongoDB is a source-available, NoSQL database program that uses JSON-like documents with
optional schemas, known for its flexibility, scalability, and wide range of application use
cases.
</div>
</div>
</div>
@@ -120,7 +124,8 @@
New MySQL
</div>
<div class="description">
MySQL is an open-source relational database management system known for its speed, reliability, and flexibility in managing and accessing data.
MySQL is an open-source relational database management system known for its speed,
reliability, and flexibility in managing and accessing data.
</div>
</div>
</div>
@@ -130,7 +135,8 @@
New Mariadb
</div>
<div class="description">
MariaDB is an open-source relational database management system that serves as a drop-in replacement for MySQL, offering more robust, scalable, and reliable SQL server capabilities.
MariaDB is an open-source relational database management system that serves as a drop-in
replacement for MySQL, offering more robust, scalable, and reliable SQL server capabilities.
</div>
</div>
</div>
@@ -181,7 +187,7 @@
</div>
</button>
@endif
@empty
@empty
<div>No service found. Please try to reload the list!</div>
@endforelse
@endif
@@ -248,7 +254,7 @@
</div>
@endif
@if ($current_step === 'existing-postgresql')
<form wire:submit.prevent='addExistingPostgresql' class="flex items-end gap-2">
<form wire:submit='addExistingPostgresql' class="flex items-end gap-2">
<x-forms.input placeholder="postgres://username:password@database:5432" label="Database URL"
id="existingPostgresqlUrl" />
<x-forms.button type="submit">Add Database</x-forms.button>

View File

@@ -1,7 +1,7 @@
<div>
<h1>Create a new Application</h1>
<div class="pb-4">You can deploy a simple Dockerfile, without Git.</div>
<form wire:submit.prevent="submit">
<form wire:submit="submit">
<div class="flex gap-2 pb-1">
<h2>Dockerfile</h2>
<x-forms.button type="submit">Save</x-forms.button>

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent='submit'>
<form wire:submit='submit'>
<div class="flex items-center gap-2 pb-4">
@if ($application->human_name)
<h2>{{ Str::headline($application->human_name) }}</h2>

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent='submit'>
<form wire:submit='submit'>
<div class="flex items-center gap-2 pb-4">
@if ($database->human_name)
<h2>{{ Str::headline($database->human_name) }}</h2>

View File

@@ -1,9 +1,9 @@
<x-collapsible>
<x-slot:title>
<div>{{$workdir}}{{ $fs_path }} -> {{ $fileStorage->mount_path }}</div>
<div>{{ $workdir }}{{ $fs_path }} -> {{ $fileStorage->mount_path }}</div>
</x-slot:title>
<x-slot:action>
<form wire:submit.prevent='submit' class="flex flex-col gap-2">
<form wire:submit='submit' class="flex flex-col gap-2">
<div class="w-64">
<x-forms.checkbox instantSave label="Is directory?" id="fileStorage.is_directory"></x-forms.checkbox>
</div>

View File

@@ -1,4 +1,4 @@
<form wire:submit.prevent='submit' class="flex flex-col gap-4 pb-2">
<form wire:submit='submit' class="flex flex-col gap-4 pb-2">
<div class="flex gap-2">
<div>
<h2>Service Stack</h2>
@@ -6,7 +6,7 @@
</div>
<x-forms.button type="submit">Save</x-forms.button>
<x-forms.button class="w-64"
onclick="Livewire.emit('openModal', 'modals.edit-compose',{{ json_encode(['serviceId' => $service->id]) }})">Edit
onclick="Livewire.dispatch('openModal', {component: {component: 'modals.edit-compose', arguments: arguments: {{ json_encode(['serviceId' => $service->id]) }} } })">Edit
Compose
File</x-forms.button>
</div>

View File

@@ -13,7 +13,7 @@
<div>
<h3>Additional Servers</h3>
@foreach ($servers as $server)
<form wire:submit.prevent='submit' class="p-2 border border-coolgray-400">
<form wire:submit='submit' class="p-2 border border-coolgray-400">
<h4>{{ $server->name }}</h4>
<div class="text-sm text-coolgray-600">{{ $server->description }}</div>
<x-forms.checkbox id="additionalServers.{{ $loop->index }}.enabled" label="Enabled">

View File

@@ -1,5 +1,5 @@
<dialog id="newVariable" class="modal">
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit.prevent='submit'>
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit='submit'>
<h3 class="text-lg font-bold">Add Environment Variable</h3>
<x-forms.input placeholder="NODE_ENV" id="key" label="Name" required />
<x-forms.input placeholder="production" id="value" label="Value" required />

View File

@@ -27,12 +27,12 @@
@endforeach
@endif
@else
<form wire:submit.prevent='saveVariables(false)' class="flex flex-col gap-2">
<form wire:submit='saveVariables(false)' class="flex flex-col gap-2">
<x-forms.textarea rows=25 class="whitespace-pre-wrap" id="variables"></x-forms.textarea>
<x-forms.button type="submit" class="btn btn-primary">Save</x-forms.button>
</form>
@if ($showPreview)
<form wire:submit.prevent='saveVariables(true)' class="flex flex-col gap-2">
<form wire:submit='saveVariables(true)' class="flex flex-col gap-2">
<x-forms.textarea rows=25 class="whitespace-pre-wrap" label="Preview Environment Variables"
id="variablesPreview"></x-forms.textarea>
<x-forms.button type="submit" class="btn btn-primary">Save</x-forms.button>

View File

@@ -5,7 +5,8 @@
class="font-bold text-warning">({{ $env->key }})</span>?</p>
</x-slot:modalBody>
</x-modal>
<form wire:submit.prevent='submit' class="flex flex-col gap-2 p-4 m-2 border lg:items-center border-coolgray-300 lg:m-0 lg:p-0 lg:border-0 lg:flex-row">
<form wire:submit='submit'
class="flex flex-col gap-2 p-4 m-2 border lg:items-center border-coolgray-300 lg:m-0 lg:p-0 lg:border-0 lg:flex-row">
@if ($isLocked)
<svg class="icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">

View File

@@ -2,6 +2,8 @@
@if ($type === 'application')
<h1>Execute Command</h1>
<livewire:project.application.heading :application="$resource" />
<h2 class="pt-4">Command Details</h2>
<div class="pb-2">Run any one-shot command inside a container.</div>
@elseif ($type === 'database')
<h1>Execute Command</h1>
<livewire:project.database.heading :database="$resource" />
@@ -9,7 +11,7 @@
<h2>Execute Command</h2>
@endif
@if (count($containers) > 0)
<form class="flex flex-col gap-2 pt-4" wire:submit.prevent='runCommand'>
<form class="flex flex-col gap-2 pt-4" wire:submit='runCommand'>
<div class="flex gap-2">
<x-forms.input placeholder="ls -l" autofocus id="command" label="Command" required />
<x-forms.input id="workDir" label="Working directory" />

View File

@@ -1,6 +1,6 @@
<div x-init="$wire.getLogs">
<div class="flex gap-2">
<h4>Container: {{$container}}</h4>
<h4>Container: {{ $container }}</h4>
@if ($streamLogs)
<span wire:poll.2000ms='getLogs(true)' class="loading loading-xs text-warning loading-spinner"></span>
@endif
@@ -9,7 +9,7 @@
<x-forms.checkbox instantSave label="Stream Logs" id="streamLogs"></x-forms.checkbox>
<x-forms.checkbox instantSave label="Include Timestamps" id="showTimeStamps"></x-forms.checkbox>
</div>
<form wire:submit.prevent='getLogs(true)' class="flex items-end gap-2">
<form wire:submit='getLogs(true)' class="flex items-end gap-2">
<x-forms.input label="Only Show Number of Lines" placeholder="1000" required id="numberOfLines"></x-forms.input>
<x-forms.button type="submit">Refresh</x-forms.button>
</form>

View File

@@ -1,4 +1,4 @@
<form wire:submit.prevent='submit' class="flex flex-col">
<form wire:submit='submit' class="flex flex-col">
<div class="flex items-center gap-2">
<h2>Healthchecks</h2>
<x-forms.button type="submit">Save</x-forms.button>

View File

@@ -1,4 +1,4 @@
<x-layout>
<div>
@if ($type === 'application')
<h1>Logs</h1>
<livewire:project.application.heading :application="$resource" />
@@ -28,8 +28,9 @@
</a>
</div>
<div class="flex-1 pl-8">
<livewire:project.shared.get-logs :server="$server" :resource="$resource" :servicesubtype="$serviceSubType" :container="$container" />
<livewire:project.shared.get-logs :server="$server" :resource="$resource" :servicesubtype="$serviceSubType"
:container="$container" />
</div>
</div>
@endif
</x-layout>
</div>

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent='submit' class="flex flex-col">
<form wire:submit='submit' class="flex flex-col">
<div class="flex items-center gap-2 ">
<h2>Resource Limits</h2>
<x-forms.button type='submit'>Save</x-forms.button>

View File

@@ -1,5 +1,5 @@
<dialog id="newStorage" class="modal">
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit.prevent='submit'>
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit='submit'>
<h3 class="text-lg font-bold">Add Storage Volume</h3>
<x-forms.input placeholder="pv-name" id="name" label="Name" required />
<x-forms.input placeholder="/root" id="host_path" label="Source Path" />

View File

@@ -2,8 +2,8 @@
<div class="flex flex-col gap-4">
@foreach ($resource->persistentStorages as $storage)
@if ($resource->type() === 'service')
<livewire:project.shared.storages.show wire:key="storage-{{ $storage->id }}" :storage="$storage" :isFirst="$loop->first"
isReadOnly='true' />
<livewire:project.shared.storages.show wire:key="storage-{{ $storage->id }}" :storage="$storage"
:isFirst="$loop->first" isReadOnly='true' />
@else
<livewire:project.shared.storages.show wire:key="storage-{{ $storage->id }}" :storage="$storage" />
@endif

View File

@@ -7,7 +7,7 @@
</x-slot:modalBody>
</x-modal>
<form wire:submit.prevent='submit' class="flex flex-col gap-2 xl:items-end xl:flex-row">
<form wire:submit='submit' class="flex flex-col gap-2 xl:items-end xl:flex-row">
@if ($isReadOnly)
@if ($isFirst)
<x-forms.input id="storage.name" label="Volume Name" required readonly />

View File

@@ -13,7 +13,7 @@
<div>
<h3>Manual Git Webhooks</h3>
@if ($githubManualWebhook && $gitlabManualWebhook)
<form wire:submit.prevent='saveSecret' class="flex flex-col gap-2">
<form wire:submit='saveSecret' class="flex flex-col gap-2">
<div class="flex items-end gap-2">
<x-forms.input helper="Content Type in GitHub configuration could be json or form-urlencoded."
readonly label="GitHub" id="githubManualWebhook"></x-forms.input>

View File

@@ -1,5 +1,5 @@
<div>
<form class="flex flex-col justify-center gap-2 xl:items-end xl:flex-row" wire:submit.prevent='runCommand'>
<form class="flex flex-col justify-center gap-2 xl:items-end xl:flex-row" wire:submit='runCommand'>
<x-forms.input placeholder="ls -l" autofocus id="command" label="Command" required />
<x-forms.select label="Server" id="server" required>
@foreach ($servers as $server)

View File

@@ -7,7 +7,7 @@
</div>
<h4>Create New Token</h4>
<span>Currently active team: <span class="text-warning">{{ session('currentTeam.name') }}</span></span>
<form class="flex items-end gap-2 pt-4" wire:submit.prevent='addNewToken'>
<form class="flex items-end gap-2 pt-4" wire:submit='addNewToken'>
<x-forms.input required id="description" label="Description" />
<x-forms.button type="submit">Create New Token</x-forms.button>
</form>

View File

@@ -5,7 +5,7 @@
running on.<br>Please think again.</p>
</x-slot:modalBody>
</x-modal>
<form wire:submit.prevent='submit' class="flex flex-col">
<form wire:submit='submit' class="flex flex-col">
<div class="flex gap-2">
<h2>General</h2>
@if ($server->id === 0)
@@ -13,7 +13,6 @@
@else
<x-forms.button type="submit">Save</x-forms.button>
@endif
</div>
@if (!$server->isFunctional())
You can't use this server until it is validated.
@@ -56,7 +55,7 @@
@endif
{{-- <x-forms.checkbox instantSave type="checkbox" id="server.settings.is_swarm_manager"
label="Is it a Swarm Manager?" /> --}}
{{-- <x-forms.checkbox instantSave type="checkbox" id="server.settings.is_swarm_worker"
{{-- <x-forms.checkbox instantSave type="checkbox" id="server.settings.is_swarm_worker"
label="Is it a Swarm Worker?" /> --}}
</div>
</div>

View File

@@ -4,7 +4,7 @@
<div class="pb-4">Sends service logs to 3rd party tools.</div>
<div class="flex flex-col gap-4 pt-4">
<div class="p-4 border border-coolgray-500">
<form wire:submit.prevent='submit("newrelic")' class="flex flex-col">
<form wire:submit='submit("newrelic")' class="flex flex-col">
<h3>New Relic</h3>
<div class="w-32">
<x-forms.checkbox instantSave='instantSave("newrelic")'
@@ -30,7 +30,7 @@
<x-forms.checkbox instantSave='instantSave("axiom")' id="server.settings.is_logdrain_axiom_enabled"
label="Enabled" />
</div>
<form wire:submit.prevent='submit("axiom")' class="flex flex-col">
<form wire:submit='submit("axiom")' class="flex flex-col">
<div class="flex flex-col gap-4">
<div class="flex flex-col w-full gap-2 xl:flex-row">
<x-forms.input type="password" required id="server.settings.logdrain_axiom_api_key"
@@ -49,7 +49,7 @@
<x-forms.checkbox instantSave='instantSave("highlight")'
id="server.settings.is_logdrain_highlight_enabled" label="Enabled" />
</div>
<form wire:submit.prevent='submit("highlight")' class="flex flex-col">
<form wire:submit='submit("highlight")' class="flex flex-col">
<div class="flex flex-col gap-4">
<div class="flex flex-col w-full gap-2 xl:flex-row">
<x-forms.input type="password" required id="server.settings.logdrain_highlight_project_id"
@@ -67,11 +67,11 @@
<x-forms.checkbox instantSave='instantSave("custom")' id="server.settings.is_logdrain_custom_enabled"
label="Enabled" />
</div>
<form wire:submit.prevent='submit("custom")' class="flex flex-col">
<form wire:submit='submit("custom")' class="flex flex-col">
<div class="flex flex-col gap-4">
<x-forms.textarea rows="6" required id="server.settings.logdrain_custom_config"
label="Custom FluentBit Configuration" />
<x-forms.textarea id="server.settings.logdrain_custom_config_parser"
<x-forms.textarea id="server.settings.logdrain_custom_config_parser"
label="Custom Parser Configuration" />
</div>
<div class="flex justify-end gap-4 pt-6">

View File

@@ -4,7 +4,7 @@
@else
<h1>Create a new Server</h1>
<div class="subtitle">Servers are the main blocks of your infrastructure.</div>
<form class="flex flex-col gap-2" wire:submit.prevent='submit'>
<form class="flex flex-col gap-2" wire:submit='submit'>
<div class="flex gap-2">
<x-forms.input id="name" label="Name" required />
<x-forms.input id="description" label="Description" />

View File

@@ -2,7 +2,7 @@
@if (data_get($server, 'proxy.type'))
<div x-init="$wire.loadProxyConfiguration">
@if ($selectedProxy === 'TRAEFIK_V2')
<form wire:submit.prevent='submit'>
<form wire:submit='submit'>
<div class="flex items-center gap-2">
<h2>Configuration</h2>
<x-forms.button type="submit">Save</x-forms.button>
@@ -27,7 +27,7 @@
@if ($proxy_settings)
<div class="flex flex-col gap-2 pt-2">
<x-forms.textarea label="Configuration file: traefik.conf" name="proxy_settings"
wire:model.defer="proxy_settings" rows="30" />
wire:model="proxy_settings" rows="30" />
<x-forms.button wire:click.prevent="reset_proxy_configuration">
Reset configuration to default
</x-forms.button>

View File

@@ -13,7 +13,8 @@
@if (data_get($server, 'privateKey.uuid'))
<div>
Currently attached Private Key:
<a href="{{ route('security.private-key.show', ['private_key_uuid' => data_get($server, 'privateKey.uuid')]) }}">
<a
href="{{ route('security.private-key.show', ['private_key_uuid' => data_get($server, 'privateKey.uuid')]) }}">
<button class="text-white btn-link">{{ data_get($server, 'privateKey.name') }}</button>
</a>
</div>

View File

@@ -22,7 +22,7 @@
<x-forms.input type="password" label="Password" readonly id="database.postgres_password" />
</div>
</div>
<livewire:project.database.backup-edit :backup="$backup" :s3s="$s3s" :status="data_get($database,'status')" />
<livewire:project.database.backup-edit :backup="$backup" :s3s="$s3s" :status="data_get($database, 'status')" />
@else
To configure automatic backup for your Coolify instance, you first need to add as a database resource
into Coolify.

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent='submit' class="flex flex-col">
<form wire:submit='submit' class="flex flex-col">
<div class="flex items-center gap-2">
<h2>Configuration</h2>
<x-forms.button type="submit">
@@ -24,12 +24,13 @@
<x-forms.checkbox instantSave id="is_auto_update_enabled" label="Auto Update Coolify" />
<x-forms.checkbox instantSave id="is_registration_enabled" label="Registration Allowed" />
<x-forms.checkbox instantSave id="do_not_track" label="Do Not Track" />
@if($next_channel)
<x-forms.checkbox instantSave helper="Do not recommended, only if you like to live on the edge."
id="next_channel" label="Enable pre-release (early) updates" />
@else
<x-forms.checkbox disabled instantSave helper="Currently disabled. Do not recommended, only if you like to live on the edge."
id="next_channel" label="Enable pre-release (early) updates" />
@endif
@if ($next_channel)
<x-forms.checkbox instantSave helper="Do not recommended, only if you like to live on the edge."
id="next_channel" label="Enable pre-release (early) updates" />
@else
<x-forms.checkbox disabled instantSave
helper="Currently disabled. Do not recommended, only if you like to live on the edge." id="next_channel"
label="Enable pre-release (early) updates" />
@endif
</div>
</div>

View File

@@ -1,6 +1,6 @@
<div>
<dialog id="sendTestEmail" class="modal">
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit.prevent='submit'>
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit='submit'>
<x-forms.input placeholder="test@example.com" id="emails" label="Recepients" required />
<x-forms.button onclick="sendTestEmail.close()" wire:click="sendTestNotification">
Send Email
@@ -14,7 +14,7 @@
<h2>Transactional Email</h2>
</div>
<div class="pb-4 ">Email settings for password resets, invitations, shared with Pro+ subscribers etc.</div>
<form wire:submit.prevent='submitFromFields' class="pb-4">
<form wire:submit='submitFromFields' class="pb-4">
<div class="flex flex-col items-end w-full gap-2 xl:flex-row">
<x-forms.input required id="settings.smtp_from_name" helper="Name used in emails." label="From Name" />
<x-forms.input required id="settings.smtp_from_address" helper="Email address used in emails."
@@ -38,7 +38,7 @@
<div class="w-32">
<x-forms.checkbox instantSave id="settings.smtp_enabled" label="Enabled" />
</div>
<form wire:submit.prevent='submit' class="flex flex-col">
<form wire:submit='submit' class="flex flex-col">
<div class="flex flex-col gap-4">
<div class="flex flex-col w-full gap-2 xl:flex-row">
<x-forms.input required id="settings.smtp_host" placeholder="smtp.mailgun.org" label="Host" />
@@ -65,7 +65,7 @@
<div class="w-32">
<x-forms.checkbox instantSave='instantSaveResend' id="settings.resend_enabled" label="Enabled" />
</div>
<form wire:submit.prevent='submitResend' class="flex flex-col">
<form wire:submit='submitResend' class="flex flex-col">
<div class="flex flex-col gap-4">
<div class="flex flex-col w-full gap-2 xl:flex-row">
<x-forms.input type="password" id="settings.resend_api_key" placeholder="API key" required

View File

@@ -5,12 +5,12 @@
</x-slot:modalBody>
</x-modal>
@if (data_get($github_app, 'app_id'))
<form wire:submit.prevent='submit'>
<form wire:submit='submit'>
<div class="flex items-center gap-2">
<h1>GitHub App</h1>
<div class="flex gap-2">
@if (data_get($github_app, 'installation_id'))
<x-forms.button type="submit">Save</x-forms.button>
<x-forms.button type="submit">Save</x-forms.button>
<a href="{{ get_installation_path($github_app) }}">
<x-forms.button>
Update Repositories
@@ -91,8 +91,8 @@
<span>You must complete this step before you can use this source!</span>
</div>
<div class="flex flex-col">
<h2 >Register a GitHub App</h2>
<div >You need to register a GitHub App before using this source.</div>
<h2>Register a GitHub App</h2>
<div>You need to register a GitHub App before using this source.</div>
<div class="py-10">
@if (!isCloud() || isDev())
<div class="flex items-end gap-2">

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent='createGitHubApp' class="flex flex-col">
<form wire:submit='createGitHubApp' class="flex flex-col">
<h2>GitHub App</h2>
<div class="flex gap-2">
<x-forms.input id="name" label="Name" required />

View File

@@ -1,19 +1,19 @@
<x-pricing-plans>
@if (config('subscription.provider') === 'stripe')
<x-slot:basic>
<x-forms.button x-show="selected === 'monthly'" x-cloak aria-describedby="tier-basic"
class="w-full h-10 buyme" wire:click="subscribeStripe('basic-monthly')">
<x-forms.button x-show="selected === 'monthly'" x-cloak aria-describedby="tier-basic" class="w-full h-10 buyme"
wire:click="subscribeStripe('basic-monthly')">
{{ $isTrial ? 'Start Trial' : 'Subscribe' }}
</x-forms.button>
<x-forms.button x-show="selected === 'yearly'" x-cloak aria-describedby="tier-basic"
class="w-full h-10 buyme" wire:click="subscribeStripe('basic-yearly')">
<x-forms.button x-show="selected === 'yearly'" x-cloak aria-describedby="tier-basic" class="w-full h-10 buyme"
wire:click="subscribeStripe('basic-yearly')">
{{ $isTrial ? 'Start Trial' : 'Subscribe' }}
</x-forms.button>
</x-slot:basic>
<x-slot:pro>
<x-forms.button x-show="selected === 'monthly'" x-cloak aria-describedby="tier-pro"
class="w-full h-10 buyme" wire:click="subscribeStripe('pro-monthly')">
<x-forms.button x-show="selected === 'monthly'" x-cloak aria-describedby="tier-pro" class="w-full h-10 buyme"
wire:click="subscribeStripe('pro-monthly')">
{{ $isTrial ? 'Start Trial' : 'Subscribe' }}
</x-forms.button>
@@ -23,12 +23,14 @@
</x-slot:pro>
<x-slot:ultimate>
<x-forms.button x-show="selected === 'monthly'" x-cloak aria-describedby="tier-ultimate"
class="w-full h-10 buyme"><a class="text-white hover:no-underline" href="{{ config('coolify.docs') }}" target="_blank">
class="w-full h-10 buyme"><a class="text-white hover:no-underline" href="{{ config('coolify.docs') }}"
target="_blank">
Contact Us</a>
</x-forms.button>
<x-forms.button x-show="selected === 'yearly'" x-cloak aria-describedby="tier-ultimate"
class="w-full h-10 buyme"><a class="text-white hover:no-underline" href="{{ config('coolify.docs') }}" target="_blank">
class="w-full h-10 buyme"><a class="text-white hover:no-underline" href="{{ config('coolify.docs') }}"
target="_blank">
Contact Us</a>
</x-forms.button>
</x-slot:ultimate>

View File

@@ -1,4 +1,4 @@
<form class="flex flex-col gap-2" wire:submit.prevent='submit'>
<form class="flex flex-col gap-2" wire:submit='submit'>
<x-forms.input autofocus id="name" label="Name" required />
<x-forms.input id="description" label="Description" />
<x-forms.button type="submit">

View File

@@ -1,4 +1,4 @@
<form class="flex flex-col gap-2 pb-6" wire:submit.prevent='submit'>
<form class="flex flex-col gap-2 pb-6" wire:submit='submit'>
<div class="flex items-end gap-2">
<h2>General</h2>
<x-forms.button type="submit">

View File

@@ -1,5 +1,5 @@
<div>
<form wire:submit.prevent='viaLink' class="flex items-center gap-2">
<form wire:submit='viaLink' class="flex items-center gap-2">
<x-forms.input id="email" type="email" name="email" placeholder="Email" />
<x-forms.select id="role" name="role">
<option value="admin">Admin</option>

View File

@@ -1,7 +1,7 @@
<div>
<h1>Create a new S3 Storage</h1>
<div class="subtitle">S3 Storage used to save backups / files</div>
<form class="flex flex-col gap-2" wire:submit.prevent='submit'>
<form class="flex flex-col gap-2" wire:submit='submit'>
<div class="flex gap-2">
<x-forms.input label="Name" id="name" />
<x-forms.input label="Description" id="description" />

View File

@@ -5,7 +5,7 @@
</p>
</x-slot:modalBody>
</x-modal>
<form class="flex flex-col gap-2 pb-6" wire:submit.prevent='submit'>
<form class="flex flex-col gap-2 pb-6" wire:submit='submit'>
<div class="flex items-start gap-2">
<div class="pb-4">
<h2>Storage Details</h2>

View File

@@ -19,17 +19,19 @@
</svg>
</h2>
</div>
<form class="flex items-end gap-2" wire:submit.prevent='submit'>
<form class="flex items-end gap-2" wire:submit='submit'>
<x-forms.input id="email" type="email" label="Email" placeholder="youareawesome@protonmail.com" />
<x-forms.button type="submit">Join Waitlist</x-forms.button>
</form>
<div>People waiting in the line: <span class="font-bold text-warning">{{ $waitingInLine }}</div>
<div>Already using Coolify Cloud: <span class="font-bold text-warning">{{ $users }}</div>
<div class="pt-8">
This is a paid & hosted version of Coolify.<br> See the pricing <a href="https://coolify.io/pricing" class="text-warning">here</a>.
This is a paid & hosted version of Coolify.<br> See the pricing <a href="https://coolify.io/pricing"
class="text-warning">here</a>.
</div>
<div class="pt-4">
If you are looking for the self-hosted version go <a href="https://coolify.io" class="text-warning">here</a>.
If you are looking for the self-hosted version go <a href="https://coolify.io"
class="text-warning">here</a>.
</div>
</div>
</div>