96 lines
3.7 KiB
PHP
96 lines
3.7 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Admin\Resources\Languages\Schemas;
|
|
|
|
use Filament\Forms\Components\Checkbox;
|
|
use Filament\Forms\Components\Select;
|
|
use Filament\Forms\Components\TextInput;
|
|
use Filament\Schemas\Components\Grid;
|
|
use Filament\Schemas\Components\Section;
|
|
use Illuminate\Support\Str;
|
|
|
|
class LanguageForm
|
|
{
|
|
public static function schema(): array
|
|
{
|
|
return [
|
|
Section::make(__('language.basic_information'))
|
|
->schema([
|
|
Grid::make(2)->schema([
|
|
TextInput::make('code')
|
|
->label(__('language.code'))
|
|
->required()
|
|
->unique(ignoreRecord: true)
|
|
->maxLength(10)
|
|
->placeholder('tr, en, de')
|
|
->helperText(__('language.code_helper'))
|
|
->columnSpan(1),
|
|
|
|
TextInput::make('flag')
|
|
->label(__('language.flag'))
|
|
->maxLength(10)
|
|
->placeholder('🇹🇷')
|
|
->helperText(__('language.flag_helper'))
|
|
->columnSpan(1),
|
|
]),
|
|
|
|
Grid::make(2)->schema([
|
|
TextInput::make('name')
|
|
->label(__('language.name'))
|
|
->required()
|
|
->maxLength(100)
|
|
->placeholder('Turkish')
|
|
->helperText(__('language.name_helper'))
|
|
->columnSpan(1),
|
|
|
|
TextInput::make('native_name')
|
|
->label(__('language.native_name'))
|
|
->required()
|
|
->maxLength(100)
|
|
->placeholder('Türkçe')
|
|
->helperText(__('language.native_name_helper'))
|
|
->columnSpan(1),
|
|
]),
|
|
|
|
Grid::make(2)->schema([
|
|
Select::make('direction')
|
|
->label(__('language.direction'))
|
|
->options([
|
|
'ltr' => __('language.direction_ltr'),
|
|
'rtl' => __('language.direction_rtl'),
|
|
])
|
|
->default('ltr')
|
|
->required()
|
|
->columnSpan(1),
|
|
|
|
TextInput::make('sort_order')
|
|
->label(__('language.sort_order'))
|
|
->numeric()
|
|
->default(0)
|
|
->helperText(__('language.sort_order_helper'))
|
|
->columnSpan(1),
|
|
]),
|
|
]),
|
|
|
|
Section::make(__('language.settings'))
|
|
->schema([
|
|
Grid::make(3)->schema([
|
|
Checkbox::make('is_active')
|
|
->label(__('language.is_active'))
|
|
->default(true)
|
|
->helperText(__('language.is_active_helper'))
|
|
->columnSpan(1),
|
|
|
|
Checkbox::make('is_default')
|
|
->label(__('language.is_default'))
|
|
->default(false)
|
|
->helperText(__('language.is_default_helper'))
|
|
->columnSpan(1)
|
|
->disabled(fn ($record) => $record && $record->is_default),
|
|
]),
|
|
]),
|
|
];
|
|
}
|
|
}
|
|
|