<?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(),
];
}
}