parfum/app/Livewire/Forms/Studio/Setting/GeneralForm.php
Yoga Pangestu 224ea30a2a feat(setting): implementasi maintenance mode
- membuat config baru untuk secret key
- implementasi test
- menyesuaikan validasi
- kasih return type
2025-12-10 11:38:44 +07:00

60 lines
1.6 KiB
PHP

<?php
namespace App\Livewire\Forms\Studio\Setting;
use App\Settings\GeneralSettings;
use Livewire\Form;
class GeneralForm extends Form
{
public string $site_name = '';
public string $site_tagline = '';
public string $site_description = '';
public bool $maintenance_mode = false;
public function rules(): array
{
return [
'site_name' => ['required', 'string', 'min:1', 'max:100'],
'site_tagline' => ['required', 'string', 'min:1', 'max:150'],
'site_description' => ['required', 'string', 'min:10', 'max:500'],
'maintenance_mode' => ['required', 'boolean'],
];
}
public function validationAttributes(): array
{
return [
'site_name' => 'nama situs',
'site_tagline' => 'tagline situs',
'site_description' => 'deskripsi situs',
'maintenance_mode' => 'mode maintenance',
];
}
public function setSettings(GeneralSettings $settings): void
{
$this->site_name = $settings->site_name;
$this->site_tagline = $settings->site_tagline;
$this->site_description = $settings->site_description;
$this->maintenance_mode = $settings->maintenance_mode;
}
public function update(GeneralSettings $settings): bool
{
$this->validate();
$settings->site_name = $this->site_name;
$settings->site_tagline = $this->site_tagline;
$settings->site_description = $this->site_description;
$settings->maintenance_mode = $this->maintenance_mode;
$settings->save();
return $settings->maintenance_mode;
}
}