/home/bdqbpbxa/dev-subdomains/api-uniferx.goodface.com.ua/app/Nova/Layouts/Pages/HomepageLayout.php
<?php
namespace App\Nova\Layouts\Pages;
use Acme\MultilangText\MultilangText;
use Acme\MultilangTextarea\MultilangTextarea;
use App\Models\Country;
use App\Models\Language;
use Illuminate\Support\Facades\Storage;
use Laravel\Nova\Fields\Heading;
use Laravel\Nova\Fields\Image;
use Laravel\Nova\Fields\Text;
use Whitecube\NovaFlexibleContent\Layouts\Layout;
class HomepageLayout extends Layout
{
/**
* The layout's unique identifier
*
* @var string
*/
protected $name = 'title';
/**
* The displayed title
*
* @var string
*/
protected $title = 'Content';
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');
return [
Heading::make(__('First screen')),
Text::make('Title', 'data->first_screen_title')->rules(['max:255']),
Image::make(__('Title background'), 'data->fs_title_background') ->disk('public')
->disableDownload()->deletable()->prunable()->path('posts')
->preview(function ($value, $disk) { return $value ? Storage::disk($disk)->url($value) : null; })
->thumbnail(function ($value, $disk) { return $value ? Storage::disk($disk)->url($value) : null; }),
MultilangText::make('Text', 'data->first_screen_name')
->fullWidth()
->languages($languages)
->countries($countries)
->uploadLink($uploadLink),
MultilangTextarea::make(__('Description'), 'data->description')
->languages($languages)
->countries($countries)
->uploadLink($uploadLink)
->fullWidth(),
Heading::make(__('Banner')),
Text::make('Text', 'data->banner_title')->rules(['max:255']),
Text::make('Card 1', 'data->banner_card_1')->rules(['max:255']),
Text::make('Card 2', 'data->banner_card_2')->rules(['max:255']),
Text::make('Card 3', 'data->banner_card_3')->rules(['max:255']),
Text::make('Card 4', 'data->banner_card_4')->rules(['max:255']),
Heading::make(__('About')),
Text::make('Title', 'data->about_title')->rules(['max:255']),
Text::make('Text', 'data->about_text')->rules(['max:255']),
Text::make('Button text', 'data->about_button')->rules(['max:255']),
];
}
}