components([ Section::make('Fuel Types') ->schema([ TextInput::make('features.fuel_types.max') ->label('Max fuel types') ->helperText('Leave blank for unlimited.') ->numeric() ->integer() ->minValue(1) ->nullable(), ]), Section::make('Email') ->columns(2) ->schema([ Toggle::make('features.email.enabled') ->label('Enabled'), Select::make('features.email.frequency') ->label('Frequency') ->options([ 'weekly_digest' => 'Weekly digest', 'daily' => 'Daily', 'triggered' => 'Triggered', ]), ]), Section::make('Push') ->columns(2) ->schema([ Toggle::make('features.push.enabled') ->label('Enabled'), Select::make('features.push.frequency') ->label('Frequency') ->options([ 'none' => 'None (disabled)', 'daily' => 'Daily', 'triggered' => 'Triggered', ]), ]), Section::make('WhatsApp') ->columns(3) ->schema([ Toggle::make('features.whatsapp.enabled') ->label('Enabled'), TextInput::make('features.whatsapp.daily_limit') ->label('Daily limit') ->numeric() ->integer() ->minValue(0) ->required(), TextInput::make('features.whatsapp.scheduled_updates') ->label('Scheduled updates per day') ->numeric() ->integer() ->minValue(0) ->required(), ]), Section::make('SMS') ->columns(2) ->schema([ Toggle::make('features.sms.enabled') ->label('Enabled'), TextInput::make('features.sms.daily_limit') ->label('Daily limit') ->numeric() ->integer() ->minValue(0) ->required(), ]), Section::make('Features') ->schema([ Toggle::make('features.ai_predictions') ->label('AI predictions'), Toggle::make('features.price_threshold') ->label('Price threshold alerts'), Toggle::make('features.score_alerts') ->label('Score change alerts'), ]), ]); } }