192 lines
11 KiB
PHP
192 lines
11 KiB
PHP
@extends('layouts.marketing')
|
|
|
|
@section('title', __('profile.edit_title'))
|
|
|
|
@section('content')
|
|
<div class="min-h-screen bg-gray-50 py-12 px-4 sm:px-6 lg:px-8">
|
|
<div class="max-w-4xl mx-auto">
|
|
<div class="bg-white shadow overflow-hidden sm:rounded-lg">
|
|
<div class="px-4 py-5 sm:px-6">
|
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
|
{{ __('profile.personal_information') }}
|
|
</h3>
|
|
<p class="mt-1 max-w-2xl text-sm text-gray-500">
|
|
{{ __('profile.update_info') }}
|
|
</p>
|
|
</div>
|
|
<div class="border-t border-gray-200">
|
|
<form method="POST" action="{{ route('profile.update') }}" class="px-4 py-5 sm:p-6">
|
|
@csrf
|
|
@method('PATCH')
|
|
|
|
<!-- Name Field -->
|
|
<div class="grid grid-cols-6 gap-6">
|
|
<div class="col-span-6 sm:col-span-3">
|
|
<label for="name" class="block text-sm font-medium text-gray-700">
|
|
{{ __('auth.name') }}
|
|
</label>
|
|
<input type="text" name="name" id="name" value="{{ old('name', $user->name) }}"
|
|
class="mt-1 focus:ring-blue-500 focus:border-blue-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md @error('name') border-red-500 @enderror"
|
|
required>
|
|
@error('name')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<!-- Username Field -->
|
|
<div class="col-span-6 sm:col-span-3">
|
|
<label for="username" class="block text-sm font-medium text-gray-700">
|
|
{{ __('auth.username') }}
|
|
</label>
|
|
<input type="text" name="username" id="username" value="{{ old('username', $user->username) }}"
|
|
class="mt-1 focus:ring-blue-500 focus:border-blue-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md @error('username') border-red-500 @enderror"
|
|
required>
|
|
@error('username')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-6 gap-6 mt-6">
|
|
<!-- Email Field -->
|
|
<div class="col-span-6 sm:col-span-3">
|
|
<label for="email" class="block text-sm font-medium text-gray-700">
|
|
{{ __('auth.email') }}
|
|
</label>
|
|
<input type="email" name="email" id="email" value="{{ old('email', $user->email) }}"
|
|
class="mt-1 focus:ring-blue-500 focus:border-blue-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md @error('email') border-red-500 @enderror"
|
|
required>
|
|
@error('email')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<!-- First Name Field -->
|
|
<div class="col-span-6 sm:col-span-3">
|
|
<label for="first_name" class="block text-sm font-medium text-gray-700">
|
|
{{ __('profile.first_name') }}
|
|
</label>
|
|
<input type="text" name="first_name" id="first_name" value="{{ old('first_name', $user->first_name) }}"
|
|
class="mt-1 focus:ring-blue-500 focus:border-blue-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md @error('first_name') border-red-500 @enderror"
|
|
required>
|
|
@error('first_name')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-6 gap-6 mt-6">
|
|
<!-- Last Name Field -->
|
|
<div class="col-span-6 sm:col-span-3">
|
|
<label for="last_name" class="block text-sm font-medium text-gray-700">
|
|
{{ __('profile.last_name') }}
|
|
</label>
|
|
<input type="text" name="last_name" id="last_name" value="{{ old('last_name', $user->last_name) }}"
|
|
class="mt-1 focus:ring-blue-500 focus:border-blue-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md @error('last_name') border-red-500 @enderror"
|
|
required>
|
|
@error('last_name')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<!-- Phone Field -->
|
|
<div class="col-span-6 sm:col-span-3">
|
|
<label for="phone" class="block text-sm font-medium text-gray-700">
|
|
{{ __('profile.phone') }}
|
|
</label>
|
|
<input type="tel" name="phone" id="phone" value="{{ old('phone', $user->phone) }}"
|
|
class="mt-1 focus:ring-blue-500 focus:border-blue-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md @error('phone') border-red-500 @enderror"
|
|
required>
|
|
@error('phone')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Address Field -->
|
|
<div class="col-span-6 mt-6">
|
|
<label for="address" class="block text-sm font-medium text-gray-700">
|
|
{{ __('profile.address') }}
|
|
</label>
|
|
<textarea name="address" id="address" rows="3" class="mt-1 focus:ring-blue-500 focus:border-blue-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md @error('address') border-red-500 @enderror">{{ old('address', $user->address) }}</textarea>
|
|
@error('address')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
@if (session('status') == 'profile-updated')
|
|
<div class="col-span-6 mt-4 bg-green-50 border border-green-200 rounded-md p-4">
|
|
<p class="text-sm text-green-800">{{ __('profile.updated_success') }}</p>
|
|
</div>
|
|
@endif
|
|
|
|
<div class="flex justify-end mt-6">
|
|
<button type="submit"
|
|
class="bg-blue-600 hover:bg-blue-700 text-white font-medium py-2 px-4 rounded-md transition duration-300">
|
|
{{ __('profile.save') }}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Password Update Section -->
|
|
<div class="mt-8 bg-white shadow overflow-hidden sm:rounded-lg">
|
|
<div class="px-4 py-5 sm:px-6">
|
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
|
{{ __('profile.password') }}
|
|
</h3>
|
|
<p class="mt-1 max-w-2xl text-sm text-gray-500">
|
|
{{ __('profile.update_password') }}
|
|
</p>
|
|
</div>
|
|
<div class="border-t border-gray-200 px-4 py-5 sm:p-6">
|
|
<form method="POST" action="{{ route('profile.update-password') }}">
|
|
@csrf
|
|
@method('PATCH')
|
|
|
|
<!-- Current Password -->
|
|
<div class="mb-4">
|
|
<label for="current_password" class="block text-sm font-medium text-gray-700">
|
|
{{ __('profile.current_password') }}
|
|
</label>
|
|
<input type="password" name="current_password" id="current_password" required
|
|
class="mt-1 focus:ring-blue-500 focus:border-blue-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md @error('current_password') border-red-500 @enderror">
|
|
@error('current_password')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<!-- New Password -->
|
|
<div class="mb-4">
|
|
<label for="password" class="block text-sm font-medium text-gray-700">
|
|
{{ __('auth.password') }}
|
|
</label>
|
|
<input type="password" name="password" id="password" required
|
|
class="mt-1 focus:ring-blue-500 focus:border-blue-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md @error('password') border-red-500 @enderror">
|
|
@error('password')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<!-- Confirm New Password -->
|
|
<div class="mb-6">
|
|
<label for="password_confirmation" class="block text-sm font-medium text-gray-700">
|
|
{{ __('auth.confirm_password') }}
|
|
</label>
|
|
<input type="password" name="password_confirmation" id="password_confirmation" required
|
|
class="mt-1 focus:ring-blue-500 focus:border-blue-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md">
|
|
</div>
|
|
|
|
<div class="flex justify-end">
|
|
<button type="submit"
|
|
class="bg-blue-600 hover:bg-blue-700 text-white font-medium py-2 px-4 rounded-md transition duration-300">
|
|
{{ __('profile.update_password') }}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection |