components([ Schemas\Components\Section::make('Identificare') ->columns(2) ->schema([ Forms\Components\Select::make('client_id') ->label('Proprietar') ->options(fn () => Client::pluck('name', 'id')) ->searchable() ->required(), Forms\Components\TextInput::make('plate')->label('Nr. înmatriculare')->maxLength(16), Forms\Components\TextInput::make('make')->label('Marca')->required()->maxLength(60), Forms\Components\TextInput::make('model')->required()->maxLength(60), Forms\Components\TextInput::make('year')->numeric()->minValue(1950)->maxValue(2100), Forms\Components\TextInput::make('vin')->maxLength(32), ]), Schemas\Components\Section::make('Tehnice') ->columns(2) ->schema([ Forms\Components\TextInput::make('engine')->maxLength(60), Forms\Components\TextInput::make('gearbox')->maxLength(60), Forms\Components\Select::make('fuel') ->options([ 'Benzină' => 'Benzină', 'Diesel' => 'Diesel', 'Hybrid' => 'Hybrid', 'EV' => 'Electric', 'GPL' => 'GPL', 'GNC' => 'GNC', ]), Forms\Components\TextInput::make('mileage')->label('Kilometraj')->numeric()->default(0), Forms\Components\TextInput::make('color')->maxLength(40), ]), Forms\Components\Textarea::make('notes')->label('Notițe')->columnSpanFull()->rows(3), ]); } public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('plate')->label('Nr.')->searchable(), Tables\Columns\TextColumn::make('make')->sortable(), Tables\Columns\TextColumn::make('model'), Tables\Columns\TextColumn::make('year'), Tables\Columns\TextColumn::make('client.name')->label('Proprietar')->searchable(), Tables\Columns\TextColumn::make('vin')->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('mileage')->label('Km')->numeric(), Tables\Columns\TextColumn::make('created_at')->date()->sortable(), ]) ->actions([ Actions\EditAction::make(), Actions\DeleteAction::make(), ]) ->defaultSort('created_at', 'desc'); } public static function getPages(): array { return [ 'index' => Pages\ListVehicles::route('/'), 'create' => Pages\CreateVehicle::route('/create'), 'edit' => Pages\EditVehicle::route('/{record}/edit'), ]; } }