<?php

namespace App\Filament\Pages\Auth;

use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Pages\Auth\EditProfile as BaseEditProfile;

class EditProfile extends BaseEditProfile
{
    public function form(Form $form): Form
    {
        return $form
            ->schema([
                Section::make('عکس پروفایل')
                    ->schema([
                        FileUpload::make('avatar')
                            ->label('عکس پروفایل')
                            ->avatar()
                            ->image()
                            ->imageEditor()
                            ->circleCropper()
                            ->directory('avatars')
                            ->webp()
                            ->alignCenter(),
                    ]),

                Section::make('اطلاعات کاربری')
                    ->columns(2)
                    ->schema([
                        $this->getNameFormComponent()
                            ->label('نام و نام خانوادگی')
                            ->columnSpanFull(),
                        TextInput::make('job_title')
                            ->label('سمت سازمانی')
                            ->disabled()
                            ->dehydrated(false)
                            ->helperText('سمت توسط مدیر سیستم تعیین می‌شود و اینجا قابل تغییر نیست.'),
                        TextInput::make('phone')->label('شماره تماس')->tel(),
                        $this->getEmailFormComponent()
                            ->label('ایمیل')
                            ->columnSpanFull(),
                    ]),

                Section::make('تغییر رمز عبور')
                    ->description('در صورت تمایل به تغییر رمز، فیلدهای زیر را پر کنید.')
                    ->columns(1)
                    ->schema([
                        $this->getPasswordFormComponent()->columnSpanFull(),
                        $this->getPasswordConfirmationFormComponent()->columnSpanFull(),
                    ]),
            ]);
    }
}
