*/ public static function make(): array { return [ ID::make()->hide(), Text::make(__('ID'), 'unique_id'), DateTime::make(__('Created at'), 'created_at') ->turkmenDateTime(), 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'), [ NovaInputmask::make(__('Card number'), 'card_number') ->mask('9999 9999 9999 9999') ->storeRawValue(), Select::make(__('Card').' '.__('Expiration month'), 'card_month') ->options(DateHelperRepository::staticNumberMonths()), Select::make(__('Card').' '.__('Expiration year'), 'card_year') ->options(DateHelperRepository::staticNumberYears()) ]), 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', $model->customer_name, $model->customer_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(), ]), new Panel(__('Passport'), [ Select::make(__('Passport serie'), 'passport_serie') ->displayUsingLabels() ->options(PassportRepo::values()), Number::make(__('Passport id'), 'passport_id'), 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'), ]), ]; } }