*/ public static function make(CardOrder $resource): array { return [ ID::make()->hide(), Text::make(__('ID'), 'unique_id'), DateTime::make(__('Created at'), 'created_at') ->turkmenDateTime(), Boolean::make(__('Paid'), 'paid'), 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'), BelongsTo::make(__('Created by').': ', 'user', User::class), new Panel(__('Card'), [ BelongsTo::make(__('Reason for issuing the card'), 'cardState', CardState::class), BelongsTo::make(__('Card type'), 'cardType', CardType::class), ]), new Panel(__('Location'), [ Select::make(__('Region'), 'region') ->displayUsingLabels() ->options(RegionRepo::values()), BelongsTo::make(__('Branch'), 'branch', Branch::class), ]), new Panel(__('Personal data'), [ Text::make( __('Full Name'), fn ($model) => sprintf( '%s %s%s %s', $model->customer_name, $model->customer_surname, $model->old_surname ? sprintf('(%s)', $model->old_surname) : '', $model->customer_patronic_name ) ), Date::make(__('Date of birth'), 'born_at') ->toTurkmenFormat(), NovaInputmask::make(__('Phone'), 'phone') ->mask('+(\\9\\93)-99-99-99-99') ->storeRawValue(), NovaInputmask::make(__('Phone additional'), 'phone_additional') ->mask('+(\\9\\93)-99-99-99-99') ->storeRawValue(), Select::make(__('Citizenship'), 'citizenship') ->displayUsingLabels() ->searchable() ->options(CountryRepo::values()), Text::make(__('Residence (passport)'), 'passport_address'), Text::make(__('Current Residence'), 'real_address'), Text::make(__('Work location and your position'), 'job_location'), ]), new Panel(__('Passport files'), [ Image::make(__('Passport (page 1)'), 'passport_one'), Image::make(__('Passport (page 2-3)'), 'passport_two'), Image::make(__('Passport (page 8-9)'), 'passport_three'), Image::make(__('Passport (page 32)'), 'passport_four'), ]), ]; } }