add phpmyadmin

This commit is contained in:
Saeed Vaziry
2024-03-27 11:41:29 +01:00
parent a7ba095919
commit 9244e69fd8
34 changed files with 401 additions and 85 deletions

View File

@ -0,0 +1,6 @@
<div>
<x-simple-card class="flex items-center justify-between">
<span>PHPMyAdmin is installed and ready to use!</span>
<x-secondary-button :href="$site->getUrl()" target="_blank">Open</x-secondary-button>
</x-simple-card>
</div>

View File

@ -3,7 +3,7 @@
<span>
{{ __("Your Wordpress site is installed and ready to use! ") }}
</span>
<x-secondary-button :href="$site->url" target="_blank">
<x-secondary-button :href="$site->getUrl()" target="_blank">
{{ __("Open Website") }}
</x-secondary-button>
</x-simple-card>

View File

@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
{{ $attributes }}
>
<path
stroke-linecap="round"
stroke-linejoin="round"
d="M18.364 18.364A9 9 0 0 0 5.636 5.636m12.728 12.728A9 9 0 0 1 5.636 5.636m12.728 12.728L5.636 5.636"
/>
</svg>

After

Width:  |  Height:  |  Size: 355 B

View File

@ -1,5 +1,6 @@
@props([
"href",
"disabled" => false,
])
@php
@ -7,12 +8,12 @@
"inline-flex w-max items-center justify-center px-2 py-1 font-semibold capitalize outline-0 transition hover:opacity-50 focus:ring focus:ring-primary-200 disabled:opacity-25 dark:focus:ring-primary-700 dark:focus:ring-opacity-40";
@endphp
@if (isset($href))
@if (isset($href) && ! $disabled)
<a href="{{ $href }}" {{ $attributes->merge(["class" => $class]) }}>
{{ $slot }}
</a>
@else
<button {{ $attributes->merge(["type" => "submit", "class" => $class]) }}>
<button {{ $attributes->merge(["type" => "submit", "class" => $class, "disabled" => $disabled]) }}>
{{ $slot }}
</button>
@endif

View File

@ -1,5 +1,5 @@
<div
class="flex h-20 items-center justify-between rounded-b-md rounded-t-md border border-gray-200 bg-white p-7 text-center dark:border-gray-700 dark:bg-gray-800"
{{ $attributes->merge(["class" => "flex h-20 items-center justify-between rounded-b-md rounded-t-md border border-gray-200 bg-white p-7 text-center dark:border-gray-700 dark:bg-gray-800"]) }}
>
{{ $slot }}
</div>

View File

@ -5,16 +5,13 @@
])
<div
id="{{ $id }}"
hx-get="{{ request()->getUri() }}"
hx-trigger="every {{ $interval }}"
{{ $attributes->merge(["interval" => $interval, "id" => $id, "hx-get" => request()->getUri(), "hx-trigger" => "every " . $interval, "hx-swap" => "outerHTML"]) }}
@if ($target)
hx-target="{{ $target }}"
hx-select="{{ $target }}"
@else
hx-select="#{{ $id }}"
@endif
hx-swap="outerHTML"
>
{{ $slot }}
</div>

View File

@ -7,7 +7,7 @@
@php
$class =
"inline-flex h-9 min-w-max items-center rounded-md border border-gray-300 bg-white px-4 py-1 font-semibold text-gray-700 shadow-sm transition duration-150 ease-in-out hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 disabled:opacity-25 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300 dark:hover:bg-gray-700 dark:focus:ring-offset-gray-800";
"inline-flex h-9 w-max min-w-max items-center justify-center rounded-md border border-gray-300 bg-white px-4 py-1 font-semibold text-gray-700 shadow-sm transition duration-150 ease-in-out hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 disabled:opacity-25 dark:border-gray-500 dark:bg-gray-800 dark:text-gray-300 dark:hover:bg-gray-700 dark:focus:ring-offset-gray-800";
@endphp
@if (isset($href))

View File

