- Added a new post-install script for composer which adds a project skeleton "ready to use". - Error 500 are now handled properly in production; waiting to see if adjustements will be required before adding other code pages.
104 lines
2.6 KiB
PHP
104 lines
2.6 KiB
PHP
<?php declare(strict_types=1);
|
|
|
|
namespace %NAMESPACE%\Lib;
|
|
|
|
use Picea\Ui\Method\FormMessage;
|
|
|
|
class Message implements FormMessage {
|
|
|
|
const MESSAGE_TYPE = [
|
|
'success' => [
|
|
'class' => 'success',
|
|
'header' => 'Succès !',
|
|
'message' => ''
|
|
],
|
|
|
|
'error' => [
|
|
'class' => 'danger',
|
|
'header' => 'Error !',
|
|
'message' => ''
|
|
],
|
|
|
|
'warning' => [
|
|
'class' => 'warning',
|
|
'header' => 'Attention !',
|
|
'message' => ''
|
|
],
|
|
];
|
|
|
|
public string $type;
|
|
|
|
public string $message;
|
|
|
|
public string $class;
|
|
|
|
public ? string $header = null;
|
|
|
|
public function __construct(string $message, string $type = "error", ? string $header = null, ? string $class = null)
|
|
{
|
|
$this->message = $message;
|
|
|
|
$this->type = $type;
|
|
|
|
if ( $header !== null ) {
|
|
$this->header = $header;
|
|
}
|
|
else {
|
|
$this->header = static::MESSAGE_TYPE[$type]['header'];
|
|
}
|
|
|
|
if ( $class !== null ) {
|
|
$this->class = $class;
|
|
}
|
|
else {
|
|
$this->class = static::MESSAGE_TYPE[$type]['class'];
|
|
}
|
|
}
|
|
|
|
public function render() : string
|
|
{
|
|
return <<<HTML
|
|
<article class="message is-{$this->class}" role="alert">
|
|
<div class="message-body">
|
|
<strong>{$this->header}</strong>
|
|
<span>{$this->message}</span>
|
|
</div>
|
|
</article>
|
|
HTML;
|
|
}
|
|
|
|
public function renderJson() : array
|
|
{
|
|
return [
|
|
'name' => 'show-notification',
|
|
'type' => [
|
|
'error' => 'danger',
|
|
'success' => 'success',
|
|
'warning' => 'warning',
|
|
][$this->type],
|
|
'shake' => '.wrapper',
|
|
'message' => $this->message,
|
|
];
|
|
}
|
|
|
|
public function isError() : bool
|
|
{
|
|
return $this->type === "error";
|
|
}
|
|
|
|
public static function generateSuccess(string $message, ? string $header = null, ? string $class = null) : self
|
|
{
|
|
return new static($message, 'success', $header, $class);
|
|
}
|
|
|
|
public static function generateError(string $message, ? string $header = null, ? string $class = null) : self
|
|
{
|
|
return new static($message, 'error', $header, $class);
|
|
}
|
|
|
|
public static function generateWarning(string $message, ? string $header = null, ? string $class = null) : self
|
|
{
|
|
return new static($message, 'warning', $header, $class);
|
|
}
|
|
}
|