From 3a0a20d59cdae7f166325efb750eaa6e9800ba6e Mon Sep 17 00:00:00 2001 From: Yassine Doghri <yassine@doghri.fr> Date: Tue, 1 Feb 2022 16:08:55 +0000 Subject: [PATCH] fix(install): set message block on forms to show error messages fixes #157 --- app/Views/Components/Alert.php | 2 ++ themes/cp_install/_layout.php | 2 +- themes/cp_install/_message_block.php | 20 ++++++++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 themes/cp_install/_message_block.php diff --git a/app/Views/Components/Alert.php b/app/Views/Components/Alert.php index 41cf3bc51f..9cf3007527 100644 --- a/app/Views/Components/Alert.php +++ b/app/Views/Components/Alert.php @@ -30,6 +30,8 @@ class Alert extends Component $title = $this->title === null ? '' : '<div class="font-semibold">' . $this->title . '</div>'; $class = 'inline-flex w-full p-2 text-sm border rounded ' . $variantClasses[$this->variant] . ' ' . $this->class; + unset($this->attributes['slot']); + unset($this->attributes['variant']); $attributes = stringify_attributes($this->attributes); return <<<HTML diff --git a/themes/cp_install/_layout.php b/themes/cp_install/_layout.php index a8563c0466..30d24d6b7f 100644 --- a/themes/cp_install/_layout.php +++ b/themes/cp_install/_layout.php @@ -23,7 +23,7 @@ </div> </header> <main class="container flex flex-col items-center justify-center flex-1 px-4 py-10 mx-auto"> - <!-- view('_message_block') --> + <?= view('_message_block') ?> <?= $this->renderSection('content') ?> </main> <footer class="container px-2 py-4 mx-auto text-sm text-right border-t border-subtle"> diff --git a/themes/cp_install/_message_block.php b/themes/cp_install/_message_block.php new file mode 100644 index 0000000000..b52a79f6cf --- /dev/null +++ b/themes/cp_install/_message_block.php @@ -0,0 +1,20 @@ +<?php declare(strict_types=1); + +if (session()->has('message')): ?> + <Alert variant="success" class="max-w-sm mb-4"><?= session('message') ?></Alert> +<?php endif; ?> + +<?php if (session()->has('error')): ?> + <Alert variant="danger" class="max-w-sm mb-4"><?= session('error') ?></Alert> +<?php endif; ?> + +<?php if (session()->has('errors')): ?> + <Alert variant="danger" class="max-w-sm mb-4"> + <ul> + <?php foreach (session('errors') as $error): ?> + <li><?= $error ?></li> + <?php endforeach; ?> + </ul> + </Alert> +<?php endif; +?> -- GitLab