components([ Hidden::make('user_id')->default(Auth::id()), Section::make(__('Order details')) ->columnSpan(4) ->columns(4) ->disabled(fn (string $context): bool => FilamentPermissionRepository::forClients()) ->components([ Select::make('status') ->label(__('Status')) ->options(OrderStatusRepository::statusValues()) ->default(OrderStatusRepository::defaultStatus()) ->native(false) ->columnSpan(2), Toggle::make('paid') ->label(sprintf('%s (%s)', __('Paid'), __('This month'))) ->inline(false) ->disabled(true) ->onIcon(Heroicon::CheckCircle) ->offIcon(Heroicon::XCircle) ->onColor('success') ->offColor('danger'), RichEditor::make('notes') ->label(__('Bellik')) ->columnSpanFull(), ]), Wizard::make([ // Step::make(__('Order type and bank')) // ->schema([ // Fieldset::make(__('Order type')) // ->schema([ // Select::make('type') // ->label(__('Type')) // ->options(VisaMasterPaymentOrder::applicationTypes()) // ->native(false) // ->required(), // ]), // Fieldset::make(__('Location')) // ->schema([ // Select::make('region') // ->label(__('Region')) // ->options(RegionRepository::values()) // ->live() // ->afterStateUpdated(fn (callable $set) => $set('branch_id', null)) // ->required(), // Select::make('branch_id') // ->label(__('Branch')) // ->relationship('branch', 'name', function ($query, callable $get) { // $query->orderByTranslation('name'); // $region = $get('region'); // if ($region) { // $query->where('region', $region); // } // }) // ->required(), // ]), // ]), Step::make(__('Payment sender data')) ->columns(8) ->schema([ TextInput::make('sender_full_name') ->label(__('Name, Surname, Patronic name')) ->columnSpan(4) ->default(user()->fullName()) ->required(), FusedGroup::make([ Select::make('sender_passport_serie') ->label(__('Passport serie')) ->options(TurkmenPassportRepository::values()) ->native(false) ->required() ->columnSpan(1) ->default(user()->getOption('passport_serie')), TextInput::make('sender_passport_number') ->label(__('Passport number')) ->required() ->columnSpan(1) ->mask('999999') ->default(user()->getOption('passport_id')), ]) ->columnSpan(2) ->label(__('Passport serie and number')) ->columns(2), TextInput::make('phone') ->label(__('Phone')) ->required() ->mask('99 99 99 99') ->prefix('+993') ->rules([ new PhoneNumberVerificationRule, ]) ->columnSpan(2) ->default(user()->phone), TextInput::make('sender_deposit_account') ->label(__('Deposit account')) ->columnSpan(4) ->required(), TextInput::make('address') ->label(__('Address')) ->columnSpan(4) ->required(), ]), Step::make(__('Payee information')) ->columns(8) ->schema([ TextInput::make('reciever_full_name') ->label(__('Name, Surname, Patronic name')) ->columnSpan(5) ->required(), FusedGroup::make([ Select::make('reciever_passport_serie') ->label(__('Passport serie')) ->options(TurkmenPassportRepository::values()) ->native(false) ->required() ->columnSpan(1), TextInput::make('reciever_passport_number') ->label(__('Passport number')) ->required() ->columnSpan(1) ->mask('999999'), ]) ->columnSpan(3) ->label(__('Passport serie and number')) ->columns(2), ]), ])->columnSpanFull()->skippable(), ]); } }