45 lines
916 B
PHP
45 lines
916 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
declare(strict_types=1);
|
||
|
|
|
||
|
|
namespace App\Services;
|
||
|
|
|
||
|
|
use Illuminate\Support\Facades\Session;
|
||
|
|
|
||
|
|
class FlashMessageService
|
||
|
|
{
|
||
|
|
/** Add a message without erasing previous */
|
||
|
|
public function add(string $type, string $message): void
|
||
|
|
{
|
||
|
|
$existingMessages = Session::get($type, []);
|
||
|
|
|
||
|
|
if (! is_array($existingMessages)) {
|
||
|
|
$existingMessages = [$existingMessages];
|
||
|
|
}
|
||
|
|
|
||
|
|
$existingMessages[] = $message;
|
||
|
|
|
||
|
|
Session::flash($type, $existingMessages);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function info(string $message): void
|
||
|
|
{
|
||
|
|
$this->add('info', $message);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function success(string $message): void
|
||
|
|
{
|
||
|
|
$this->add('success', $message);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function error(string $message): void
|
||
|
|
{
|
||
|
|
$this->add('error', $message);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function warning(string $message): void
|
||
|
|
{
|
||
|
|
$this->add('warning', $message);
|
||
|
|
}
|
||
|
|
}
|