mirror of https://github.com/kcal-app/kcal.git
Create partials for shared user/profile inputs
This commit is contained in:
parent
78c3095036
commit
77ed32ee4d
|
|
@ -15,7 +15,7 @@ class UpdateUserRequest extends FormRequest
|
||||||
{
|
{
|
||||||
$rules = [
|
$rules = [
|
||||||
'username' => ['required', 'string', Rule::unique('users')->ignore($this->user)],
|
'username' => ['required', 'string', Rule::unique('users')->ignore($this->user)],
|
||||||
'name' => ['nullable', 'string'],
|
'name' => ['required', 'string'],
|
||||||
'password' => ['nullable', 'string', 'confirmed'],
|
'password' => ['nullable', 'string', 'confirmed'],
|
||||||
'password_confirmation' => ['nullable', 'string'],
|
'password_confirmation' => ['nullable', 'string'],
|
||||||
'admin' => ['nullable', 'boolean'],
|
'admin' => ['nullable', 'boolean'],
|
||||||
|
|
|
||||||
|
|
@ -8,53 +8,12 @@
|
||||||
@csrf
|
@csrf
|
||||||
<div class="flex flex-col space-y-4">
|
<div class="flex flex-col space-y-4">
|
||||||
<div class="flex flex-col space-y-4 md:flex-row md:space-x-4 md:space-y-0">
|
<div class="flex flex-col space-y-4 md:flex-row md:space-x-4 md:space-y-0">
|
||||||
<!-- Username -->
|
@include('users.partials.inputs.username')
|
||||||
<div class="flex-auto">
|
@include('users.partials.inputs.name')
|
||||||
<x-inputs.label for="username" value="Username"/>
|
|
||||||
|
|
||||||
<x-inputs.input name="username"
|
|
||||||
type="text"
|
|
||||||
class="block mt-1 w-full"
|
|
||||||
autocapitalize="none"
|
|
||||||
:value="old('username', $user->username)"
|
|
||||||
:hasError="$errors->has('username')"
|
|
||||||
required />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Name -->
|
|
||||||
<div class="flex-auto">
|
|
||||||
<x-inputs.label for="name" value="Display name"/>
|
|
||||||
|
|
||||||
<x-inputs.input name="name"
|
|
||||||
type="text"
|
|
||||||
class="block mt-1 w-full"
|
|
||||||
:value="old('name', $user->name)"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-col space-y-4 md:flex-row md:space-x-4 md:space-y-0">
|
<div class="flex flex-col space-y-4 md:flex-row md:space-x-4 md:space-y-0">
|
||||||
<!-- Password -->
|
@include('users.partials.inputs.password')
|
||||||
<div class="flex-auto">
|
|
||||||
<x-inputs.label for="password" value="Password"/>
|
|
||||||
|
|
||||||
<x-inputs.input name="password"
|
|
||||||
type="password"
|
|
||||||
class="block mt-1 w-full"
|
|
||||||
:hasError="$errors->has('password')"
|
|
||||||
:required="!$user->exists"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Password confirm -->
|
|
||||||
<div class="flex-auto">
|
|
||||||
<x-inputs.label for="password_confirmation" value="Confirm Password"/>
|
|
||||||
|
|
||||||
<x-inputs.input name="password_confirmation"
|
|
||||||
type="password"
|
|
||||||
class="block mt-1 w-full"
|
|
||||||
:hasError="$errors->has('password')"
|
|
||||||
:required="!$user->exists"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Image -->
|
<!-- Image -->
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,8 @@
|
||||||
{{ $user->getFirstMedia()('icon') }}
|
{{ $user->getFirstMedia()('icon') }}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-2 text-gray-500">
|
|
||||||
{{ $user->name }}
|
|
||||||
</div>
|
|
||||||
@endif
|
@endif
|
||||||
|
<div class="mt-2 text-gray-500">
|
||||||
|
{{ $user->name }}
|
||||||
|
</div>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
|
|
||||||
|
|
@ -9,65 +9,15 @@
|
||||||
@csrf
|
@csrf
|
||||||
<div class="flex flex-col space-y-4">
|
<div class="flex flex-col space-y-4">
|
||||||
<div class="flex flex-col space-y-4 md:flex-row md:space-x-4 md:space-y-0">
|
<div class="flex flex-col space-y-4 md:flex-row md:space-x-4 md:space-y-0">
|
||||||
<!-- Username -->
|
@include('users.partials.inputs.username')
|
||||||
<div class="flex-auto space-y-1">
|
@include('users.partials.inputs.name')
|
||||||
<x-inputs.label for="username" value="Username"/>
|
|
||||||
|
|
||||||
<x-inputs.input name="username"
|
|
||||||
type="text"
|
|
||||||
class="block w-full"
|
|
||||||
autocapitalize="none"
|
|
||||||
:value="old('username', $user->username)"
|
|
||||||
:hasError="$errors->has('username')"
|
|
||||||
required />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Name -->
|
|
||||||
<div class="flex-auto space-y-1">
|
|
||||||
<x-inputs.label for="name" value="Display name"/>
|
|
||||||
|
|
||||||
<x-inputs.input name="name"
|
|
||||||
type="text"
|
|
||||||
class="block w-full"
|
|
||||||
:value="old('name', $user->name)"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-col space-y-4 md:flex-row md:space-x-4 md:space-y-0">
|
<div class="flex flex-col space-y-4 md:flex-row md:space-x-4 md:space-y-0">
|
||||||
<!-- Password -->
|
@include('users.partials.inputs.password')
|
||||||
<div class="flex-auto space-y-1">
|
|
||||||
<x-inputs.label for="password" value="Password"/>
|
|
||||||
|
|
||||||
<x-inputs.input name="password"
|
|
||||||
type="password"
|
|
||||||
class="block w-full"
|
|
||||||
:hasError="$errors->has('password')"
|
|
||||||
:required="!$user->exists"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Password confirm -->
|
|
||||||
<div class="flex-auto space-y-1">
|
|
||||||
<x-inputs.label for="password_confirmation" value="Confirm Password"/>
|
|
||||||
|
|
||||||
<x-inputs.input name="password_confirmation"
|
|
||||||
type="password"
|
|
||||||
class="block w-full"
|
|
||||||
:hasError="$errors->has('password')"
|
|
||||||
:required="!$user->exists"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Admin -->
|
@include('users.partials.inputs.admin')
|
||||||
<div class="space-y-1">
|
|
||||||
<x-inputs.label for="admin" value="Site Admin" class="inline-block"/>
|
|
||||||
|
|
||||||
<x-inputs.select name="admin"
|
|
||||||
class="block"
|
|
||||||
:options="[['value' => 0, 'label' => 'No'], ['value' => 1, 'label' => 'Yes']]"
|
|
||||||
:selectedValue="old('admin', $user->admin)">
|
|
||||||
</x-inputs.select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Image -->
|
<!-- Image -->
|
||||||
<div class="flex flex-col space-y-4 md:flex-row md:space-x-4 md:space-y-0">
|
<div class="flex flex-col space-y-4 md:flex-row md:space-x-4 md:space-y-0">
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
<div class="space-y-1">
|
||||||
|
<x-inputs.label for="admin" value="Site Admin" class="inline-block"/>
|
||||||
|
|
||||||
|
<x-inputs.select name="admin"
|
||||||
|
class="block"
|
||||||
|
:options="[['value' => 0, 'label' => 'No'], ['value' => 1, 'label' => 'Yes']]"
|
||||||
|
:selectedValue="old('admin', $user->admin)">
|
||||||
|
</x-inputs.select>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
<div class="flex-auto space-y-1">
|
||||||
|
<x-inputs.label for="name" value="Display name"/>
|
||||||
|
|
||||||
|
<x-inputs.input name="name"
|
||||||
|
type="text"
|
||||||
|
class="block w-full"
|
||||||
|
:value="old('name', $user->name)"
|
||||||
|
:hasError="$errors->has('name')"
|
||||||
|
required />
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
<div class="flex-auto space-y-1">
|
||||||
|
<x-inputs.label for="password" value="Password"/>
|
||||||
|
|
||||||
|
<x-inputs.input name="password"
|
||||||
|
type="password"
|
||||||
|
class="block w-full"
|
||||||
|
:hasError="$errors->has('password')"
|
||||||
|
:required="!$user->exists"/>
|
||||||
|
</div>
|
||||||
|
<div class="flex-auto space-y-1">
|
||||||
|
<x-inputs.label for="password_confirmation" value="Confirm Password"/>
|
||||||
|
|
||||||
|
<x-inputs.input name="password_confirmation"
|
||||||
|
type="password"
|
||||||
|
class="block w-full"
|
||||||
|
:hasError="$errors->has('password')"
|
||||||
|
:required="!$user->exists"/>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
<div class="flex-auto space-y-1">
|
||||||
|
<x-inputs.label for="username" value="Username"/>
|
||||||
|
|
||||||
|
<x-inputs.input name="username"
|
||||||
|
type="text"
|
||||||
|
class="block w-full"
|
||||||
|
autocapitalize="none"
|
||||||
|
:value="old('username', $user->username)"
|
||||||
|
:hasError="$errors->has('username')"
|
||||||
|
required />
|
||||||
|
</div>
|
||||||
Loading…
Reference in New Issue