import 'package:bogui/riverpods/openai.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; class CustomSlider extends ConsumerWidget { const CustomSlider({ Key? key, required this.parameter, required this.nameParameter, this.maxValue = 1, }) : super(key: key); final StateProvider parameter; final String nameParameter; final double maxValue; @override Widget build(BuildContext context, WidgetRef ref) { return SizedBox( width: 220, child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.center, children: [ Row( children: [ const SizedBox(width: 5), Text(nameParameter), const Spacer(), Text(ref.watch(parameter).toString()), const SizedBox(width: 5), ], ), const SizedBox(height: 15), SliderTheme( data: const SliderThemeData( thumbShape: RoundSliderThumbShape(enabledThumbRadius: 2), overlayShape: RoundSliderThumbShape(enabledThumbRadius: 5), trackHeight: 2, ), child: Slider( value: ref.watch(parameter), max: maxValue, onChanged: (double value) { ref.read(parameter.notifier).state = truncateDouble(value, 1); }, activeColor: Colors.grey[400], inactiveColor: Colors.grey[700], ), ), ]), ); } }