mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-03 15:02:34 +00:00
Migrate to HTMX (#114)
Dropped Livewire Added HTMX Added Blade code lint Drop Mysql and Redis Migrate to SQLite
This commit is contained in:
@ -1,11 +0,0 @@
|
||||
@if($site->type == \App\Enums\SiteType::LARAVEL)
|
||||
<livewire:application.laravel-app :site="$site" />
|
||||
@endif
|
||||
|
||||
@if($site->type == \App\Enums\SiteType::PHP)
|
||||
<livewire:application.php-app :site="$site" />
|
||||
@endif
|
||||
|
||||
@if($site->type == \App\Enums\SiteType::WORDPRESS)
|
||||
<livewire:application.wordpress-app :site="$site" />
|
||||
@endif
|
@ -1,5 +1,5 @@
|
||||
<x-server-layout :server="$server">
|
||||
<x-slot name="pageTitle">{{ __("Create Site") }}</x-slot>
|
||||
|
||||
<livewire:sites.create-site :server="$server" />
|
||||
@include("sites.partials.create-site")
|
||||
</x-server-layout>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<x-server-layout :server="$server">
|
||||
<x-slot name="pageTitle">{{ __("Sites") }}</x-slot>
|
||||
|
||||
<livewire:sites.sites-list :server="$server" />
|
||||
@include("sites.partials.sites-list")
|
||||
</x-server-layout>
|
||||
|
@ -1,5 +0,0 @@
|
||||
<x-site-layout :site="$site">
|
||||
<x-slot name="pageTitle">{{ __("Logs") }}</x-slot>
|
||||
|
||||
<livewire:server-logs.logs-list :server="$site->server" :site="$site" />
|
||||
</x-site-layout>
|
80
resources/views/sites/partials/create-site.blade.php
Normal file
80
resources/views/sites/partials/create-site.blade.php
Normal file
@ -0,0 +1,80 @@
|
||||
<div x-data="">
|
||||
<x-card id="create-site">
|
||||
<x-slot name="title">{{ __("Create new site") }}</x-slot>
|
||||
<x-slot name="description">
|
||||
{{ __("Use this form to create a new site") }}
|
||||
</x-slot>
|
||||
<form
|
||||
id="create-site-form"
|
||||
hx-post="{{ route("servers.sites.create", ["server" => $server]) }}"
|
||||
hx-trigger="submit"
|
||||
hx-select="#create-site-form"
|
||||
hx-swap="outerHTML"
|
||||
class="space-y-6"
|
||||
>
|
||||
<div>
|
||||
<x-input-label>{{ __("Select site type") }}</x-input-label>
|
||||
<x-select-input
|
||||
hx-get="{{ route('servers.sites.create', ['server' => $server]) }}"
|
||||
hx-trigger="change"
|
||||
hx-target="#create-site-form"
|
||||
hx-select="#create-site-form"
|
||||
id="type"
|
||||
name="type"
|
||||
class="mt-1 w-full"
|
||||
>
|
||||
<option value="" selected disabled>
|
||||
{{ __("Select") }}
|
||||
</option>
|
||||
@foreach (config("core.site_types") as $t)
|
||||
<option value="{{ $t }}" @if($t === $type) selected @endif>
|
||||
{{ $t }}
|
||||
</option>
|
||||
@endforeach
|
||||
</x-select-input>
|
||||
@error("type")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<x-input-label for="domain" :value="__('Domain')" />
|
||||
<x-text-input
|
||||
value="{{ old('domain') }}"
|
||||
id="domain"
|
||||
name="domain"
|
||||
type="text"
|
||||
class="mt-1 block w-full"
|
||||
autocomplete="domain"
|
||||
placeholder="example.com"
|
||||
/>
|
||||
@error("domain")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<x-input-label for="alias" :value="__('Alias')" />
|
||||
<x-text-input
|
||||
value="{{ old('alias') }}"
|
||||
id="alias"
|
||||
name="alias"
|
||||
type="text"
|
||||
class="mt-1 block w-full"
|
||||
autocomplete="alias"
|
||||
placeholder="www.example.com"
|
||||
/>
|
||||
@error("alias")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
@include("sites.partials.create." . $type)
|
||||
</form>
|
||||
<x-slot name="actions">
|
||||
<x-primary-button hx-disable form="create-site-form">
|
||||
{{ __("Create") }}
|
||||
</x-primary-button>
|
||||
</x-slot>
|
||||
</x-card>
|
||||
</div>
|
@ -0,0 +1,15 @@
|
||||
<div>
|
||||
<x-input-label for="branch" :value="__('Branch')" />
|
||||
<x-text-input
|
||||
value="{{ old('branch') }}"
|
||||
id="branch"
|
||||
name="branch"
|
||||
type="text"
|
||||
class="mt-1 block w-full"
|
||||
autocomplete="branch"
|
||||
placeholder="main"
|
||||
/>
|
||||
@error("branch")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
@ -0,0 +1,14 @@
|
||||
<div class="mt-6">
|
||||
<label for="composer" class="inline-flex items-center">
|
||||
<input
|
||||
id="composer"
|
||||
type="checkbox"
|
||||
class="rounded border-gray-300 text-indigo-600 shadow-sm focus:ring-indigo-500 dark:border-gray-700 dark:bg-gray-900 dark:focus:ring-indigo-600 dark:focus:ring-offset-gray-800"
|
||||
name="composer"
|
||||
@if (old("composer") === "on") checked @endif
|
||||
/>
|
||||
<span class="ml-2 text-sm text-gray-600 dark:text-gray-400">
|
||||
{{ __("Run `composer install --no-dev`") }}
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
@ -0,0 +1,14 @@
|
||||
<div>
|
||||
<x-input-label for="php_version" :value="__('PHP Version')" />
|
||||
<x-select-input id="php_version" name="php_version" class="mt-1 w-full">
|
||||
<option value="" selected>{{ __("Select") }}</option>
|
||||
@foreach ($server->installedPHPVersions() as $version)
|
||||
<option value="{{ $version }}" @if($version == old('php_version')) selected @endif>
|
||||
PHP {{ $version }}
|
||||
</option>
|
||||
@endforeach
|
||||
</x-select-input>
|
||||
@error("php_version")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
@ -0,0 +1,15 @@
|
||||
<div>
|
||||
<x-input-label for="repository" :value="__('Repository')" />
|
||||
<x-text-input
|
||||
value="{{ old('repository') }}"
|
||||
id="repository"
|
||||
name="repository"
|
||||
type="text"
|
||||
class="mt-1 block w-full"
|
||||
autocomplete="repository"
|
||||
placeholder="organization/repository"
|
||||
/>
|
||||
@error("repository")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
@ -0,0 +1,23 @@
|
||||
<div>
|
||||
<x-input-label for="source_control" :value="__('Source Control')" />
|
||||
<div class="mt-1 flex items-center">
|
||||
<x-select-input id="source_control" name="source_control" class="mt-1 w-full">
|
||||
<option value="" selected>{{ __("Select") }}</option>
|
||||
@foreach ($sourceControls as $sourceControl)
|
||||
<option
|
||||
value="{{ $sourceControl->id }}"
|
||||
@if($sourceControl->id === old('source_control')) selected @endif
|
||||
>
|
||||
{{ $sourceControl->profile }}
|
||||
({{ $sourceControl->provider }})
|
||||
</option>
|
||||
@endforeach
|
||||
</x-select-input>
|
||||
<x-secondary-button :href="route('source-controls', ['redirect' => request()->url()])" class="ml-2 flex-none">
|
||||
{{ __("Connect") }}
|
||||
</x-secondary-button>
|
||||
</div>
|
||||
@error("source_control")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
@ -0,0 +1,17 @@
|
||||
<div>
|
||||
<x-input-label for="web_directory" :value="__('Web Directory')" />
|
||||
<x-text-input
|
||||
value="{{ old('web_directory') }}"
|
||||
id="web_directory"
|
||||
name="web_directory"
|
||||
type="text"
|
||||
class="mt-1 block w-full"
|
||||
autocomplete="web_directory"
|
||||
/>
|
||||
<x-input-help>
|
||||
{{ __("For root, leave this blank") }}
|
||||
</x-input-help>
|
||||
@error("web_directory")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
11
resources/views/sites/partials/create/laravel.blade.php
Normal file
11
resources/views/sites/partials/create/laravel.blade.php
Normal file
@ -0,0 +1,11 @@
|
||||
@include("sites.partials.create.fields.php-version")
|
||||
|
||||
@include("sites.partials.create.fields.web-directory")
|
||||
|
||||
@include("sites.partials.create.fields.source-control")
|
||||
|
||||
@include("sites.partials.create.fields.repository")
|
||||
|
||||
@include("sites.partials.create.fields.branch")
|
||||
|
||||
@include("sites.partials.create.fields.composer")
|
@ -0,0 +1,3 @@
|
||||
@include("sites.partials.create.fields.php-version")
|
||||
|
||||
@include("sites.partials.create.fields.web-directory")
|
11
resources/views/sites/partials/create/php.blade.php
Normal file
11
resources/views/sites/partials/create/php.blade.php
Normal file
@ -0,0 +1,11 @@
|
||||
@include("sites.partials.create.fields.php-version")
|
||||
|
||||
@include("sites.partials.create.fields.web-directory")
|
||||
|
||||
@include("sites.partials.create.fields.source-control")
|
||||
|
||||
@include("sites.partials.create.fields.repository")
|
||||
|
||||
@include("sites.partials.create.fields.branch")
|
||||
|
||||
@include("sites.partials.create.fields.composer")
|
114
resources/views/sites/partials/create/wordpress.blade.php
Normal file
114
resources/views/sites/partials/create/wordpress.blade.php
Normal file
@ -0,0 +1,114 @@
|
||||
@include("sites.partials.create.fields.php-version")
|
||||
|
||||
<div>
|
||||
<x-input-label for="title" :value="__('Title')" />
|
||||
<x-text-input
|
||||
value="{{ old('title') }}"
|
||||
id="title"
|
||||
name="title"
|
||||
type="text"
|
||||
class="mt-1 block w-full"
|
||||
autocomplete="branch"
|
||||
/>
|
||||
@error("title")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 gap-5 lg:grid-cols-3">
|
||||
<div>
|
||||
<x-input-label for="email" :value="__('WP Admin Email')" />
|
||||
<x-text-input
|
||||
value="{{ old('email') }}"
|
||||
id="email"
|
||||
name="email"
|
||||
type="email"
|
||||
class="mt-1 block w-full"
|
||||
autocomplete="email"
|
||||
/>
|
||||
@error("email")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<x-input-label for="username" :value="__('WP Admin Username')" />
|
||||
<x-text-input
|
||||
value="{{ old('username') }}"
|
||||
id="username"
|
||||
name="username"
|
||||
type="text"
|
||||
class="mt-1 block w-full"
|
||||
autocomplete="username"
|
||||
/>
|
||||
@error("username")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<x-input-label for="password" :value="__('WP Admin Password')" />
|
||||
<x-text-input
|
||||
value="{{ old('password') }}"
|
||||
id="password"
|
||||
name="password"
|
||||
type="text"
|
||||
class="mt-1 block w-full"
|
||||
/>
|
||||
@error("title")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 gap-5 lg:grid-cols-3">
|
||||
<div>
|
||||
<x-input-label for="database" :value="__('Database Name')" />
|
||||
<x-text-input
|
||||
value="{{ old('database') }}"
|
||||
id="database"
|
||||
name="database"
|
||||
type="text"
|
||||
class="mt-1 block w-full"
|
||||
autocomplete="database"
|
||||
/>
|
||||
<x-input-help>
|
||||
{{ __("It will create a database with this name") }}
|
||||
</x-input-help>
|
||||
@error("database")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<x-input-label for="database" :value="__('Database User')" />
|
||||
<x-text-input
|
||||
value="{{ old('database_user') }}"
|
||||
id="database_user"
|
||||
name="database_user"
|
||||
type="text"
|
||||
class="mt-1 block w-full"
|
||||
autocomplete="database_user"
|
||||
/>
|
||||
<x-input-help>
|
||||
{{ __("It will create a database user with this username") }}
|
||||
</x-input-help>
|
||||
@error("database_user")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<x-input-label for="password" :value="__('Database Password')" />
|
||||
<x-text-input
|
||||
value="{{ old('database_password') }}"
|
||||
id="database_password"
|
||||
name="database_password"
|
||||
type="text"
|
||||
class="mt-1 block w-full"
|
||||
/>
|
||||
@error("database_password")
|
||||
<x-input-error class="mt-2" :messages="$message" />
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
14
resources/views/sites/partials/installation-failed.blade.php
Normal file
14
resources/views/sites/partials/installation-failed.blade.php
Normal file
@ -0,0 +1,14 @@
|
||||
<x-card>
|
||||
<x-slot name="title">
|
||||
<span class="text-red-600">{{ __("Installation Failed!") }}</span>
|
||||
</x-slot>
|
||||
<x-slot name="description">
|
||||
{{ __("Your site's installation failed") }}
|
||||
</x-slot>
|
||||
<div class="mt-5 flex items-center justify-center">
|
||||
<x-secondary-button :href="route('servers.logs', ['server' => $site->server])" class="mr-2">
|
||||
{{ __("View Logs") }}
|
||||
</x-secondary-button>
|
||||
@include("site-settings.partials.delete-site")
|
||||
</div>
|
||||
</x-card>
|
19
resources/views/sites/partials/installing.blade.php
Normal file
19
resources/views/sites/partials/installing.blade.php
Normal file
@ -0,0 +1,19 @@
|
||||
<x-card>
|
||||
<x-slot name="title">{{ __("Installing") }}</x-slot>
|
||||
<x-slot name="description">
|
||||
{{ __("The site is being installed") }}
|
||||
</x-slot>
|
||||
<div
|
||||
class="relative flex h-6 overflow-hidden rounded bg-primary-200 text-xs dark:bg-primary-500 dark:bg-opacity-10"
|
||||
>
|
||||
<div
|
||||
style="width: {{ $site->progress }}%"
|
||||
class="flex flex-col justify-center whitespace-nowrap bg-primary-500 text-center text-white shadow-none"
|
||||
></div>
|
||||
<span
|
||||
class="{{ $site->progress >= 40 ? "text-white" : "text-black dark:text-white" }} absolute left-0 right-0 top-1 text-center font-semibold"
|
||||
>
|
||||
{{ $site->progress }}%
|
||||
</span>
|
||||
</div>
|
||||
</x-card>
|
17
resources/views/sites/partials/show-site.blade.php
Normal file
17
resources/views/sites/partials/show-site.blade.php
Normal file
@ -0,0 +1,17 @@
|
||||
<div>
|
||||
@if ($site->status === \App\Enums\SiteStatus::INSTALLING)
|
||||
@include("sites.partials.installing", ["site" => $site])
|
||||
|
||||
@include("server-logs.partials.logs-list", ["server" => $site->server, "site" => $site])
|
||||
@endif
|
||||
|
||||
@if ($site->status === \App\Enums\SiteStatus::INSTALLATION_FAILED)
|
||||
@include("sites.partials.installation-failed", ["site" => $site])
|
||||
|
||||
@include("server-logs.partials.logs-list", ["server" => $site->server, "site" => $site])
|
||||
@endif
|
||||
|
||||
@if ($site->status === \App\Enums\SiteStatus::READY)
|
||||
@include("application." . $site->type . "-app", ["site" => $site])
|
||||
@endif
|
||||
</div>
|
35
resources/views/sites/partials/site-overview.blade.php
Normal file
35
resources/views/sites/partials/site-overview.blade.php
Normal file
@ -0,0 +1,35 @@
|
||||
<div>
|
||||
<x-card-header>
|
||||
<x-slot name="title">
|
||||
{{ __("Site Overview") }}
|
||||
</x-slot>
|
||||
</x-card-header>
|
||||
<div
|
||||
class="mx-auto grid grid-cols-3 rounded-md border border-gray-200 bg-white dark:border-gray-700 dark:bg-gray-800"
|
||||
>
|
||||
<div class="p-5">
|
||||
<div class="flex items-center justify-center md:justify-start">
|
||||
<div class="ml-2 hidden md:block">{{ __("SSL") }}</div>
|
||||
</div>
|
||||
<div class="mt-3 text-center text-3xl font-bold text-gray-600 dark:text-gray-400 md:text-left">
|
||||
{{ $site->activeSsl ? __("Yes") : __("No") }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="border-l border-r border-gray-200 p-5 dark:border-gray-900">
|
||||
<div class="flex items-center justify-center md:justify-start">
|
||||
<div class="ml-2 hidden md:block">{{ __("Queues") }}</div>
|
||||
</div>
|
||||
<div class="mt-3 text-center text-3xl font-bold text-gray-600 dark:text-gray-400 md:text-left">
|
||||
{{ $site->queues()->count() }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="p-5">
|
||||
<div class="flex items-center justify-center md:justify-start">
|
||||
<div class="ml-2 hidden md:block">{{ __("PHP") }}</div>
|
||||
</div>
|
||||
<div class="mt-3 text-center text-3xl font-bold text-gray-600 dark:text-gray-400 md:text-left">
|
||||
{{ $site->php_version }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
17
resources/views/sites/partials/site-status.blade.php
Normal file
17
resources/views/sites/partials/site-status.blade.php
Normal file
@ -0,0 +1,17 @@
|
||||
<div>
|
||||
@if ($site->status == \App\Enums\SiteStatus::READY)
|
||||
<x-status status="success">{{ $site->status }}</x-status>
|
||||
@endif
|
||||
|
||||
@if ($site->status == \App\Enums\SiteStatus::INSTALLING)
|
||||
<x-status status="warning">{{ $site->status }}</x-status>
|
||||
@endif
|
||||
|
||||
@if ($site->status == \App\Enums\SiteStatus::DELETING)
|
||||
<x-status status="danger">{{ $site->status }}</x-status>
|
||||
@endif
|
||||
|
||||
@if ($site->status == \App\Enums\SiteStatus::INSTALLATION_FAILED)
|
||||
<x-status status="danger">{{ $site->status }}</x-status>
|
||||
@endif
|
||||
</div>
|
48
resources/views/sites/partials/sites-list.blade.php
Normal file
48
resources/views/sites/partials/sites-list.blade.php
Normal file
@ -0,0 +1,48 @@
|
||||
<div>
|
||||
<x-card-header>
|
||||
<x-slot name="title">Sites</x-slot>
|
||||
<x-slot name="description">Your sites will appear here. You can see the details and manage them</x-slot>
|
||||
<x-slot name="aside">
|
||||
<x-primary-button :href="route('servers.sites.create', ['server' => $server])">
|
||||
{{ __("Create Site") }}
|
||||
</x-primary-button>
|
||||
</x-slot>
|
||||
</x-card-header>
|
||||
|
||||
<x-live id="live-sites">
|
||||
@if (count($sites) > 0)
|
||||
<div class="space-y-3">
|
||||
@foreach ($sites as $site)
|
||||
<a href="{{ route("servers.sites.show", ["server" => $server, "site" => $site]) }}" class="block">
|
||||
<x-item-card>
|
||||
<div class="flex-none">
|
||||
<img
|
||||
src="{{ asset("static/images/" . $site->type . ".svg") }}"
|
||||
class="h-10 w-10"
|
||||
alt=""
|
||||
/>
|
||||
</div>
|
||||
<div class="ml-3 flex flex-grow flex-col items-start justify-center">
|
||||
<span class="mb-1">{{ $site->domain }}</span>
|
||||
<span class="text-sm text-gray-400">
|
||||
<x-datetime :value="$site->created_at" />
|
||||
</span>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<div class="inline">
|
||||
@include("sites.partials.status", ["status" => $site->status])
|
||||
</div>
|
||||
</div>
|
||||
</x-item-card>
|
||||
</a>
|
||||
@endforeach
|
||||
</div>
|
||||
@else
|
||||
<x-simple-card>
|
||||
<div class="text-center">
|
||||
{{ __("You don't have any sites yet!") }}
|
||||
</div>
|
||||
</x-simple-card>
|
||||
@endif
|
||||
</x-live>
|
||||
</div>
|
15
resources/views/sites/partials/status.blade.php
Normal file
15
resources/views/sites/partials/status.blade.php
Normal file
@ -0,0 +1,15 @@
|
||||
@if ($status == \App\Enums\SiteStatus::READY)
|
||||
<x-status status="success">{{ $status }}</x-status>
|
||||
@endif
|
||||
|
||||
@if ($status == \App\Enums\SiteStatus::INSTALLING)
|
||||
<x-status status="warning">{{ $status }}</x-status>
|
||||
@endif
|
||||
|
||||
@if ($status == \App\Enums\SiteStatus::INSTALLATION_FAILED)
|
||||
<x-status status="danger">{{ $status }}</x-status>
|
||||
@endif
|
||||
|
||||
@if ($status == \App\Enums\SiteStatus::DELETING)
|
||||
<x-status status="danger">{{ $status }}</x-status>
|
||||
@endif
|
@ -1,5 +0,0 @@
|
||||
<x-site-layout :site="$site">
|
||||
<x-slot name="pageTitle">{{ __("Queues") }}</x-slot>
|
||||
|
||||
<livewire:queues.queues-list :site="$site" />
|
||||
</x-site-layout>
|
@ -1,20 +0,0 @@
|
||||
<x-site-layout :site="$site">
|
||||
<x-slot name="pageTitle">{{ __('Settings') }}</x-slot>
|
||||
|
||||
<livewire:sites.change-php-version :site="$site" />
|
||||
|
||||
@if ($site->source_control_id)
|
||||
<livewire:sites.update-source-control-provider :site="$site" />
|
||||
@endif
|
||||
|
||||
<livewire:sites.update-v-host :site="$site" />
|
||||
|
||||
<x-card>
|
||||
<x-slot name="title">{{ __('Delete Site') }}</x-slot>
|
||||
<x-slot name="description">{{ __('Permanently delete the site from server') }}</x-slot>
|
||||
<p>{{ __('Once your site is deleted, all of its files will be deleted from the server.') }}</p>
|
||||
<div class="mt-5">
|
||||
<livewire:sites.delete-site :site="$site" />
|
||||
</div>
|
||||
</x-card>
|
||||
</x-site-layout>
|
@ -1,5 +1,5 @@
|
||||
<x-site-layout :site="$site">
|
||||
<x-slot name="pageTitle">{{ $site->domain }}</x-slot>
|
||||
|
||||
<livewire:sites.show-site :site="$site" />
|
||||
@include("sites.partials.show-site")
|
||||
</x-site-layout>
|
||||
|
@ -1,5 +0,0 @@
|
||||
<x-site-layout :site="$site">
|
||||
<x-slot name="pageTitle">{{ __("SSL") }}</x-slot>
|
||||
|
||||
<livewire:ssl.ssls-list :site="$site" />
|
||||
</x-site-layout>
|
Reference in New Issue
Block a user