Replace user_skin macro with blade component

This commit is contained in:
Marcus Moore
2025-05-27 16:00:47 -07:00
parent 53a82d3f4d
commit 2c452daddf
3 changed files with 43 additions and 31 deletions
-30
View File
@@ -285,33 +285,3 @@ Form::macro('skin', function ($name = 'skin', $selected = null, $class = null) {
return $select;
});
Form::macro('user_skin', function ($name = 'skin', $selected = null, $class = null) {
$formats = [
'' => 'Site Default',
'blue' => trans('general.skins.default_blue'),
'blue-dark' => trans('general.skins.blue_dark'),
'green' => trans('general.skins.green'),
'green-dark' => trans('general.skins.green_dark'),
'red' => trans('general.skins.red'),
'red-dark' => trans('general.skins.red_dark'),
'orange' => trans('general.skins.orange'),
'orange-dark' => trans('general.skins.orange_dark'),
'black' => trans('general.skins.black'),
'black-dark' => trans('general.skins.black_dark'),
'purple' => trans('general.skins.purple'),
'purple-dark' => trans('general.skins.purple_dark'),
'yellow' => trans('general.skins.yellow_dark'),
'yellow-dark' => trans('general.skins.yellow'),
'contrast' => trans('general.skins.high_contrast'),
];
$select = '<select name="'.$name.'" class="'.$class.'" style="width: 250px">';
foreach ($formats as $format => $label) {
$select .= '<option value="'.$format.'"'.($selected == $format ? ' selected="selected"' : '').'>'.$label.'</option> '."\n";
}
$select .= '</select>';
return $select;
});
+1 -1
View File
@@ -65,7 +65,7 @@
{{ trans('general.skin') }}
</label>
<div class="col-md-8">
{!! Form::user_skin('skin', old('skin', $user->skin), 'select2') !!}
<x-input.user-skin name="skin" :selected="old('skin', $user->skin)" />
{!! $errors->first('skin', '<span class="alert-msg">:message</span>') !!}
</div>
</div>
@@ -0,0 +1,42 @@
@props([
'name',
'selected',
])
@php
$formats = [
'' => 'Site Default',
'blue' => trans('general.skins.default_blue'),
'blue-dark' => trans('general.skins.blue_dark'),
'green' => trans('general.skins.green'),
'green-dark' => trans('general.skins.green_dark'),
'red' => trans('general.skins.red'),
'red-dark' => trans('general.skins.red_dark'),
'orange' => trans('general.skins.orange'),
'orange-dark' => trans('general.skins.orange_dark'),
'black' => trans('general.skins.black'),
'black-dark' => trans('general.skins.black_dark'),
'purple' => trans('general.skins.purple'),
'purple-dark' => trans('general.skins.purple_dark'),
'yellow' => trans('general.skins.yellow_dark'),
'yellow-dark' => trans('general.skins.yellow'),
'contrast' => trans('general.skins.high_contrast'),
];
@endphp
<select
name="{{ $name }}"
{{ $attributes->merge([
'class' => 'select2',
'style' => 'width: 250px',
]) }}
>
@foreach ($formats as $value => $label)
<option
value="{{ $value }}"
@selected($value == $selected)
>
{{ $label }}
</option>
@endforeach
</select>