mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-02 14:36:17 +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:
34
app/Helpers/HtmxResponse.php
Normal file
34
app/Helpers/HtmxResponse.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers;
|
||||
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class HtmxResponse extends Response
|
||||
{
|
||||
public function redirect(string $redirect): self
|
||||
{
|
||||
$this->header('HX-Redirect', $redirect);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function back(): self
|
||||
{
|
||||
return $this->redirect(back()->getTargetUrl());
|
||||
}
|
||||
|
||||
public function refresh(): self
|
||||
{
|
||||
$this->header('HX-Refresh', true);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function location(string $location): self
|
||||
{
|
||||
$this->header('HX-Location', $location);
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
@ -4,6 +4,8 @@
|
||||
|
||||
use App\Contracts\SSHCommand;
|
||||
use App\Exceptions\SSHAuthenticationError;
|
||||
use App\Exceptions\SSHCommandError;
|
||||
use App\Exceptions\SSHConnectionError;
|
||||
use App\Models\Server;
|
||||
use App\Models\ServerLog;
|
||||
use Exception;
|
||||
@ -99,20 +101,28 @@ public function exec(string|array|SSHCommand $commands, string $log = '', ?int $
|
||||
$this->log = null;
|
||||
}
|
||||
|
||||
if (! $this->connection) {
|
||||
$this->connect();
|
||||
try {
|
||||
if (! $this->connection) {
|
||||
$this->connect();
|
||||
}
|
||||
} catch (Throwable $e) {
|
||||
throw new SSHConnectionError($e->getMessage());
|
||||
}
|
||||
|
||||
if (! is_array($commands)) {
|
||||
$commands = [$commands];
|
||||
}
|
||||
|
||||
$result = '';
|
||||
foreach ($commands as $command) {
|
||||
$result .= $this->executeCommand($command);
|
||||
}
|
||||
try {
|
||||
$result = '';
|
||||
foreach ($commands as $command) {
|
||||
$result .= $this->executeCommand($command);
|
||||
}
|
||||
|
||||
return $result;
|
||||
return $result;
|
||||
} catch (Throwable $e) {
|
||||
throw new SSHCommandError($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2,14 +2,8 @@
|
||||
|
||||
namespace App\Helpers;
|
||||
|
||||
use Livewire\Component;
|
||||
|
||||
class Toast
|
||||
{
|
||||
public function __construct(public Component $component)
|
||||
{
|
||||
}
|
||||
|
||||
public function success(string $message): void
|
||||
{
|
||||
$this->toast('success', $message);
|
||||
@ -32,6 +26,7 @@ public function info(string $message): void
|
||||
|
||||
private function toast(string $type, string $message): void
|
||||
{
|
||||
$this->component->dispatch('toast', type: $type, message: $message);
|
||||
session()->flash('toast.type', $type);
|
||||
session()->flash('toast.message', $message);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user