label(__('Make payment')) ->icon('heroicon-o-credit-card') ->modal() ->schema(function () { $usd_to_tmt = floatval(CurrencyRate::where('currency_from', 'USD')->where('currency_to', 'TMT')->first('value')?->value); $payment_warning_text = VisaMasterSettings::where('name', 'payment_warning_text')->first(); if (! $usd_to_tmt || ! $payment_warning_text) { return []; } $bank_fee = 20; $gbus_fee = 3; $max_value = number_format($usd_to_tmt * 250, 2); return [ Section::make('Customer Information') ->schema([ TextEntry::make('usd_to_tmt') ->extraAttributes(['class' => 'uppercase tracking-wide font-bold text-xs']) ->label(sprintf('1 USD = %s TMT', $usd_to_tmt)), TextEntry::make('bank_fee') ->extraAttributes(['class' => 'uppercase tracking-wide font-bold text-xs']) ->label(sprintf('Bankyň tutumy: %s TMT', $bank_fee)), TextEntry::make('gbus_fee') ->extraAttributes(['class' => 'uppercase tracking-wide font-bold text-xs']) ->label(sprintf('GBÜS tutumy: %s TMT', $gbus_fee)), ]), TextInput::make(__('Töleg aý'), 'month') ->fullWidth() ->readonly() ->default(today()->translatedFormat('F')), ]; // Text::make(sprintf('%s (%s)', __('Töleg möçberi'), __('TMT')), 'payment_amount') // ->fullWidth() // ->required() // ->rules('required', 'numeric', 'max:'.$max_value) // ->help("Iň ýokary möçberi: {$max_value} TMT"), // Text::make(__('USD ekwalendi'), 'usd_rate') // ->fullWidth() // ->readonly() // ->dependsOn('payment_amount', function (Text $field, NovaRequest $request, FormData $formData) use ($usd_to_tmt) { // $payment_amount = $formData->get('payment_amount'); // if ($payment_amount) { // $field->setValue(number_format($payment_amount / $usd_to_tmt, 2, '.', '')); // } else { // $field->setValue(''); // } // }), // Hidden::make('usd_payment') // ->dependsOn('payment_amount', function (Hidden $field, NovaRequest $request, FormData $formData) use ($usd_to_tmt) { // $payment_amount = $formData->get('payment_amount'); // if ($payment_amount) { // $field->setValue(number_format($payment_amount / $usd_to_tmt, 2, '.', '')); // } else { // $field->setValue(''); // } // }), // Text::make(__('Jemi (TMT)'), 'total_amount') // ->fullWidth() // ->readonly() // ->dependsOn('payment_amount', function ($field, $request, $formData) { // $payment_amount = $formData->get('payment_amount'); // if ($payment_amount) { // $field->setValue( // floatval(number_format($payment_amount, 2, '.', '')) + 23 // ); // } else { // $field->setValue(''); // } // }), // Heading::make(Blade::render(<< // // // // $payment_warning_text->value // // HTML))->asHtml(), // ]; }) ->action(function (array $data, VisaMasterPaymentOrder $record): void { // $record->author()->associate($data['authorId']); // $record->save(); }) ->modalFooterActions([]); } }