/home/bdqbpbxa/api-uniferx.goodface.com.ua/app/Nova/Layouts/Resources/CropLayout.php
<?php

namespace App\Nova\Layouts\Resources;

use Acme\MultilangText\MultilangText;
use Acme\MultilangTextarea\MultilangTextarea;
use App\Models\Country;
use App\Models\Language;
use App\Models\Product;
use Laravel\Nova\Fields\BooleanGroup;
use Laravel\Nova\Fields\HasOne;
use Laravel\Nova\Fields\Select;
use Whitecube\NovaFlexibleContent\Flexible;
use Whitecube\NovaFlexibleContent\Layouts\Layout;

class CropLayout extends Layout
{
    /**
     * The layout's unique identifier
     *
     * @var string
     */
    protected $name = 'title';

    /**
     * The displayed title
     *
     * @var string
     */
    protected $title = 'Nutrition program';

//    protected $limit = 1;

    /**
     * Get the fields displayed by the layout.
     *
     * @return array
     */
    public function fields()
    {
        $countries = Country::query()->get();
        $languages = Language::query()->get();
        $uploadLink = route('nova.fields.upload.image');
        $products = Product::query()->where('is_enabled', true)->get();
        $options = [];
        foreach ($products as $product) {
            $options[$product->id] = $product->system_name;
        }


        return [
            Select::make('Product')->options($options)->displayUsingLabels()->required(),
            MultilangTextarea::make(__('Description'), 'detailed_data')
                ->languages($languages)
                ->countries($countries)
                ->uploadLink($uploadLink)
                ->fullWidth(),
            MultilangText::make(__('Purpose of processing - title'), 'purpose_processing')
                ->fullWidth()
                ->languages($languages)
                ->countries($countries)
                ->uploadLink($uploadLink),
            Flexible::make('', 'data')
                ->addLayout(CropPurposeLayout::class)
                ->fullWidth(),
        ];
    }
}