<?php

namespace App\Filament\Admin\Resources\Lessons\Schemas;

use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\Toggle;
use Filament\Schemas\Schema;

class LessonForm
{
    public static function configure(Schema $schema): Schema
    {
        return $schema
            ->components([
                Select::make('module_id')
                    ->relationship('module', 'title')
                    ->required(),
                TextInput::make('title')
                    ->required(),
                TextInput::make('slug')
                    ->required(),
                TextInput::make('type')
                    ->required()
                    ->default('text'),
                Textarea::make('content')
                    ->columnSpanFull(),
                TextInput::make('video_url')
                    ->url(),
                TextInput::make('content_pdf'),
                TextInput::make('duration_seconds')
                    ->required()
                    ->numeric()
                    ->default(0),
                Toggle::make('is_free_preview')
                    ->required(),
                TextInput::make('order_index')
                    ->required()
                    ->numeric()
                    ->default(0),
                Textarea::make('metadata')
                    ->columnSpanFull(),
                Select::make('vocabularies')
                    ->relationship('vocabularies', 'word')
                    ->multiple()
                    ->searchable()
                    ->preload()
                    ->label('Focus Vocabularies'),
            ]);
    }
}