@ -2,4 +2,6 @@
<x-slot name="pageTitle">{{ __("Services") }}</x-slot>
@include("services.partials.services-list")
{{-- @include("services.partials.add-ons") --}}
</x-server-layout>

View File

@ -0,0 +1 @@
@include("services.partials.unit-actions")

View File

@ -0,0 +1 @@
@include("services.partials.unit-actions")

View File

@ -0,0 +1 @@
@include("services.partials.unit-actions")

View File

@ -0,0 +1 @@
@include("services.partials.unit-actions")

View File

@ -0,0 +1 @@
@include("services.partials.unit-actions")

View File

@ -0,0 +1 @@
@include("services.partials.unit-actions")

View File

@ -0,0 +1,33 @@
<div>
<x-card-header>
<x-slot name="title">Supported Services</x-slot>
<x-slot name="description">Here you can find the supported services to install</x-slot>
<x-slot name="aside"></x-slot>
</x-card-header>
<div class="grid grid-cols-1 gap-5 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4">
@foreach (config("core.add_on_services") as $addOn)
<div
class="relative flex h-auto flex-col items-center justify-between space-y-3 rounded-b-md rounded-t-md border border-gray-200 bg-white text-center dark:border-gray-700 dark:bg-gray-800"
>
<div class="space-y-3 p-5">
<div class="flex items-center justify-center">
<img src="{{ asset("static/images/" . $addOn . ".svg") }}" class="h-20 w-20" alt="" />
</div>
<div class="flex flex-grow flex-col items-start justify-center">
<div class="flex items-center">
<div class="flex items-center text-lg">
{{ $addOn }}
</div>
</div>
</div>
</div>
<div
class="flex w-full items-center justify-between rounded-b-md border-t border-t-gray-200 bg-gray-50 p-2 dark:border-t-gray-600 dark:bg-gray-700"
>
@include("services.partials.add-on-installers." . $addOn)
</div>
</div>
@endforeach
</div>
</div>

View File

@ -1,80 +1,42 @@
<div>
<x-card-header>
<x-slot name="title">{{ __("Services") }}</x-slot>
<x-slot name="description">
{{ __("All services that we installed on your server are here") }}
</x-slot>
<x-slot name="title">Installed Services</x-slot>
<x-slot name="description">All services that we installed on your server are here</x-slot>
<x-slot name="aside"></x-slot>
</x-card-header>
<x-live id="live-services" interval="5s">
<div class="space-y-3">
<x-live id="live-services">
<div class="grid grid-cols-1 gap-5 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4">
@foreach ($services as $service)
<x-item-card>
<div class="flex-none">
<img src="{{ asset("static/images/" . $service->name . ".svg") }}" class="h-10 w-10" alt="" />
<div
class="relative flex h-auto flex-col items-center justify-between space-y-3 rounded-b-md rounded-t-md border border-gray-200 bg-white text-center dark:border-gray-700 dark:bg-gray-800"
>
<div class="absolute right-3 top-3">
@include("services.partials.status", ["status" => $service->status])
</div>
<div class="ml-3 flex flex-grow flex-col items-start justify-center">
<div class="flex items-center">
<div class="mr-2">{{ $service->name }}:{{ $service->version }}</div>
@include("services.partials.status", ["status" => $service->status])
<div class="space-y-3 p-5">
<div class="flex items-center justify-center">
<img
src="{{ asset("static/images/" . $service->name . ".svg") }}"
class="h-20 w-20"
alt=""
/>
</div>
<div class="flex flex-grow flex-col items-start justify-center">
<div class="flex items-center">
<div class="flex items-center text-lg">
{{ $service->name }}
<x-status status="disabled" class="ml-1">{{ $service->version }}</x-status>
</div>
</div>
</div>
</div>
<div class="flex items-center">
<x-dropdown>
<x-slot name="trigger">
<x-secondary-button>
{{ __("Actions") }}
</x-secondary-button>
</x-slot>
<x-slot name="content">
@if ($service->unit)
@if ($service->status == \App\Enums\ServiceStatus::STOPPED)
<x-dropdown-link
class="cursor-pointer"
href="{{ route('servers.services.start', ['server' => $server, 'service' => $service]) }}"
>
{{ __("Start") }}
</x-dropdown-link>
@endif
@if ($service->status == \App\Enums\ServiceStatus::READY)
<x-dropdown-link
class="cursor-pointer"
href="{{ route('servers.services.stop', ['server' => $server, 'service' => $service]) }}"
>
{{ __("Stop") }}
</x-dropdown-link>
@endif
<x-dropdown-link
class="cursor-pointer"
href="{{ route('servers.services.restart', ['server' => $server, 'service' => $service]) }}"
>
{{ __("Restart") }}
</x-dropdown-link>
@if ($service->status == \App\Enums\ServiceStatus::DISABLED)
<x-dropdown-link
class="cursor-pointer"
href="{{ route('servers.services.enable', ['server' => $server, 'service' => $service]) }}"
>
{{ __("Enable") }}
</x-dropdown-link>
@endif
<x-dropdown-link
class="cursor-pointer"
href="{{ route('servers.services.disable', ['server' => $server, 'service' => $service]) }}"
>
{{ __("Disable") }}
</x-dropdown-link>
@endif
</x-slot>
</x-dropdown>
<div
class="flex w-full items-center justify-between rounded-b-md border-t border-t-gray-200 bg-gray-50 p-2 dark:border-t-gray-600 dark:bg-gray-700"
>
@include("services.partials.actions." . $service->name)
</div>
</x-item-card>
</div>
@endforeach
</div>
</x-live>

