diff --git a/app/Filament/Resources/Master/Users/Schemas/UserForm.php b/app/Filament/Resources/Master/Users/Schemas/UserForm.php
index 7201484..429a700 100644
--- a/app/Filament/Resources/Master/Users/Schemas/UserForm.php
+++ b/app/Filament/Resources/Master/Users/Schemas/UserForm.php
@@ -3,12 +3,15 @@
namespace App\Filament\Resources\Master\Users\Schemas;
use App\Enums\RoleEnum;
+use App\Filament\Support\CheerfulNotification;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Schemas\Components\Grid;
+use Filament\Schemas\Components\Section;
use Filament\Schemas\Schema;
use Illuminate\Database\Eloquent\Builder;
+use Illuminate\Support\HtmlString;
class UserForm
{
@@ -16,50 +19,58 @@ public static function configure(Schema $schema): Schema
{
return $schema
->components([
- TextInput::make('name')
- ->label('Nama Lengkap')
- ->placeholder('John Doe')
- ->autocomplete(false)
- ->autofocus()
- ->required()
- ->maxLength(100),
-
- Grid::make(1)
+ Section::make()
+ ->description(function (string $operation) {
+ return $operation === 'create'
+ ? new HtmlString(CheerfulNotification::getByKey('user.create_form_desc'))
+ : null;
+ })
->schema([
- TextInput::make('email')
- ->label('Alamat Surel')
- ->placeholder('johndoe@example.com')
+ TextInput::make('name')
+ ->label('Nama Lengkap')
+ ->placeholder('John Doe')
->autocomplete(false)
+ ->autofocus()
->required()
- ->maxLength(254)
- ->email()
- ->unique(ignoreRecord: true)
- ->prefixIcon('heroicon-o-envelope'),
+ ->maxLength(100),
- TextInput::make('username')
- ->label('Nama Pengguna')
- ->placeholder('johndoe')
- ->autocomplete(false)
- ->required()
- ->minLength(5)
- ->maxLength(20)
- ->regex('/^[a-zA-Z0-9_.-]+$/')
- ->unique(ignoreRecord: true)
- ->prefixIcon('heroicon-o-at-symbol'),
+ Grid::make(1)
+ ->schema([
+ TextInput::make('email')
+ ->label('Alamat Surel')
+ ->placeholder('johndoe@example.com')
+ ->autocomplete(false)
+ ->required()
+ ->maxLength(254)
+ ->email()
+ ->unique(ignoreRecord: true)
+ ->prefixIcon('heroicon-o-envelope'),
- Select::make('roles')
- ->label('Peran')
- ->required()
- ->relationship('roles', 'name', function (Builder $query): Builder {
- return $query->whereNotIn('name', [RoleEnum::DEVELOPER, RoleEnum::PERUSAHAAN]);
- })
- ->multiple()
- ->preload()
- ->searchable(),
+ TextInput::make('username')
+ ->label('Nama Pengguna')
+ ->placeholder('johndoe')
+ ->autocomplete(false)
+ ->required()
+ ->minLength(5)
+ ->maxLength(20)
+ ->regex('/^[a-zA-Z0-9_.-]+$/')
+ ->unique(ignoreRecord: true)
+ ->prefixIcon('heroicon-o-at-symbol'),
- Hidden::make('password')
- ->default(fn (): string => config('auth.password_default'))
- ->visibleOn('create'),
+ Select::make('roles')
+ ->label('Peran')
+ ->required()
+ ->relationship('roles', 'name', function (Builder $query): Builder {
+ return $query->whereNotIn('name', [RoleEnum::DEVELOPER, RoleEnum::PERUSAHAAN]);
+ })
+ ->multiple()
+ ->preload()
+ ->searchable(),
+
+ Hidden::make('password')
+ ->default(fn (): string => config('auth.password_default'))
+ ->visibleOn('create'),
+ ]),
]),
])
->columns(1);
diff --git a/lang/id/notif.php b/lang/id/notif.php
index a65519b..f05ba5c 100644
--- a/lang/id/notif.php
+++ b/lang/id/notif.php
@@ -889,6 +889,10 @@
'cheerful' => 'Yuk, buat akun baru biar makin lengkap penggunanya! 💪😊',
'formal' => 'Silakan masukkan detail akun pengguna baru di bawah ini.',
],
+ 'create_form_desc' => [
+ 'cheerful' => 'Pake alamat surel dan nama pengguna ini buat masuk ya. Oh iya, kata sandi awalnya '.config('auth.password_default').' 🥳',
+ 'formal' => 'Gunakan alamat surel dan nama pengguna ini untuk masuk. Kata sandi awalnya adalah '.config('auth.password_default').'.',
+ ],
],
'theme' => [
'create_title' => [