hideFromDetail(), Hidden::make('user_id') ->default(auth()->id()) ->hideWhenUpdating(), Text::make(__('ID'), 'unique_id') ->exceptOnForms(), Select::make(__('Status'), 'status') ->displayUsingLabels() ->searchable() ->options(OrderRepo::statusValues()) ->default(OrderRepo::defaultStatus()) ->fullWidth() ->hideFromDetail() ->rules('required') ->canSeeWhen('systemUser', $resource), Badge::make(__('Status'), 'status') ->map(OrderRepo::statusClasses()) ->addTypes([ 'primary' => 'dark:bg-gray-900 bg-gray-600 text-white', ]) ->labels(OrderRepo::statusValues()) ->withIcons() ->icons(OrderRepo::statusIcons()), Text::make(__('Note'), 'notes') ->fullWidth() ->canSeeWhen('systemUser', $resource), ]), new Panel(__('Location'), [ Select::make(__('Region'), 'region') ->fullWidth() ->displayUsingLabels() ->searchable() ->options(RegionRepo::values()) ->default(RegionRepo::default()) ->rules('required') ->sortable(), BelongsTo::make(__('Branch'), 'branch', Branch::class), ]), new Panel(__('Personal data'), [ Text::make(__('Passport name'), 'passport_name') ->fullWidth() ->rules('required', 'string', 'max:255'), Text::make(__('Passport surname'), 'passport_surname') ->fullWidth() ->rules('required', 'string', 'max:255'), NovaInputmask::make(__('Phone'), 'phone') ->fullWidth() ->phonenumber('TM') ->rules('required', 'max:255') ->hideFromIndex(), Text::make(__('Email'), 'email') ->fullWidth() ->rules('nullable', 'max:255', 'email') ->hideFromIndex(), Text::make(__('Current Residence'), 'address') ->fullWidth() ->rules('required', 'string', 'max:255') ->hideFromIndex(), ]), new Panel(__('Payment'), [ SimpleRepeatable::make(__('Payment sender data'), 'sender_datas', [ Select::make(__('Passport serie'), 'passport_serie') ->displayUsingLabels() ->searchable() ->options(PassportRepo::values()) ->rules('required') ->sortable(), NovaInputmask::make(__('Passport number'), 'passport_number') ->mask('999999') ->rules('required', 'max:255'), Text::make( name: sprintf('%s %s %s', __('Name'), __('Surname'), __('Patronic name')), attribute: 'full_name' ) ->rules('required', 'max:255'), ])->minRows(1)->rules('required'), SimpleRepeatable::make(__('Payee information'), 'payment_reciever', [ Select::make(__('Passport serie'), 'passport_serie') ->displayUsingLabels() ->searchable() ->options(PassportRepo::values()) ->rules('required') ->sortable(), NovaInputmask::make(__('Passport number'), 'passport_number') ->mask('999999') ->rules('required', 'max:255'), Text::make( name: sprintf('%s %s %s', __('Name'), __('Surname'), __('Patronic name')), attribute: 'full_name' )->rules('required', 'max:255'), ])->maxRows(1)->minRows(1)->rules('required'), ]), new Panel(__('Reciver files'), VisaMasterPaymentOrderFileFields::reciverFiles()), new Panel(__('Sender files'), VisaMasterPaymentOrderFileFields::senderFiles()), ]; } }