View File

@ -0,0 +1,42 @@
<x-icon-button
data-tooltip="Restart Service"
class="cursor-pointer"
href="{{ route('servers.services.restart', ['server' => $server, 'service' => $service]) }}"
>
<x-heroicon name="o-arrow-path" class="h-5 w-5" />
</x-icon-button>
<x-icon-button
:disabled="$service->status != \App\Enums\ServiceStatus::STOPPED"
data-tooltip="Start Service"
class="cursor-pointer"
href="{{ route('servers.services.start', ['server' => $server, 'service' => $service]) }}"
>
<x-heroicon name="o-play" class="h-5 w-5 text-green-400" />
</x-icon-button>
<x-icon-button
data-tooltip="Stop Service"
:disabled="$service->status != \App\Enums\ServiceStatus::READY"
class="cursor-pointer"
href="{{ route('servers.services.stop', ['server' => $server, 'service' => $service]) }}"
>
<x-heroicon name="o-stop" class="h-5 w-5 text-red-400" />
</x-icon-button>
<x-icon-button
:disabled="$service->status != \App\Enums\ServiceStatus::DISABLED"
data-tooltip="Enable Service"
class="cursor-pointer"
href="{{ route('servers.services.enable', ['server' => $server, 'service' => $service]) }}"
>
<x-heroicon name="o-check" class="h-5 w-5" />
</x-icon-button>
<x-icon-button
data-tooltip="Disable Service"
class="cursor-pointer"
href="{{ route('servers.services.disable', ['server' => $server, 'service' => $service]) }}"
>
<x-heroicon name="o-no-symbol" class="h-5 w-5" />
</x-icon-button>

View File

@ -0,0 +1,13 @@
@include("sites.partials.create.fields.php-version")
<div>
<x-input-label for="version" :value="__('Version')" />
<x-select-input id="version" name="version" class="mt-1 w-full">
<option value="" selected>{{ __("Select") }}</option>
<option value="5.1.2" @if(old('version') == '5.1.2') selected @endif>PHPMyAdmin 5.1.2</option>
<option value="4.9.11" @if(old('version') == '4.9.11') selected @endif>PHPMyAdmin 4.9.11</option>
</x-select-input>
@error("version")
<x-input-error class="mt-2" :messages="$message" />
@enderror
</div>