<?php

namespace App\Filament\Tenant\Resources\PartResource\RelationManagers;

use Filament\Actions;
use Filament\Forms;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Schemas\Schema;
use Filament\Tables;
use Filament\Tables\Table;

class CrossRefsRelationManager extends RelationManager
{
    protected static string $relationship = 'crossRefs';

    protected static ?string $title = null;

    public static function getTitle(\Illuminate\Database\Eloquent\Model $ownerRecord, string $pageClass): string
    {
        return __('Coduri cross (OEM/echivalente)');
    }

    public function form(Schema $schema): Schema
    {
        return $schema->components([
            Forms\Components\TextInput::make('cross_article')->label(__('Cod echivalent'))->required()->maxLength(64),
            Forms\Components\TextInput::make('brand')->label(__('Brand'))->maxLength(64),
        ]);
    }

    public function table(Table $table): Table
    {
        return $table
            ->recordTitleAttribute('cross_article')
            ->columns([
                Tables\Columns\TextColumn::make('cross_article')->label(__('Cod'))->searchable(),
                Tables\Columns\TextColumn::make('brand')->placeholder('—'),
            ])
            ->headerActions([
                Actions\CreateAction::make()
                    ->label(__('Adaugă cod cross'))
                    ->modalHeading(__('Adaugă cod echivalent')),
            ])
            ->actions([
                Actions\EditAction::make()->modalHeading(__('Editează cod echivalent')),
                Actions\DeleteAction::make(),
            ])
            ->emptyStateHeading(__('Niciun cod cross'))
            ->emptyStateDescription(__('Adaugă coduri echivalente OEM/aftermarket ca să fie găsite în căutarea din magazin.'));
    }
}
