add all controllers logic
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Preferences;
|
||||
|
||||
class PreferencesOptionsService
|
||||
{
|
||||
public function defaultPreferences(): array
|
||||
{
|
||||
return [
|
||||
'receive_email_notifications' => true,
|
||||
'receive_sms_notifications' => true,
|
||||
'theme' => 'light',
|
||||
'language' => 'en',
|
||||
'style_color' => 'blue',
|
||||
'menu_color' => 'white',
|
||||
];
|
||||
}
|
||||
|
||||
public function styleOptions(): array
|
||||
{
|
||||
return ['blue', 'green', 'red', 'orange', 'gray', 'black', 'white'];
|
||||
}
|
||||
|
||||
public function menuOptions(): array
|
||||
{
|
||||
return ['white', 'gray', 'black', 'blue', 'green'];
|
||||
}
|
||||
|
||||
public function normalizeStyle(?string $style): ?string
|
||||
{
|
||||
if (!$style) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$style = trim($style);
|
||||
return in_array($style, $this->styleOptions(), true) ? $style : null;
|
||||
}
|
||||
|
||||
public function normalizeMenu(?string $menu): ?string
|
||||
{
|
||||
if (!$menu) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$menu = trim($menu);
|
||||
return in_array($menu, $this->menuOptions(), true) ? $menu : null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user