Forms\Components\Select::make('type')
->label('Contest Type')
->options([
'Contest' => 'Contest (single game)',
'Tournament' => 'Tournament',
])
->default('Contest')
->live()
->afterStateUpdated(fn (Forms\Components\Select $component) =>
$component->getContainer()
->getComponent('dynamicTypeFields')
->getChildComponentContainer()
->fill()
)
->visibleOn('create'),
Forms\Components\Grid::make(2)
->schema(fn (Get $get): array =>
match ($get('type')) {
'Tournament' => [
Forms\Components\Fieldset::make() //Remove this and it works
->schema([
Forms\Components\TextInput::make('name')
->required(),
])
],
default => [
Forms\Components\DateTimePicker::make('start_at')
->label('Date'),
],
}
)
->key('dynamicTypeFields'),
Forms\Components\Select::make('type')
->label('Contest Type')
->options([
'Contest' => 'Contest (single game)',
'Tournament' => 'Tournament',
])
->default('Contest')
->live()
->afterStateUpdated(fn (Forms\Components\Select $component) =>
$component->getContainer()
->getComponent('dynamicTypeFields')
->getChildComponentContainer()
->fill()
)
->visibleOn('create'),
Forms\Components\Grid::make(2)
->schema(fn (Get $get): array =>
match ($get('type')) {
'Tournament' => [
Forms\Components\Fieldset::make() //Remove this and it works
->schema([
Forms\Components\TextInput::make('name')
->required(),
])
],
default => [
Forms\Components\DateTimePicker::make('start_at')
->label('Date'),
],
}
)
->key('dynamicTypeFields'),